Skip to content

Instantly share code, notes, and snippets.

@Fiona-J-W
Last active August 29, 2015 14:16
Show Gist options
  • Save Fiona-J-W/d93fd4f3855b58df93d1 to your computer and use it in GitHub Desktop.
Save Fiona-J-W/d93fd4f3855b58df93d1 to your computer and use it in GitHub Desktop.
measuring printing-performance
#include <algorithm>
#include <string>
#include <vector>
#include <fstream>
#include <iterator>
#include <iostream>
#include <utilities/timer.hpp>
int main() {
auto vec = std::vector<unsigned>(100000);
std::iota(vec.begin(), vec.end(), 0);
std::ofstream results{"results.txt"};
for(unsigned i = 0; i < 100; ++i) {
{
auto timer = util::timer{};
timer.start();
for(auto val: vec) {
std::cout << val << " ";
}
std::cout << std::endl;
timer.stop();
results << "1 " << timer.ticks() << '\n';
}
{
auto timer = util::timer{};
timer.start();
std::copy(vec.begin(), vec.end(), std::ostream_iterator<unsigned>{std::cout, " "});
std::cout << std::endl;
timer.stop();
results << "2 " << timer.ticks() << '\n';
}
{
auto timer = util::timer{};
timer.start();
for(auto val: vec) {
std::printf("%u ", val);
}
std::printf("\n");
timer.stop();
results << "3 " << timer.ticks() << '\n';
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment