Guest User

Untitled

a guest
Oct 16th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #!/usr/bin/env python
  2. """
  3. Performance test for BVH engines.
  4. """
  5.  
  6. import argparse
  7. import pymesh
  8. import numpy as np
  9. import numpy.random
  10. from time import time
  11.  
  12. def parse_args():
  13. parser = argparse.ArgumentParser(__doc__);
  14. parser.add_argument("-n", type=int, help="number of queries");
  15. parser.add_argument("input_mesh")
  16. return parser.parse_args();
  17.  
  18. def main():
  19. args = parse_args();
  20. mesh = pymesh.load_mesh(args.input_mesh);
  21. bbox_min, bbox_max = mesh.bbox;
  22.  
  23. pts = numpy.random.rand(args.n, mesh.dim);
  24. pts = bbox_min + np.multiply(pts, bbox_max-bbox_min);
  25.  
  26. for engine in pymesh.BVH.available_engines:
  27. bvh = pymesh.BVH(engine, mesh.dim);
  28. t0 = time();
  29. bvh.load_mesh(mesh);
  30. t1 = time();
  31. bvh.lookup(pts);
  32. t2 = time();
  33. print("{:>10}: {:<12.6} {:<12.6}".format(engine, t1-t0, t2-t1));
  34.  
  35. if __name__ == "__main__":
  36. main();
Add Comment
Please, Sign In to add comment