3 ms·
Yup, like the post about Discord processing images from yesterday underscored. If you need top tier performance you're going to have to reach for a language lik
by vvanders 9y ago
Yup, like the post about Discord processing images from yesterday underscored. If you need top tier performance you're going to have to reach for a language like Rust, C or C++ because without discrete control over your allocations and memory placement you will have something slower.
C# is about the closest thing these days thanks to value types but even then Unity had to drop down to C++ to really get the performance they needed at the engine level.
- moomin 9y agoYeah, but it seems to be fine for something like Docker.
- eric-hu 9y agoSounds like you're advocating a Rocker project.
- solidsnack9000 9y agoDocker could also have been written in Java or Python, though, because most of the heavy lifting is provided by the kernel.
- perfmode 9y agoDocker is more I/O bound than CPU bound, so Go is just fine.
- jeremiep 9y agoI wrote the most non-idiomatic C# in Unity to create a lighting fast 2D skeletal animation system (100-1000x the performance of the closest competitor) and I'm certain I could've gained yet another order of magnitude had I access to C++ instead of C#. C# is fine for scripting, but absolutely terrible for performance critical batching where branch predictions and cache misses are your main optimization points. Also the lack of array slices make it really hard to avoid memory allocations.
- vvanders 9y agoYeah, that's my biggest gripe with the "GC'd language are as fast as native" crowd. You end up doing all sorts of contortions in order to get the allocation/cache coherency that you need that you're better off using a language that has proper support for it. I love scripting languages for orchestrating logic(luaJIT!) but when you need to massively vectorize your data so that you get full utilization of the prefetcher there really is no substitute.