Skip to content

Instantly share code, notes, and snippets.

#ifdef _WIN64
typedef unsigned __int64 STBP_UINTPTR;
#else
typedef unsigned int STBP_UINTPTR;
#endif
// WINUSERAPI => __declspec(import)
// WINAPI => __stdcall
// HDC,HGLRC,etc => void *
// LONG_PTR, INTPTR, LRESULT => ptrdiff_t
NOTE: I'm not necessarily advocating this as the way to make your compiler go fast. Priority 1 is to make
full recompilation as fast as possible, ideally on the order of 100 MB/s per core with everything in memory.
Once you get it that fast, there's probably no need for incremental techniques, even if you want to
recompile entire files in real-time as the programmer types in code. But these incremental algorithms are
interesting computer science, so you should learn about them, and they are certainly applicable elsewhere.
After watching an interview with Anders Hejlsberg last year in which he mentioned the incremental
compilation techniques they used in their new C# and TypeScript compilers, I spent a bit of time studying
their open source code (and it's great that MS now makes this stuff available for people to peruse).
@bishboria
bishboria / springer-free-maths-books.md
Last active June 8, 2024 06:39
Springer made a bunch of books available for free, these were the direct links