#ifdef _MSC_VER #define _SECURE_SCL 0 #define _CRT_SECURE_NO_DEPRECATE 1 #define WIN32_LEAN_AND_MEAN #define VC_EXTRALEAN #define NOMINMAX #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "cycle.h" static const int N = 100000; static const size_t R = 7; void PrintStats(std::vector timings) { double fastest = std::numeric_limits::max(); std::cout << std::fixed << std::setprecision(2); std::cout << "["; for (size_t i = 1 ; i(file), std::istreambuf_iterator()); } std::string read_whole_file_seek(const char *fname) { std::ifstream file(fname, std::ios::binary); file.seekg(0, std::istream::end); std::size_t size(static_cast(file.tellg())); file.seekg(0, std::istream::beg); std::string result(size, 0); file.read(&result[0], size); return result; } std::string read_whole_file_stat(const char *fname) { std::ifstream file(fname, std::ios::binary); struct stat st; stat(fname, &st); std::string result(static_cast(st.st_size), 0); file.read(&result[0], static_cast(st.st_size)); return result; } int main() { //* { size_t tlen = 0; std::vector timings; timings.reserve(R); for (size_t r=0 ; r timings; timings.reserve(R); for (size_t r=0 ; r timings; timings.reserve(R); for (size_t r=0 ; r timings; timings.reserve(R); for (size_t r=0 ; r