How? By timing the duration of an operation. Multi-threading has nothing to do with the ability to time code. Time still exists in a multi-threaded world.

Plainly obvious? Again, it sounds like you have little experience writing actual multi-threaded code. Slapping on a bunch of threads does not necessarily yield a significantly faster application. It depends heavily on *how* you use the threads, and *why*. The implementation might make it faster by 20%, or it might just make it faster by 1%, or maybe 0.005%. The latter two being insignificant values and probably not worth the effort, by the way. Heck, it might even be slower. Therefore, yes, benchmarks are necessary.

Frankly, anytime anyone says "benchmarks aren't necessary to prove X is faster than Y", there's something wrong with their argument. It would be similar to the fallacy of saying: "quicksort is obviously better than bubblesort because it's O(nlogn), I don't need to prove it with benchmarks".


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"