3 ms·
You can avoid the five levels of indirection by using "unreal mode". I just wish it were possible to do with 64-bit code.
by jart 4y ago
You can avoid the five levels of indirection by using "unreal mode". I just wish it were possible to do with 64-bit code.
- Const-me 4y agoThe hardware and modern OSes support large 2MB pages, and huge 1GB pages. They trim 1 or 2 levels from that tree, respectively. With huge pages a single node of that tree addresses 512GB of memory, for most practical applications you’re pretty much guaranteed to translate these addresses without TLB cache misses. There’re some limitations about them, on Windows the process needs a special security privilege, also these pages are never swapped to a page file. But still, AFAIK when programmers really need the performance, like in a database engine, they do use these things when available.