We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.
Casey Muratori
Not sure how to say this any more forcefully: . Correct. All x64 processors ensure that if a wr…
»
Miguel Lechón
Here are the relevant sections of the , page 145: And section 1.9 (page 8 ) states that: And som…
»
Patrick Lahey
Hi Casey, It is true that pre-C++11 on the Visual Studio compiler, volatile provided both atomicit…
»
AndrewJDR
I was able to set up CLion to debug an external executable without much trouble. I've written abou…
»
Casey Muratori
The truth is not actually somewhere in between. The people who think "volatile" has something to …
»
Jari Komppa
Volatile appears to still has the same role as I've always thought it has, to tell the compiler "d…
»
Patrick Lahey
[note - I went a little overboard citing sources but I had fun researching this so I left them in …
»
Mārtiņš Možeiko
@Kladdehelvete - You clearly don't understand hyperthreading. Hyperthreading is about using underu…
»
noxy_key
Another approach would be to simply split a string of SIMD operations into two approximately-same …
»
Ossi Waenerberg
I don't think there's anything that surprising about the results - you're just bound by available …
»
Livet Ersomen Strøm
MMozeiko: Yes. I definitly read everything you post. But we had this discussion before, and as I …
»
Jari Komppa
Or some completely different operation altogether. And if the smart guys who design CPUs see from…
»
Andrew Bromage
Got it. As noted, it's a vague memory from about 2003, NT 4 or Win 2k. It's also possible that on…
»
noxy_key
OK, I see now. You're talking about the underlying contention for hardware resources between hardw…
»
Mārtiņš Možeiko
4096 on Windows 8.1 64-bit (16GB total memory, if that changes anything). And also 4096 on Window…
»
Casey Muratori
My suspicion is that choice of 4k/64k/2mb (Windows also allows 2mb pages nowadays) as a page size …
»
Casey Muratori
Yes, to be more specific, I am talking about "free" access to thread local storage. Every platfor…
»
»
Casey Muratori
The problem is not the register file, it's the work units. For example, the CPU that we're using …
»
noxy_key
I was under the impression there was more than 1 SIMD register set you could work with. If you cou…
»
Andrew Bromage
You might want to try measuring the performance of TLS on those platforms.
»
Andrew Bromage
I don't have a Windows machine handy, but last time I worked in this area, the page size was 64kB…
»
Mārtiņš Možeiko
Decrementing semaphore happens only on WaitForsingleObject function call. If InterlockedCompareExc…
»
elle
Yes, I understand, but if a thread fails to get an entry, now, it will also decrement the semaphor…
»
Luiz Heringer
Hey guys, I figured it out. For those who got the same bug. On the GameOutputSound function, I was…
»
Mārtiņš Možeiko
Yes, but they will try to do it and fail. That's why we use InterlockedCompareExchange instructio…
»
Matthew Carr
I don't have the code in front of me right now, but I believe WeShouldSleep is only set to true i…
»
elle
Right now in the doNextWorkQueueEntry function, we first check if nextEntry < entryCount and if th…
»
Jari Komppa
You're right of course. If the hardware resource doing SIMD operation X is busy, the other hyperth…
»
Miguel Lechón
I started following HMH back in December and my coding style has been rapidly mutating towards Cas…
»