Measure zstd decompress time.
This commit is contained in:
@@ -29,7 +29,11 @@ solution "objview"
|
|||||||
end
|
end
|
||||||
|
|
||||||
if _OPTIONS['with-zstd'] then
|
if _OPTIONS['with-zstd'] then
|
||||||
|
print("with-zstd")
|
||||||
defines { 'ENABLE_ZSTD' }
|
defines { 'ENABLE_ZSTD' }
|
||||||
|
-- Set path to zstd installed dir.
|
||||||
|
includedirs { '$$HOME/local/include' }
|
||||||
|
libdirs { '$$HOME/local/lib' }
|
||||||
links { 'zstd' }
|
links { 'zstd' }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -274,7 +274,8 @@ const char* get_file_data(size_t *len, const char* filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if (strcmp(ext, ".zst") == 0) {
|
} else if (strcmp(ext, ".zst") == 0) {
|
||||||
// gzipped data.
|
printf("zstd\n");
|
||||||
|
// Zstandard data.
|
||||||
|
|
||||||
std::vector<char> buf;
|
std::vector<char> buf;
|
||||||
bool ret = zstd_load(&buf, filename);
|
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<tinyobj_opt::shape_t> shapes;
|
std::vector<tinyobj_opt::shape_t> shapes;
|
||||||
std::vector<tinyobj_opt::material_t> materials;
|
std::vector<tinyobj_opt::material_t> materials;
|
||||||
|
|
||||||
|
auto load_t_begin = std::chrono::high_resolution_clock::now();
|
||||||
size_t data_len = 0;
|
size_t data_len = 0;
|
||||||
const char* data = get_file_data(&data_len, filename);
|
const char* data = get_file_data(&data_len, filename);
|
||||||
if (data == nullptr) {
|
if (data == nullptr) {
|
||||||
|
printf("failed to load file\n");
|
||||||
exit(-1);
|
exit(-1);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
printf("filesize: %d\n", (int)data_len);
|
auto load_t_end = std::chrono::high_resolution_clock::now();
|
||||||
|
std::chrono::duration<double, std::milli> 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;
|
tinyobj_opt::LoadOption option;
|
||||||
option.req_num_threads = num_threads;
|
option.req_num_threads = num_threads;
|
||||||
option.verbose = verbose;
|
option.verbose = verbose;
|
||||||
@@ -616,6 +626,7 @@ int main(int argc, char **argv)
|
|||||||
size_t data_len = 0;
|
size_t data_len = 0;
|
||||||
const char* data = get_file_data(&data_len, argv[1]);
|
const char* data = get_file_data(&data_len, argv[1]);
|
||||||
if (data == nullptr) {
|
if (data == nullptr) {
|
||||||
|
printf("failed to load file\n");
|
||||||
exit(-1);
|
exit(-1);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user