5 ms·
But what processor is best for Dwarf Fortress?
by elheffe80 7y ago
But what processor is best for Dwarf Fortress?
- Sephr 7y agoProbably the Mill CPU once the hardware actually exists.
- gautamcgoel 7y agoIs the Mill CPU still happening? Haven't heard about it in a while...
- kinghajj 7y agoThere's activity on the forums, though rare; last posts from about a month ago. But still, Ivan is there dutifully responding to questions. I think interest has just died down a bit until they get more benchmarks (which, to be fair, the first ones just got released! https://millcomputing.com/topic/benchmarks/ https://millcomputing.com/topic/benchmarks/)
- dragontamer 7y agoDwarf Fortress is IIRC mainly limited by RAM latency. So you really should be trying to get 3600 MHz RAM with as tight timings (maybe CL16 timings?) as possible. Dwarf Fortress's simulation is all about pointer-indirection and jumping around memory. The CPU doesn't really do much except wait for RAM most of the time. It takes ~50ns to talk to RAM, but the CPU is clocked at 4GHz (0.25 nanoseconds), giving you an idea of scale. The RAM tightening can bring your latency anywhere from 50ns to 200ns depending on how well you tune your RAM parameters, and depending on chips and stuff. (Servers usually have lots of slow LRDIMM RAM over multiple-sockets that can be 200ns latency or worse). AMD takes their design out of the server-playbook, and seems to have ~100ns main DDR4 RAM Latency. So Dwarf Fortress probably will be faster on Intel i9-9900k (monolithic design with integrated memory controller and 50ns main memory latency).
- d33 7y agoInteresting! Is there a simple way to measure memory latency?
- dragontamer 7y agoCreate 1-billion 32-bit integers numbers between 0 to 1-billion. Knuth shuffle the integers. "Linked list" traverse the integers as follows: //array is full of 1-billion numbers, randomly sorted uint32_t idx = 0; for(int i=0; i<200000000; i++){ idx = array[idx]; // Random traversal } Pull out a stopwatch (or use Linux's "time" functionality). Divide the time by 200000000. You've now measured memory latency.
- dlemire 7y agoI suggest using Sattolo’ algorithm instead. Here is a relevant blog post https://lemire.me/blog/2018/11/13/memory-level-parallelism-intel-skylake-versus-apple-a12-a12x/ https://lemire.me/blog/2018/11/13/memory-level-parallelism-i...
- elheffe80 7y agoAwesome! Thanks for the write up and good info.