diff --git a/lib/devtools.rb b/lib/devtools.rb
index <HASH>..<HASH> 100644
--- a/lib/devtools.rb
+++ b/lib/devtools.rb
@@ -1,3 +1,4 @@
+require 'benchmark'
 require 'pathname'
 require 'rake'
 require 'yaml'
diff --git a/lib/devtools/project.rb b/lib/devtools/project.rb
index <HASH>..<HASH> 100644
--- a/lib/devtools/project.rb
+++ b/lib/devtools/project.rb
@@ -65,11 +65,10 @@ module Devtools
     #
     def self.timeout_unit_tests(timeout)
       RSpec.configuration.around :file_path => UNIT_TEST_PATH_REGEXP do |example|
-        start = Time.now
-        example.run
-        duration = Time.now - start
-        if duration > timeout
-          raise TimeoutError.new("Unit test took #{duration} but max allowed is #{timeout}")
+        times    = Benchmark.measure(&example)
+        cpu_time = times.utime + times.stime + times.cutime + times.cstime
+        if cpu_time > timeout
+          raise TimeoutError, "Unit test took #{cpu_time} but max allowed is #{timeout}"
         end
       end
     end
Update spec timoue to use cpu time, not real (elapsed) time