Programming-Language-Benchmarks
Programming-Language-Benchmarks copied to clipboard
Make nsieve benchmark fair
Some of the implementations differ enough to make the comparison worthless. The one standing out the most does seem to be Julia's implementation, which stores an array of booleans in order to speed up the computation. After applying Julia's code logic C++ code gets over twice as fast. All tested with Julia 1.9.2 and g++-13
Here are my results (user time only, Ryzen 4600h);
nsieve 10 C++: 121 ms Julia: 293 ms C++ with Julia's code structure: 48 ms
nsieve 12 C++: 681 ms Julia: 466 ms C++ with Julia's code structure: 243 ms
I have attached my file with the faster C++ code I've used for comparison, however, it looks like many more languages do use a slow implementation instead of a fast one.
Nice catch. But yeah unfortunately not all implementations are using the same algorythms or approaches (with/without SIMD). Some langs for example have internal bidings to GMP.. which is of course available to the lang developer, but still is external library. So the main point is in that all values of the benchmarks should be considered as an example and need some detailed comparison, because not all implementations are the same.