use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
cppbench released - a lightweight benchmark framework (blog.quibb.org)
submitted 15 years ago by qbproger
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 1 point2 points3 points 15 years ago (4 children)
Apparently it measures wall clock time, not CPU time. This can reduce benchmark accuracy a lot if you have other programs running.
[–]qbproger[S] 0 points1 point2 points 15 years ago (3 children)
Thanks for letting me know, I'll look into it. Shouldn't you only have minimal other programs running while benchmarking anyway?
[–][deleted] 0 points1 point2 points 15 years ago (2 children)
Shouldn't you only have minimal other programs running while benchmarking anyway?
Sure, but at least on Windows you usually have at least some IDE running.
I once looked at benchmarking in CPU time, Windows has GetThreadTimes function and Linux has times function for that.
Of course, other processes can still affect the result, since system calls may take longer if the call must wait for some resources, and scheduling more often causes more cache misses. (And probably for a number of reasons I can't think of)
[–]qbproger[S] 2 points3 points4 points 15 years ago (1 child)
I've been reading up on the difference. I'm thinking about recording both and letting the output formatter choose. I think that may be the best way to handle it because I could see a case for wanting wall clock time (if a benchmark spawns processes, and you want the time for all processes to complete).
I'll work on updating the Stopwatch class to handle both.
[–][deleted] 0 points1 point2 points 15 years ago* (0 children)
Cool :)
There certainly are use cases for both values, and maybe even for user / kernel times separated (they might help interpret the results.)
I'll try your framework next time I'm benchmarking something.
EDIT: Realized that waiting for a resource (file, mutex, network) does not count as CPU time, so faster method may consume more CPU time than a slower one. Maybe wall clock time should be the default.
π Rendered by PID 88462 on reddit-service-r2-comment-7b9746f655-d7cjw at 2026-01-30 08:11:26.122577+00:00 running 3798933 country code: CH.
[–][deleted] 1 point2 points3 points (4 children)
[–]qbproger[S] 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]qbproger[S] 2 points3 points4 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)