From 4a18e241d9294ea76c33d759f3d7fcedb50d56ad Mon Sep 17 00:00:00 2001 From: Syoyo Fujita Date: Tue, 6 Sep 2016 02:11:23 +0900 Subject: [PATCH] Measure zstd decompress time. --- experimental/premake4.lua | 4 ++++ experimental/viewer.cc | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/experimental/premake4.lua b/experimental/premake4.lua index 211e1ea..d5f433f 100644 --- a/experimental/premake4.lua +++ b/experimental/premake4.lua @@ -29,7 +29,11 @@ solution "objview" end if _OPTIONS['with-zstd'] then + print("with-zstd") defines { 'ENABLE_ZSTD' } + -- Set path to zstd installed dir. + includedirs { '$$HOME/local/include' } + libdirs { '$$HOME/local/lib' } links { 'zstd' } end diff --git a/experimental/viewer.cc b/experimental/viewer.cc index b79fe46..87db22b 100644 --- a/experimental/viewer.cc +++ b/experimental/viewer.cc @@ -274,7 +274,8 @@ const char* get_file_data(size_t *len, const char* filename) } } else if (strcmp(ext, ".zst") == 0) { - // gzipped data. + printf("zstd\n"); + // Zstandard data. std::vector buf; bool ret = zstd_load(&buf, filename); @@ -302,13 +303,22 @@ bool LoadObjAndConvert(float bmin[3], float bmax[3], const char* filename, int n std::vector shapes; std::vector materials; + auto load_t_begin = std::chrono::high_resolution_clock::now(); size_t data_len = 0; const char* data = get_file_data(&data_len, filename); if (data == nullptr) { + printf("failed to load file\n"); exit(-1); return false; } - printf("filesize: %d\n", (int)data_len); + auto load_t_end = std::chrono::high_resolution_clock::now(); + std::chrono::duration load_ms = load_t_end - load_t_begin; + if (verbose) { + std::cout << "filesize: " << data_len << std::endl; + std::cout << "load time: " << load_ms.count() << " [msecs]" << std::endl; + } + + tinyobj_opt::LoadOption option; option.req_num_threads = num_threads; option.verbose = verbose; @@ -616,6 +626,7 @@ int main(int argc, char **argv) size_t data_len = 0; const char* data = get_file_data(&data_len, argv[1]); if (data == nullptr) { + printf("failed to load file\n"); exit(-1); return false; }