diff --git a/Lib/profile.py b/Lib/profile.py
index 8815ac3..5a29bd6 100755
--- a/Lib/profile.py
+++ b/Lib/profile.py
@@ -107,6 +107,20 @@
         t = timer()
         return t[0] + t[1]
 
+# Using getrusage(3) is better than clock(3) if available:
+# on some systems (e.g. FreeBSD), getrusage has a higher resolution
+# Furthermore, on a POSIX system, returns microseconds, which
+# wrap around after 36min.
+_has_res = 0
+try:
+    import resource
+    resgetrusage = lambda: resource.getrusage(resource.RUSAGE_SELF)
+    def _get_time_resource(timer=resgetrusage):
+        t = timer()
+        return t[0] + t[1]
+    _has_res = 1
+except ImportError:
+    pass
 
 class Profile:
     """Profiler class.
@@ -159,8 +173,12 @@
             bias = self.bias
         self.bias = bias     # Materialize in local dict for lookup speed.
 
-        if timer is None:
-            if os.name == 'mac':
+        if not timer:
+            if _has_res:
+                self.timer = resgetrusage
+                self.dispatcher = self.trace_dispatch
+                self.get_time = _get_time_resource
+            elif os.name == 'mac':
                 self.timer = MacOS.GetTicks
                 self.dispatcher = self.trace_dispatch_mac
                 self.get_time = _get_time_mac
diff --git a/Misc/NEWS b/Misc/NEWS
index 708404d..d0a8118 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -64,6 +64,9 @@
 Library
 -------
 
+- Patch #645894: Use getrusage for computing the time consumption in 
+  profile.py if available.
+
 - Patch #1046831: Use get_python_version where appropriate in sysconfig.py.
 
 - Patch #1117454: Remove code to special-case cookies without values
