|
|
|
|
|
|
|
|
|
|
|
|
|
from itertools import product |
|
|
|
from fvcore.common.benchmark import benchmark |
|
from tests.test_io_obj import TestMeshObjIO |
|
from tests.test_io_ply import TestMeshPlyIO |
|
|
|
|
|
def bm_save_load() -> None: |
|
simple_kwargs_list = [ |
|
{"V": 100, "F": 200}, |
|
{"V": 1000, "F": 2000}, |
|
{"V": 10000, "F": 20000}, |
|
] |
|
benchmark( |
|
TestMeshObjIO.bm_load_simple_obj_with_init, |
|
"LOAD_SIMPLE_OBJ", |
|
simple_kwargs_list, |
|
warmup_iters=1, |
|
) |
|
benchmark( |
|
TestMeshObjIO.bm_save_simple_obj_with_init, |
|
"SAVE_SIMPLE_OBJ", |
|
simple_kwargs_list, |
|
warmup_iters=1, |
|
) |
|
benchmark( |
|
TestMeshPlyIO.bm_load_simple_ply_with_init, |
|
"LOAD_SIMPLE_PLY", |
|
simple_kwargs_list, |
|
warmup_iters=1, |
|
) |
|
benchmark( |
|
TestMeshPlyIO.bm_save_simple_ply_with_init, |
|
"SAVE_SIMPLE_PLY", |
|
simple_kwargs_list, |
|
warmup_iters=1, |
|
) |
|
|
|
complex_kwargs_list = [{"N": 8}, {"N": 32}, {"N": 128}] |
|
benchmark( |
|
TestMeshObjIO.bm_load_complex_obj, |
|
"LOAD_COMPLEX_OBJ", |
|
complex_kwargs_list, |
|
warmup_iters=1, |
|
) |
|
benchmark( |
|
TestMeshObjIO.bm_save_complex_obj, |
|
"SAVE_COMPLEX_OBJ", |
|
complex_kwargs_list, |
|
warmup_iters=1, |
|
) |
|
benchmark( |
|
TestMeshPlyIO.bm_load_complex_ply, |
|
"LOAD_COMPLEX_PLY", |
|
complex_kwargs_list, |
|
warmup_iters=1, |
|
) |
|
benchmark( |
|
TestMeshPlyIO.bm_save_complex_ply, |
|
"SAVE_COMPLEX_PLY", |
|
complex_kwargs_list, |
|
warmup_iters=1, |
|
) |
|
|
|
|
|
kwargs_list = [{"R": 2}, {"R": 4}, {"R": 10}, {"R": 15}, {"R": 20}] |
|
benchmark( |
|
TestMeshObjIO.bm_load_texture_atlas, |
|
"PYTORCH3D_TEXTURE_ATLAS", |
|
kwargs_list, |
|
warmup_iters=1, |
|
) |
|
|
|
kwargs_list = [] |
|
S = [64, 256, 1024] |
|
F = [100, 1000, 10000] |
|
R = [5, 10, 20] |
|
test_cases = product(S, F, R) |
|
|
|
for case in test_cases: |
|
s, f, r = case |
|
kwargs_list.append({"S": s, "F": f, "R": r}) |
|
|
|
benchmark( |
|
TestMeshObjIO.bm_bilinear_sampling_vectorized, |
|
"BILINEAR_VECTORIZED", |
|
kwargs_list, |
|
warmup_iters=1, |
|
) |
|
benchmark( |
|
TestMeshObjIO.bm_bilinear_sampling_grid_sample, |
|
"BILINEAR_GRID_SAMPLE", |
|
kwargs_list, |
|
warmup_iters=1, |
|
) |
|
|
|
|
|
if __name__ == "__main__": |
|
bm_save_load() |
|
|