Multi-threading reporting question #702
Replies: 2 comments 5 replies
-
I havent developed any multithreaded solution but my expectation was that is was measuring total throughput.
I dont think thats the best solution since you might get better performance by running one thread per core even if you got hyperthreading, it should not affect most algorithms and hardware. But it might be worth considering.
M1 would be cool indeed. |
Beta Was this translation helpful? Give feedback.
-
M1 would be very interesting. D's first solution was apparently ran on an M1 and it's 2x faster than on my i5-7600k, so I'd love to see how fast the other solutions would be. |
Beta Was this translation helpful? Give feedback.
-
I'm curious about how we're reporting the performance of multi-threaded solutions, and I'm sure there are some good reasons for it.
Essentially, there are two options available:
It looks like we're reporting (2). The issue with this is that it creates the wrong incentive for the solution: use as few threads as possible, usually just two (so that it's still counted as multithreaded), as this will have the smallest impact on the processor.
For me, the interesting measurement would be (1), as this measures the scalability of the solution, even if the problem is admittedly "trivially" parallelisable. In the absence of serious design flaws, my expectation would be that reported performance would go up with more threads, rather than down. We usually expect per-thread performance to decrease: it's just the cost of sub-linear scaling.
(2) could still make sense if it's a requirement for all solutions to use all available (hyper)threads, but this is not the case currently; there's quite a spectrum.
As a side note, I'd love to see the report run on Dave's ThreadRipper at some point. Even under WSL2, it should report some really good numbers, and we're a little Intel-heavy at this point. :) And I'd really love to see how stuff runs on the M1, but concede that it could be quite tricky getting enough of the solutions running on there.
Beta Was this translation helpful? Give feedback.
All reactions