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.
elle
Since the beginning of Handmade Hero, I've been modifying my platform code little by little to ac…
»
Mārtiņš Možeiko
You are right: 1 2 3 4 5 6 7 8 9 10 11 12 13#include <stdint.h> #include <stdl…
»
Casey Muratori
Pseudonym, I do not think you are hallucinating here - I think it's just that GetSystemInfo() ret…
»
Casey Muratori
rathersleepy It is true that pre-C++11 on the Visual Studio compiler, volatile provided both atom…
»
Miguel Lechón
Here are the relevant sections of the C++11 standard, page 145: [ Note: volatile is a hint to t…
»
Patrick Lahey
Hi Casey, It is true that pre-C++11 on the Visual Studio compiler, volatile provided both atomic…
»
AndrewJDR
I was able to set up CLion to debug an external executable without much trouble. I've written abo…
»
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 "…
»
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 under…
»
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 Kladdehelvete, did you read all the text I posted or just the first sentence? MMozeiko:…
»
Jari Komppa
Allan Bowhill It totally makes sense that if Hyperthreads were used this way, they would have to …
»
Andrew Bromage
mmozeiko 4096 on Windows 8.1 64-bit (16GB total memory, if that changes anything). And also 4096 …
»
noxy_key
OK, I see now. You're talking about the underlying contention for hardware resources between hard…
»
Mārtiņš Možeiko
Pseudonym73 Can someone call GetSystemInfo() and check please? 4096 on Windows 8.1 64-bit (16GB …
»
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 platfo…
»
Casey Muratori
Allan Bowhill Also, what is IACA? https://software.intel.com/en-us/.../intel-architecture-code-an…
»
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 co…
»
Andrew Bromage
mmozeiko You have working TLS also on Linux, OSX, Android and iOS by using pthread_key_t. You mig…
»
Andrew Bromage
mmozeiko VirtualAlloc will return memory that begins on page boundary (typically 4KB). I don't ha…
»
Mārtiņš Možeiko
Decrementing semaphore happens only on WaitForsingleObject function call. If InterlockedCompareEx…
»
elle
Yes, I understand, but if a thread fails to get an entry, now, it will also decrement the semapho…
»
Luiz Heringer
Hey guys, I figured it out. For those who got the same bug. On the GameOutputSound function, I wa…
»
Mārtiņš Možeiko
But as far as I understand, that means that when multiple threads start the same entry simultane…
»
Matthew Carr
[quote=elle]Right now in the doNextWorkQueueEntry function, we first check if nextEntry < entr…
»