Raytracing speed again, this time with gdc. -- "oops" remedied

downs default_357-line at yahoo.de
Thu Nov 8 05:41:53 PST 2007


Here we go again.

D version.

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls   s/call   s/call  name
 73.09      5.08     5.08  6164146     0.00     0.00  void ray1.Group.intersect(inout typedef ray1.Hit, inout struct ray1.Ray, void*)
 19.57      6.44     1.36 38551270     0.00     0.00  void ray1.Sphere.intersect(inout typedef ray1.Hit, inout struct ray1.Ray, void*)
  3.74      6.70     0.26        1     0.26     6.88  _Dmain
  2.59      6.88     0.18  4194304     0.00     0.00  double ray1.ray_trace(inout struct ray1.Vec, inout struct ray1.Ray, class ray1.Scene)
  0.43      6.91     0.03                             struct gcx.Pool* gcx.Gcx.findPool(void*, void*)
  0.14      6.92     0.01                             void* gcx.GC.mallocNoSync(uint, void*)
  0.14      6.93     0.01                             uint gcbits.GCBits.test(uint, void*)
  0.14      6.94     0.01                             _d_callfinalizer
  0.14      6.95     0.01                             _d_newclass
  0.00      6.95     0.00        1     0.00     0.00  void ray1._staticCtor1()
  0.00      6.95     0.00        1     0.00     0.00  class ray1.Scene ray1.create(int, inout struct ray1.Vec, double)
  0.00      6.95     0.00        1     0.00     0.00  void ray1.__modinit()

C++ version.

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 76.88      4.19     4.19  6164146     0.00     0.00  Group::intersect(std::pair<double, Vec>&, Ray const&) const
 18.35      5.19     1.00 38551282     0.00     0.00  Sphere::intersect(std::pair<double, Vec>&, Ray const&) const
  3.30      5.37     0.18                             main
  1.28      5.44     0.07  4194304     0.00     0.00  ray_trace(Vec const&, Ray const&, Scene const&)
  0.18      5.45     0.01        1    10.00    10.00  create(int, Vec const&, double)
  0.00      5.45     0.00    87381     0.00     0.00  Sphere::~Sphere()
  0.00      5.45     0.00        1     0.00     0.00  global constructors keyed to real
  0.00      5.45     0.00        1     0.00     0.00  __static_initialization_and_destruction_0(int, int)
  0.00      5.45     0.00        1     0.00     0.00  Group::~Group()


More information about the Digitalmars-d-learn mailing list