diff options
author | Tavian Barnes <tavianator@gmail.com> | 2011-06-14 16:26:53 -0600 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2011-06-14 16:28:39 -0600 |
commit | 8c9a97f4cf9f8d55d48981f3d7170f27ce853ce5 (patch) | |
tree | 85fbe40ce7b6c8e3d2c10b872737a4cdc2f81727 /libdimension-python/dimension.pyx | |
parent | 9ed4a01ac4305baff9e5ee1484691e78def105a1 (diff) | |
download | dimension-8c9a97f4cf9f8d55d48981f3d7170f27ce853ce5.tar.xz |
Add Timers to Python module.
Diffstat (limited to 'libdimension-python/dimension.pyx')
-rw-r--r-- | libdimension-python/dimension.pyx | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/libdimension-python/dimension.pyx b/libdimension-python/dimension.pyx index 54b7e66..442394b 100644 --- a/libdimension-python/dimension.pyx +++ b/libdimension-python/dimension.pyx @@ -27,6 +27,42 @@ import os def dieOnWarnings(alwaysDie): dmnsn_die_on_warnings(alwaysDie) +########## +# Timers # +########## + +cdef class Timer: + cdef dmnsn_timer *_timer + + def __init__(self): + self._timer = dmnsn_new_timer() + + def __dealloc__(self): + dmnsn_delete_timer(self._timer) + + def complete(self): + dmnsn_complete_timer(self._timer) + + property real: + def __get__(self): + return self._timer.real + property user: + def __get__(self): + return self._timer.user + property system: + def __get__(self): + return self._timer.system + + def __str__(self): + return '%.2fs (user: %.2fs; system: %.2fs)' % \ + (self._timer.real, self._timer.user, self._timer.system) + +cdef _rawTimer(dmnsn_timer *timer): + cdef Timer self = Timer.__new__(Timer) + self._timer = timer + DMNSN_INCREF(self._timer) + return self + ############ # Geometry # ############ @@ -887,6 +923,13 @@ cdef class Scene: def __set__(self, n): self._scene.nthreads = n + property boundingTimer: + def __get__(self): + return _rawTimer(self._scene.bounding_timer) + property renderTimer: + def __get__(self): + return _rawTimer(self._scene.render_timer) + def raytrace(self): # Ensure the default texture is complete cdef Texture default = Texture(Black) |