Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate performance/memory usage #3

Open
tjwallace opened this issue Apr 30, 2012 · 1 comment
Open

Investigate performance/memory usage #3

tjwallace opened this issue Apr 30, 2012 · 1 comment

Comments

@tjwallace
Copy link
Owner

Start here.

Questions

  • How many objects are we creating?
  • How much memory are we using?

Optimizations

  • Do we need to store the BinData objects or should we convert to a hash as soon as we read it?
@tjwallace
Copy link
Owner Author

ruby-prof results from loading a 131.3 kB fit file:

$ ruby ./test.rb long.fit
Thread ID: 69866322754900
Total: 4.566904

 %self     total     self     wait    child    calls  name
  4.80      0.96     0.22     0.00     0.74    71935  BinData::Struct#instantiate_obj_at
  3.91      0.42     0.18     0.00     0.25    76008  BinData::Base#new
  3.13      0.27     0.14     0.00     0.13    51813  BinData::IO#readbytes
  2.49      1.78     0.11     0.00     1.67    31952  Array#each
  2.23      0.15     0.10     0.00     0.05    92418  BinData::SanitizedField#name_as_sym
  2.16      0.80     0.10     0.00     0.70    67978  BinData::BasePrimitive#do_read
  2.03      0.13     0.09     0.00     0.03   107638  BinData::Base#get_parameter
  1.92      0.52     0.09     0.00     0.43    76008  BinData::SanitizedPrototype#instantiate
  1.86      0.19     0.08     0.00     0.11    76008  Kernel#clone
  1.75      0.23     0.08     0.00     0.15    27645  Array#collect
  1.75      0.12     0.08     0.00     0.04   108320  BinData::Base#has_parameter?
  1.60      0.55     0.07     0.00     0.48    71935  BinData::Struct#include_obj
  1.46      0.15     0.07     0.00     0.09    16157  BinData::IO#read_big_endian_bits
  1.44      0.07     0.07     0.00     0.00    55778  BinData::IO#reset_read_bits
  1.36      1.02     0.06     0.00     0.96     8012  Array#each_index
  1.36      0.54     0.06     0.00     0.48    71935  BinData::SanitizedField#instantiate
  1.31      0.24     0.06     0.00     0.18     7895  BinData::DSLMixin::DSLParser#to_struct_params
  1.31      0.06     0.06     0.00     0.00    55896  IO#read
  1.27      0.29     0.06     0.00     0.24    27937  BinData::LazyEvaluator#resolve_symbol_in_parent_context
  1.23      0.06     0.06     0.00     0.00   111971  <Class::BasicObject>#allocate
  1.20      0.12     0.05     0.00     0.06    19889  BinData::LazyEvaluator#recursively_eval
  1.16      0.68     0.05     0.00     0.62    23850  BinData::Base#eval_parameter
  1.14      0.13     0.05     0.00     0.08    52034  BinData::BasePrimitive#snapshot
  1.11      0.05     0.05     0.00     0.00    71935  BinData::SanitizedFields#[]
  1.07      1.47     0.05     0.00     1.43    43975  Class#new
  1.07      0.05     0.05     0.00     0.00   172157  Kernel#nil?
  1.05      0.05     0.05     0.00     0.00    72062  BinData::BasePrimitive#initialize_instance
  1.05      0.05     0.05     0.00     0.00   158770  Symbol#==
  1.05      0.05     0.05     0.00     0.00   151051  Hash#[]
  1.01      0.05     0.05     0.00     0.00   128048  BinData::SanitizedParameters#has_parameter?
  0.98      0.07     0.04     0.00     0.02    76008  Kernel#initialize_clone
  0.98      0.09     0.04     0.00     0.05    19889  BinData::Struct#base_field_name
  0.96      0.05     0.04     0.00     0.01    59736  Kernel#respond_to?
  0.96      1.24     0.04     0.00     1.19     8035  BinData::Base#initialize
  0.96      0.81     0.04     0.00     0.76     8012  BinData::SanitizedParameters#initialize
  0.92      0.11     0.04     0.00     0.06    11854  BinData::DSLMixin::DSLParser#hide
  0.90      0.04     0.04     0.00     0.00    95670  NilClass#nil?
  0.90      0.09     0.04     0.00     0.05     7895  BinData::IO#initialize
  0.87      0.53     0.04     0.00     0.49    19889  BinData::LazyEvaluator#lazy_eval
  0.85      0.04     0.04     0.00     0.00    71935  Array#[]=
  0.85      0.07     0.04     0.00     0.03    40233  Array#include?
  0.79      0.22     0.04     0.00     0.18    16157  BinData::IO#readbits
  0.79      0.44     0.04     0.00     0.41    19889  BinData::LazyEvaluator#eval_symbol_in_parent_context
  0.76      0.48     0.03     0.00     0.44    19889  BinData::LazyEvaluator#method_missing
  0.72      0.05     0.03     0.00     0.01    23685  BinData::SanitizedParameters#needs_sanitizing?
  0.72      0.03     0.03     0.00     0.00    67979  BinData::BasePrimitive#hook_after_do_read
  0.72      0.03     0.03     0.00     0.00    97663  Symbol#to_sym
  0.68      4.42     0.03     0.00     4.39    11841  Fit::Record#read
  0.68      0.09     0.03     0.00     0.06    12109  BinData::Uint8le#read_and_return_value
  0.68      0.09     0.03     0.00     0.06    11840  BinData::Int32le#read_and_return_value
  0.68      0.03     0.03     0.00     0.00    48085  BinData::BasePrimitive#_value
  0.66      0.43     0.03     0.00     0.40     8039  BinData::Choice#current_choice
  0.66      0.03     0.03     0.00     0.00    23926  BinData::AcceptedParametersMixin::ClassMethods#accepted_parameters
  0.66      0.76     0.03     0.00     0.73     8012  BinData::SanitizedParameters#sanitize!
  0.66      0.05     0.03     0.00     0.02     8035  <Class::BinData::BaseArgExtractor>#extract
  0.62      0.10     0.03     0.00     0.07    11913  BinData::Uint16le#read_and_return_value
  0.61      0.03     0.03     0.00     0.00    55894  String#unpack
  0.59      0.03     0.03     0.00     0.00    79783  Kernel#is_a?
  0.59      1.28     0.03     0.00     1.25     8035  BinData::Base#initialize_with_deprecation
  0.59      0.04     0.03     0.00     0.01    32314  BinData::IO#mask
  0.59      0.55     0.03     0.00     0.52     7895  <Class::BinData::Record>#sanitize_parameters!
  0.55      0.12     0.02     0.00     0.11    11844  Fit::File::Header#end_pos
  0.55      0.02     0.02     0.00     0.00    76008  Kernel#initialize_copy
  0.52      0.15     0.02     0.00     0.13    19889  BinData::Struct#respond_to?
  0.48      0.02     0.02     0.00     0.00    20344  BinData::DSLMixin::DSLParser#options
  0.48      0.02     0.02     0.00     0.00    19889  String#chomp
  0.48      0.08     0.02     0.00     0.06    20344  BinData::DSLMixin::DSLParser#option?
  0.48      0.06     0.02     0.00     0.03    19889  BinData::Base#lazy_evaluator
  0.48      2.87     0.02     0.00     2.85     7895  BinData::Base#read
  0.46      0.03     0.02     0.00     0.01     7895  BinData::IO#positioning_supported?
  0.46      0.23     0.02     0.00     0.20     7895  <Class::BinData::Struct>#sanitize_parameters!
  0.46      0.12     0.02     0.00     0.10     7895  <Class::BinData::Struct>#sanitize_hide
  0.44      0.05     0.02     0.00     0.03     7895  <Class::BinData::Struct>#sanitize_endian
  0.42      0.10     0.02     0.00     0.08     7905  BinData::BasePrimitive#method_missing
  0.42      0.04     0.02     0.00     0.02     8012  BinData::AcceptedParametersMixin::ClassMethods#mandatory_parameters
  0.37      0.04     0.02     0.00     0.02     8048  BinData::BasePrimitive#respond_to?
  0.37      0.04     0.02     0.00     0.02     8012  BinData::SanitizedParameters#merge_default_parameters!
  0.37      0.02     0.02     0.00     0.00    20263  Symbol#to_s
  0.37      0.21     0.02     0.00     0.20     7896  BinData::Struct#initialize_shared_instance
  0.35      0.02     0.02     0.00     0.00    19738  IO#pos
  0.35      0.06     0.02     0.00     0.05     8012  BinData::SanitizedParameters#ensure_mutual_exclusion_of_parameters
  0.35      0.14     0.02     0.00     0.12     8039  BinData::Choice#get_or_instantiate_choice
  0.35      0.24     0.02     0.00     0.22    11844  BinData::SanitizedFields#field_names
  0.33      0.02     0.02     0.00     0.00    36396  Fixnum#&
  0.33      0.10     0.01     0.00     0.09     8035  BinData::Base#extract_args
  0.33      0.03     0.01     0.00     0.02    11841  BinData::Base#==
  0.33      0.03     0.01     0.00     0.02    15788  Fit::Record::Header#normal?
  0.33      0.84     0.01     0.00     0.82     8035  <Class::BinData::SanitizedParameters>#sanitize
  0.31      0.01     0.01     0.00     0.00    15801  Array#compact
  0.31      0.07     0.01     0.00     0.06     7896  <Class::BinData::RecordArgExtractor>#extract
  0.31      4.17     0.01     0.00     4.16     7895  <Class::BinData::Base>#read
  0.31      0.04     0.01     0.00     0.03    11995  BinData::BasePrimitive#hash
  0.31      0.01     0.01     0.00     0.00     8028  BinData::AcceptedParametersMixin::AcceptedParameters#mandatory
  0.28      0.01     0.01     0.00     0.00    36413  Fixnum#<<
  0.28      0.01     0.01     0.00     0.00    27781  Module#===
  0.28      0.01     0.01     0.00     0.00     8140  BinData::DSLMixin::DSLParser#fields
  0.28      0.02     0.01     0.00     0.00     7896  <Class::BinData::RecordArgExtractor>#parameters_is_value?
  0.26      0.01     0.01     0.00     0.00    55894  Array#at
  0.26      0.02     0.01     0.00     0.01    19753  Hash#[]=
  0.26      0.09     0.01     0.00     0.07     8024  BinData::Uint32le#read_and_return_value
  0.26      0.03     0.01     0.00     0.02     4082  BinData::IO#accumulate_big_endian_bits
  0.26      0.04     0.01     0.00     0.02     3956  BinData::SanitizedChoices#[]
  0.26      0.02     0.01     0.00     0.01     7895  <Class::BinData::Record>#define_field_accessors
  0.24      0.03     0.01     0.00     0.02     7895  <Class::BinData::Struct>#sanitize_fields
  0.24      0.02     0.01     0.00     0.02     7894  Fit::Record::Header#compressed_timestamp?
  0.24      0.06     0.01     0.00     0.05     8012  BinData::SanitizedParameters#ensure_mandatory_parameters_exist
  0.24      0.03     0.01     0.00     0.02     3846  BinData::Int16le#read_and_return_value
  0.22      0.15     0.01     0.00     0.14     8011  BinData::Bit1#read_and_return_value
  0.22      0.02     0.01     0.00     0.01    11863  BinData::DSLMixin::DSLParser#endian
  0.22      0.01     0.01     0.00     0.00     3939  BinData::SanitizedParameters#create_sanitized_endian
  0.22      0.01     0.01     0.00     0.00    19889  String#to_sym
  0.22      0.01     0.01     0.00     0.00    39910  Kernel#respond_to_missing?
  0.22      0.01     0.01     0.00     0.00    15806  BinData::LazyEvaluator#initialize
  0.22      4.57     0.01     0.00     4.56        1  Fit::File#read
  0.22      0.01     0.01     0.00     0.00    24105  Kernel#class
  0.22      0.01     0.01     0.00     0.00    12318  BasicObject#!=
  0.20      0.01     0.01     0.00     0.00    11995  Kernel#hash
  0.20      0.03     0.01     0.00     0.02     8035  BinData::CheckOrAdjustOffsetMixin#add_methods_for_check_or_adjust_offset
  0.20      0.01     0.01     0.00     0.00     8035  Kernel#method
  0.20      0.09     0.01     0.00     0.08     3956  BinData::Choice#instantiate_choice
  0.20      0.05     0.01     0.00     0.04     3949  <Object::BinData::Uint8le>#_value_with_value
  0.20      0.03     0.01     0.00     0.03     7896  Fixnum#+
  0.18      0.01     0.01     0.00     0.00     7895  Hash#merge!
  0.18      0.03     0.01     0.00     0.02     7886  BinData::AcceptedParametersMixin::ClassMethods#mutually_exclusive_parameters
  0.18      0.28     0.01     0.00     0.28     8022  BinData::DSLMixin::ClassMethods#method_missing
  0.17      2.74     0.01     0.00     2.73     8012  BinData::Struct#do_read
  0.17      0.01     0.01     0.00     0.00     3949  BinData::Base#furthest_ancestor
  0.17      0.01     0.01     0.00     0.00     8013  BinData::Struct#initialize_instance
  0.17      0.03     0.01     0.00     0.03     3846  BinData::Int8le#read_and_return_value
  0.17      0.01     0.01     0.00     0.00    16157  Fixnum#>>
  0.17      0.01     0.01     0.00     0.00     8012  BinData::SanitizedParameters#ensure_no_nil_values
  0.15      0.01     0.01     0.00     0.00     7895  BinData::Struct#clear
  0.15      0.04     0.01     0.00     0.03     3947  BinData::Bit4#read_and_return_value
  0.15      0.01     0.01     0.00     0.00     8028  BinData::AcceptedParametersMixin::AcceptedParameters#default
  0.15      0.18     0.01     0.00     0.17     4083  BinData::Choice#snapshot
  0.15      0.01     0.01     0.00     0.00     7902  BinData::AcceptedParametersMixin::AcceptedParameters#mutually_exclusive
  0.15      0.01     0.01     0.00     0.00    16024  Hash#each
  0.13      0.31     0.01     0.00     0.31     3956  BinData::Choice#do_read
  0.13      0.01     0.01     0.00     0.00     8064  BinData::DSLMixin::ClassMethods#dsl_parser
  0.13      0.25     0.01     0.00     0.24     7895  BinData::DSLMixin::DSLParser#dsl_params
  0.13      0.01     0.01     0.00     0.00     8021  Module#method_defined?
  0.13      0.02     0.01     0.00     0.02     8012  BinData::AcceptedParametersMixin::ClassMethods#default_parameters
  0.13      0.07     0.01     0.00     0.07     3947  <Class::BinData::Struct>#sanitized_field_names
  0.11      1.02     0.01     0.00     1.02     8012  BinData::Struct#instantiate_all_objs
  0.11      0.01     0.01     0.00     0.00     8013  Hash#length
  0.11      0.01     0.01     0.00     0.00     8111  Kernel#initialize_dup
  0.11      0.01     0.01     0.00     0.00     3948  Array#&
  0.11      0.00     0.00     0.00     0.00     8095  <Class::Array>#allocate
  0.11      0.00     0.00     0.00     0.00     7896  <Class::BinData::Record>#arg_extractor
  0.09      0.01     0.00     0.00     0.01     3956  BinData::BasePrimitive#eql?
  0.09      0.01     0.00     0.00     0.00     8015  Hash#each_pair
  0.09      0.00     0.00     0.00     0.00     8028  <Class::Hash>#allocate
  0.09      0.00     0.00     0.00     0.00     7896  Kernel#freeze
  0.09      0.00     0.00     0.00     0.00     3948  Numeric#coerce
  0.09      0.00     0.00     0.00     0.00     3958  BinData::Choice#initialize_instance
  0.09      4.43     0.00     0.00     4.43     3947  <Class::Fit::Record>#read
  0.09      0.00     0.00     0.00     0.00    11864  Array#concat
  0.09      0.00     0.00     0.00     0.00    15939  Array#empty?
  0.07      0.05     0.00     0.00     0.04     4064  BinData::Bit2#read_and_return_value
  0.07      0.00     0.00     0.00     0.00     8035  Method#owner
  0.07      0.00     0.00     0.00     0.00     8095  Array#initialize_copy
  0.07      0.02     0.00     0.00     0.01     8111  Kernel#dup
  0.07      0.02     0.00     0.00     0.02      135  Module#class_eval
  0.07      0.01     0.00     0.00     0.01     3949  BinData::Base#reading?
  0.04      0.01     0.00     0.00     0.00     3947  <Class::BinData::Struct>#hidden_field_names
  0.04      0.00     0.00     0.00     0.00     8039  BinData::Choice#hook_after_current_choice
  0.02      0.00     0.00     0.00     0.00      131  <Class::BinData::Record>#define_field_accessors_for
  0.02      0.00     0.00     0.00     0.00        6  Module#module_eval
  0.02      0.00     0.00     0.00     0.00      234  BinData::Uint8#read_and_return_value
  0.02      0.01     0.00     0.00     0.01      117  BinData::DSLMixin::DSLParser#ensure_valid_field
  0.02      0.00     0.00     0.00     0.00     4082  Fixnum#|
  0.02      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#name_is_reserved?
  0.02      0.04     0.00     0.00     0.04       18  Class#initialize
  0.02      0.00     0.00     0.00     0.00      139  <Class::BinData::Base>#arg_extractor
  0.02      0.01     0.00     0.00     0.01      117  BinData::DSLMixin::DSLParser#ensure_valid_name
  0.02      0.01     0.00     0.00     0.01      117  BinData::SanitizedPrototype#initialize
  0.02      0.00     0.00     0.00     0.00      140  Array#pop
  0.02      0.00     0.00     0.00     0.00      132  BinData::Registry#lookup_key
  0.02      0.00     0.00     0.00     0.00      267  String#gsub
  0.02      0.00     0.00     0.00     0.00       12  Module#name
  0.02      0.00     0.00     0.00     0.00      117  BinData::Registry#lookup
  0.02      0.00     0.00     0.00     0.00     3956  Numeric#eql?
  0.02      0.00     0.00     0.00     0.00        9  <Class::Fit::Record::Data>#global_message_number=
  0.00      0.00     0.00     0.00     0.00      132  BinData::Registry#underscore_name
  0.00      0.04     0.00     0.00     0.04        9  Kernel#tap
  0.00      0.04     0.00     0.00     0.04       37  <Class::Fit::Record::Data>#generate
  0.00      0.00     0.00     0.00     0.00        9  <Module::Fit::MessageData>#get_name
  0.00      0.00     0.00     0.00     0.00        9  <Class::Class>#allocate
  0.00      0.00     0.00     0.00     0.00        1  <Object::BinData::Uint8le>#do_read
  0.00      0.00     0.00     0.00     0.00        1  <Object::BinData::Uint8le>#do_read_with_check_value
  0.00      0.00     0.00     0.00     0.00        1  Hash#keys
  0.00      0.00     0.00     0.00     0.00        1  <Class::BinData::RecordArgExtractor>#field_names_in_parameters?
  0.00      0.00     0.00     0.00     0.00       15  BinData::Registry#register
  0.00      0.00     0.00     0.00     0.00      117  BinData::Array#new_element
  0.00      0.00     0.00     0.00     0.00      117  BinData::Bit5#read_and_return_value
  0.00      0.00     0.00     0.00     0.00       24  NilClass#to_s
  0.00      0.00     0.00     0.00     0.00      132  String#sub
  0.00      0.00     0.00     0.00     0.00       27  BasicObject#singleton_method_added
  0.00      0.00     0.00     0.00     0.00        3  Module#alias_method
  0.00      0.00     0.00     0.00     0.00      136  BinData::BasePrimitive#initialize_shared_instance
  0.00      0.00     0.00     0.00     0.00        9  Integer#times
  0.00      0.00     0.00     0.00     0.00      140  Array#last
  0.00      0.00     0.00     0.00     0.00        1  BinData::BasePrimitive#check_value
  0.00      0.00     0.00     0.00     0.00       18  BinData::Array#elements
  0.00      0.00     0.00     0.00     0.00      132  String#tr
  0.00      0.00     0.00     0.00     0.00      132  String#downcase
  0.00      0.00     0.00     0.00     0.00       15  BinData::Registry#warn_if_name_is_already_registered
  0.00      0.00     0.00     0.00     0.00       12  <Class::BinData::Base>#register_subclasses
  0.00      0.02     0.00     0.00     0.02        9  BinData::Array#do_read
  0.00      0.00     0.00     0.00     0.00        9  Kernel#singleton_class
  0.00      0.00     0.00     0.00     0.00      154  BasicObject#==
  0.00      0.00     0.00     0.00     0.00        9  Module#remove_possible_method
  0.00      0.00     0.00     0.00     0.00        9  Module#remove_method
  0.00      0.00     0.00     0.00     0.00        9  NameError#initialize
  0.00      0.00     0.00     0.00     0.00        9  Exception#initialize
  0.00      0.00     0.00     0.00     0.00        9  Exception#exception
  0.00      0.00     0.00     0.00     0.00        9  Exception#backtrace
  0.00      0.00     0.00     0.00     0.00        9  Exception#set_backtrace
  0.00      0.00     0.00     0.00     0.00        9  Class#singleton_class?
  0.00      0.00     0.00     0.00     0.00        9  Module#ancestors
  0.00      0.00     0.00     0.00     0.00        9  Array#first
  0.00      0.00     0.00     0.00     0.00       18  Fit::Record::Definition#endianness
  0.00      0.00     0.00     0.00     0.00       10  BinData::DSLMixin::DSLParser#initialize
  0.00      0.03     0.00     0.00     0.03        9  BinData::Array#each
  0.00      0.00     0.00     0.00     0.00      234  Fit::Record::Definition::Field#type
  0.00      0.00     0.00     0.00     0.00      117  Fit::Record::Definition::Field#build_int_type
  0.00      0.00     0.00     0.00     0.00      285  Fixnum#to_s
  0.00      0.01     0.00     0.00     0.01      234  Fit::Record::Definition::Field#raw_name
  0.00      0.01     0.00     0.00     0.01      351  Fit::Record::Definition::Field#name
  0.00      0.01     0.00     0.00     0.01      819  Fit::Record::Definition::Field#data
  0.00      0.00     0.00     0.00     0.00      415  Module#method_added
  0.00      0.00     0.00     0.00     0.00      295  Module#define_method
  0.00      0.00     0.00     0.00     0.00       18  BinData::Bit8#read_and_return_value
  0.00      0.00     0.00     0.00     0.00      117  <Module::Fit::MessageData>#get_field
  0.00      0.00     0.00     0.00     0.00      219  Fit::Record::Definition::Field#scale
  0.00      0.00     0.00     0.00     0.00      102  Kernel#inspect
  0.00      0.00     0.00     0.00     0.00       12  Enumerable#each_with_index
  0.00      0.02     0.00     0.00     0.02      117  BinData::DSLMixin::DSLParser#method_missing
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#name_from_field_declaration
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#params_from_field_declaration
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#params_from_args
  0.00      0.00     0.00     0.00     0.00      117  Kernel#block_given?
  0.00      0.02     0.00     0.00     0.02      117  BinData::DSLMixin::DSLParser#append_field
  0.00      0.00     0.00     0.00     0.00        1  BinData::String#read_and_return_value
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#too_many_fields?
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#must_not_have_a_name_failed?
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#all_or_none_names_failed?
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#must_have_a_name_failed?
  0.00      0.00     0.00     0.00     0.00        1  <Class::Fit::Record>#clear_definitions!
  0.00      0.00     0.00     0.00     0.00        1  Hash#clear
  0.00      0.00     0.00     0.00     0.00       32  BinData::DSLMixin::DSLParser#parent_attribute
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#malformed_name?
  0.00      0.00     0.00     0.00     0.00      117  Kernel#!~
  0.00      0.00     0.00     0.00     0.00      129  Regexp#=~
  0.00      0.01     0.00     0.00     0.01      117  BinData::DSLMixin::DSLParser#duplicate_name?
  0.00      0.00     0.00     0.00     0.00       10  BinData::SanitizedFields#initialize
  0.00      0.00     0.00     0.00     0.00       10  BinData::SanitizedFields#copy_fields
  0.00      0.01     0.00     0.00     0.01      117  BinData::SanitizedFields#has_field_name?
  0.00      0.01     0.00     0.00     0.01      117  Enumerable#detect
  0.00      0.00     0.00     0.00     0.00      117  BinData::DSLMixin::DSLParser#name_shadows_method?
  0.00      0.00     0.00     0.00     0.00        9  IO#seek
  0.00      0.00     0.00     0.00     0.00      117  Hash#include?
  0.00      0.01     0.00     0.00     0.01      117  BinData::SanitizedFields#add_field
  0.00      0.01     0.00     0.00     0.01      117  BinData::SanitizedField#initialize
  0.00      0.00     0.00     0.00     0.00        9  BinData::IO#seekbytes
  0.00      0.00     0.00     0.00     0.00        9  BinData::Skip#read_and_return_value
  0.00      0.00     0.00     0.00     0.00      117  Hash#has_key?
  0.00      0.00     0.00     0.00     0.00       16  Hash#initialize_copy
  0.00      0.00     0.00     0.00     0.00      117  <Class::BinData::Base>#sanitize_parameters!
  0.00      0.00     0.00     0.00     0.00       16  BinData::AcceptedParametersMixin::AcceptedParameters#optional
  0.00      0.00     0.00     0.00     0.00       10  BinData::Array#initialize_instance
  0.00      0.00     0.00     0.00     0.00        1  Proc#yield
  0.00      0.00     0.00     0.00     0.00       16  BinData::AcceptedParametersMixin::AcceptedParameters#initialize
  0.00      0.00     0.00     0.00     0.00        3  BinData::Registry#try_registering_key
  0.00      0.00     0.00     0.00     0.00      106  Class#superclass
  0.00      0.00     0.00     0.00     0.00        3  String#upcase
  0.00      0.00     0.00     0.00     0.00        6  Module#const_get
  0.00      0.00     0.00     0.00     0.00        3  <Module::BinData>#const_missing_with_int
  0.00      0.00     0.00     0.00     0.00       12  Regexp#hash
  0.00      0.00     0.00     0.00     0.00        3  String#to_i
  0.00      0.00     0.00     0.00     0.00       35  Fixnum#zero?
  0.00      0.00     0.00     0.00     0.00        6  <Module::BinData::Int>#define_class
  0.00      0.00     0.00     0.00     0.00        3  <Module::BinData::Int>#class_name
  0.00      0.00     0.00     0.00     0.00        3  Module#const_defined?
  0.00      0.00     0.00     0.00     0.00        1  BinData::Array#initialize_shared_instance
  0.00      0.00     0.00     0.00     0.00        6  String#to_s
  0.00      0.00     0.00     0.00     0.00        3  <Module::BinData::Int>#define_methods
  0.00      0.00     0.00     0.00     0.00        6  <Module::BinData::Int>#create_clamp_code
  0.00      0.00     0.00     0.00     0.00     3947  BasicObject#initialize
  0.00      0.00     0.00     0.00     0.00        6  Fixnum#-@
  0.00      0.00     0.00     0.00     0.00        3  <Module::BinData::Int>#create_int2uint_code
  0.00      0.00     0.00     0.00     0.00     3956  BinData::Choice#hook_before_do_read
  0.00      0.00     0.00     0.00     0.00        3  <Module::BinData::Int>#create_to_binary_s_code
  0.00      0.00     0.00     0.00     0.00       10  <Module::BinData::Int>#bytes_per_word
  0.00      0.00     0.00     0.00     0.00       10  <Class::Range>#allocate
  0.00      0.00     0.00     0.00     0.00        7  Enumerable#collect
  0.00      0.00     0.00     0.00     0.00       10  Range#each
  0.00      0.00     0.00     0.00     0.00        5  Array#join
  0.00      0.00     0.00     0.00     0.00        2  BinData::Choice#initialize_shared_instance
  0.00      0.00     0.00     0.00     0.00        5  <Module::BinData::Int>#pack_directive
  0.00      0.00     0.00     0.00     0.00        5  String#*
  0.00      0.00     0.00     0.00     0.00        3  <Module::BinData::Int>#create_read_code
  0.00      0.00     0.00     0.00     0.00        3  Enumerable#to_a
  0.00      0.00     0.00     0.00     0.00        1  Fit::File#initialize
  0.00      0.00     0.00     0.00     0.00        3  <Module::BinData::Int>#create_uint2int_code
  0.00      0.00     0.00     0.00     0.00        3  Module#private
  0.00      4.57     0.00     0.00     4.57        1  <Class::Fit::File>#read
  0.00      0.00     0.00     0.00     0.00        1  File#initialize
  0.00      0.00     0.00     0.00     0.00        1  <Class::IO>#allocate
  0.00      0.00     0.00     0.00     0.00        1  <Class::IO>#open
  0.00      4.57     0.00     0.00     4.57        1  <Module::Fit>#load_file
  0.00      0.00     0.00     0.00     0.00        1  Array#[]
  0.00      4.57     0.00     0.00     4.57        1  Global#[No method]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant