3 ms·
What are you using the machines for?
by HellDunkel 5y ago
What are you using the machines for?
- benreesman 5y agoThe M1s are my desktop and laptop respectively, the Xeons are for deployment scenarios, and the Threadripper box is used mostly for big builds. I don't have my current project building on `darwin-aarch64` yet so I haven't been able to do a comparison, but I suspect that once I can get my hands on an M1 Ultra that it will build a big C++/Haskell application faster than the 64-core Threadripper does. 800GB/s of memory bandwidth is insane. You write programs differently for a computer where your main memory is effectively an on-die L3 cache at 128GB.
- HellDunkel 5y agoThank you! I had no idea that building software would require such processing power. Does the bulid/compile process make any use of the GPUs?
- benreesman 5y agoOh I don't think I'd go so far as to say building big C++ (or Rust, or Haskell, or ...) projects requires a ton of compute: it's just one way to tune the inner loop of your development process, the so-called "edit-compile-test" cycle. I've worked on projects that take hours to build from scratch and tens of minutes to do incremental builds on. When making a non-trivial modification and running the tests is 14 minutes, it's just human nature to end up with a 30-minute coffee-trip/HN-browse. When it's 30 minutes, you only get 16 of those in a standard work day. Getting anything meaningful done takes days or weeks when you only get to change your code 16 times a day. You can change Python code 16 times an hour if the changes are individually modest.