rickhull/device_input

View on GitHub
metrics/ruby-prof

Summary

Maintainability
Test Coverage
Measure Mode: process_time_time
Thread ID: 70119996423180
Fiber ID: 70119998544180
Total Time: 0.302254226
Sort by: self_time

  %total   %self      total       self       wait      child            calls     name
--------------------------------------------------------------------------------
                      0.289      0.057      0.000      0.231              1/1     <Module::DeviceInput>#read_loop
  95.47%  18.98%      0.289      0.057      0.000      0.231                1     Kernel#loop
                      0.144      0.012      0.000      0.132       9999/10015     Class#new
                      0.049      0.015      0.000      0.034        9999/9999     <Class::DeviceInput::Event>#decode
                      0.019      0.019      0.000      0.000        9999/9999     IO#read
                      0.005      0.005      0.000      0.000       9999/10000     String#length
                      0.005      0.005      0.000      0.000       9999/20009     Integer#+
                      0.005      0.005      0.000      0.000       9999/10000     Integer#>=
                      0.005      0.005      0.000      0.000        9999/9999     Integer#==
--------------------------------------------------------------------------------
                      0.132      0.052      0.000      0.080        9999/9999     Class#new
  43.71%  17.21%      0.132      0.052      0.000      0.080             9999     DeviceInput::Event#initialize
                      0.017      0.012      0.000      0.005        9999/9999     <Class::Time>#at
                      0.016      0.011      0.000      0.005        9999/9999     <Class::DeviceInput::Event>#code_labels
                      0.016      0.011      0.000      0.005        9999/9999     <Class::DeviceInput::Event>#type_labels
                      0.009      0.009      0.000      0.000      19998/20000     Array#first
                      0.009      0.009      0.000      0.000      19998/19998     DeviceInput::Event::Data#type
                      0.005      0.005      0.000      0.000        9999/9999     DeviceInput::Event::Data#code
                      0.004      0.004      0.000      0.000        9999/9999     DeviceInput::Event::Data#tv_usec
                      0.004      0.004      0.000      0.000        9999/9999     DeviceInput::Event::Data#tv_sec
--------------------------------------------------------------------------------
                      0.019      0.019      0.000      0.000        9999/9999     Kernel#loop
   6.19%   6.19%      0.019      0.019      0.000      0.000             9999     IO#read
--------------------------------------------------------------------------------
                      0.049      0.015      0.000      0.034        9999/9999     Kernel#loop
  16.18%   4.99%      0.049      0.015      0.000      0.034             9999     <Class::DeviceInput::Event>#decode
                      0.019      0.013      0.000      0.006       9999/10000     <Class::DeviceInput::Event::Data>#new
                      0.015      0.015      0.000      0.000        9999/9999     String#unpack
--------------------------------------------------------------------------------
                      0.015      0.015      0.000      0.000        9999/9999     <Class::DeviceInput::Event>#decode
   4.96%   4.96%      0.015      0.015      0.000      0.000             9999     String#unpack
--------------------------------------------------------------------------------
                      0.000      0.000      0.000      0.000          1/10000     Kernel#require
                      0.019      0.013      0.000      0.006       9999/10000     <Class::DeviceInput::Event>#decode
   6.23%   4.35%      0.019      0.013      0.000      0.006            10000     <Class::DeviceInput::Event::Data>#new
                      0.006      0.006      0.000      0.000      10000/10000     Struct#initialize
--------------------------------------------------------------------------------
                      0.017      0.012      0.000      0.005        9999/9999     DeviceInput::Event#initialize
   5.73%   3.98%      0.017      0.012      0.000      0.005             9999     <Class::Time>#at
                      0.005      0.005      0.000      0.000       9999/20009     Integer#+
--------------------------------------------------------------------------------
                      0.000      0.000      0.000      0.000          1/10015     Kernel#require
                      0.000      0.000      0.000      0.000          1/10015     Slop::Parser#parse
                      0.000      0.000      0.000      0.000          1/10015     Slop::Options#initialize
                      0.000      0.000      0.000      0.000          2/10015     Gem::Specification#initialize
                      0.000      0.000      0.000      0.000          3/10015     <Class::Gem::Requirement>#create
                      0.000      0.000      0.000      0.000          4/10015     Slop::Options#on
                      0.000      0.000      0.000      0.000          2/10015     Gem::Specification#add_dependency_with_type
                      0.000      0.000      0.000      0.000          1/10015     <Module::Slop>#parse
                      0.001      0.000      0.000      0.001          1/10015     Kernel#eval
                      0.144      0.012      0.000      0.132       9999/10015     Kernel#loop
  48.01%   3.97%      0.145      0.012      0.000      0.133            10015    *Class#new
                      0.132      0.052      0.000      0.080        9999/9999     DeviceInput::Event#initialize
                      0.001      0.000      0.000      0.001              1/1     Gem::Specification#initialize
                      0.000      0.000      0.000      0.000              1/1     Slop::Options#initialize
                      0.000      0.000      0.000      0.000              5/5     Gem::Requirement#initialize
                      0.000      0.000      0.000      0.000              2/2     Gem::Dependency#initialize
                      0.000      0.000      0.000      0.000              4/4     Slop::Option#initialize
                      0.000      0.000      0.000      0.000              1/1     Slop::Parser#initialize
                      0.000      0.000      0.000      0.000              1/1     Slop::Result#initialize
                      0.000      0.000      0.000      0.000              1/1     Exception#initialize
--------------------------------------------------------------------------------
                      0.016      0.011      0.000      0.005        9999/9999     DeviceInput::Event#initialize
   5.28%   3.53%      0.016      0.011      0.000      0.005             9999     <Class::DeviceInput::Event>#code_labels
                      0.005      0.005      0.000      0.000        9999/9999     Hash#dig
--------------------------------------------------------------------------------
                      0.016      0.011      0.000      0.005        9999/9999     DeviceInput::Event#initialize
   5.19%   3.50%      0.016      0.011      0.000      0.005             9999     <Class::DeviceInput::Event>#type_labels
                      0.005      0.005      0.000      0.000       9999/10005     Hash#[]
--------------------------------------------------------------------------------
                      0.000      0.000      0.000      0.000          1/20009     Time#initialize
                      0.000      0.000      0.000      0.000          2/20009     Slop::Option#ensure_call
                      0.000      0.000      0.000      0.000          1/20009     Kernel#require
                      0.000      0.000      0.000      0.000          3/20009     <Class::Time>#utc
                      0.000      0.000      0.000      0.000          4/20009     Array#each
                      0.005      0.005      0.000      0.000       9999/20009     Kernel#loop
                      0.005      0.005      0.000      0.000       9999/20009     <Class::Time>#at
   3.37%   3.37%      0.010      0.010      0.000      0.000            20009     Integer#+
--------------------------------------------------------------------------------