News for hackers. Stuff that matters.
Re:Go as an alternative to Node.js for very fast servers by aaronblohowiak on Wednesday August 14, 2013 @01:42PM (#6213016)
An HTT cpu can still only execute one instruction at a time; there are often instructions that cause the cpu to have idle time (stalled waiting for data) and hyperthreading allows for the cpu to spend that otherwise idle thread making progress on a separate task list. However, this still means that the two scheduled threads are contending for the same execution unit... The parent is suggesting that this contest may cause more of a performance degradation than the advantages that HTT provides, which would be easily resolved with some benchmarking :D
Re:Go as an alternative to Node.js for very fast servers by aaronblohowiak on Wednesday August 14, 2013 @02:42PM (#6213397)
note: the above was a simplification / based on my understand of HTT cpus as of about 2008. apparently things got more complicated in the last 5 years :D The bottom line remains that HTT can cause slowdown in some cases and you should benchmark with it turned off as well.
Re:Go as an alternative to Node.js for very fast servers by thrownaway2424 on Wednesday August 14, 2013 @01:53PM (#6213099)
No, not even close. Each thread on a Haswell CPU, just as an example, has 8 execution ports. Each Haswell core has ten execution units. The CPU can retire way more than one instruction per cycle.
Re:Go as an alternative to Node.js for very fast servers by chad_oliver on Wednesday August 14, 2013 @04:50PM (#6214152)
You are absolutely correct, but you could also afford to be a bit more polite. Sentences like "In other words, you have no idea what the difference is" might be true but they're also a bit rude.
Re:Go as an alternative to Node.js for very fast servers by corresation on Thursday August 15, 2013 @08:06AM (#6217282)
They aren't absolutely correct at all, and aaron was actually close to the money. Thrownaway is fundamentally misrepresenting (or misunderstanding) how threads -- in an operating system sense, and what we are talking to here -- relate to microcode and execution units in a core.
Re:Go as an alternative to Node.js for very fast servers by AsymetricCom on Wednesday August 14, 2013 @02:09PM (#6213189)
In theory
Re:Go as an alternative to Node.js for very fast servers by oofabz on Wednesday August 14, 2013 @02:51PM (#6213456)
It's not just theory, you typically get about 3 instructions per cycle in practice.