{"id":21429986,"url":"https://github.com/mblumtritt/ros","last_synced_at":"2025-03-16T21:44:33.557Z","repository":{"id":36478917,"uuid":"40784476","full_name":"mblumtritt/ros","owner":"mblumtritt","description":"Ruby On Speed - an open collection of Ruby benchmarks","archived":false,"fork":false,"pushed_at":"2025-01-08T16:22:42.000Z","size":303,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-23T08:19:02.715Z","etag":null,"topics":["benchmark","ruby","ruby-benchmark"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mblumtritt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-08-15T20:53:34.000Z","updated_at":"2025-01-08T16:22:46.000Z","dependencies_parsed_at":"2023-12-19T19:48:19.041Z","dependency_job_id":"98b5221c-3c42-44ff-84e8-fc08adb8ef10","html_url":"https://github.com/mblumtritt/ros","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblumtritt%2Fros","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblumtritt%2Fros/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblumtritt%2Fros/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mblumtritt%2Fros/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mblumtritt","download_url":"https://codeload.github.com/mblumtritt/ros/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243940062,"owners_count":20372044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","ruby","ruby-benchmark"],"created_at":"2024-11-22T22:20:00.228Z","updated_at":"2025-03-16T21:44:33.532Z","avatar_url":"https://github.com/mblumtritt.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ruby On Speed\n\nAn open collection of Ruby benchmarks.\n\nRuby On Speed (ROS) allows you to run your Ruby code idioms in an elegant and\nreproducible way. It's based on the wonderful\n[Benchmark/Ips](https://github.com/evanphx/benchmark-ips) gem and provides an\neasy to use DSL to create the benchmark collection.\n\n## Usage\n\n### Get Help\n\n```shell\n./bin/ros help\n```\n\n### List All Benchmarks\n\n```shell\n./bin/ros list\n```\n\n### Test All Benchmarks\n\n```shell\n./bin/ros test\n```\n\n### Run All Benchmarks\n\n```shell\n./bin/ros run\n```\n\n## List of Benchmarks\n\n- [Array:add](./benchmarks/array/add_bench.rb) - add items to an Array\n- [Array:combine](./benchmarks/array/combine_bench.rb) - create an combined Array\n- [Array:compact](./benchmarks/array/compact_bench.rb) - remove all nil elements from an Array\n- [Array:concat](./benchmarks/array/concat_bench.rb) - concatenate two Arrays\n- [Array:contains](./benchmarks/array/contains_bench.rb) - check if an Array contains an element\n- [Array:contains_array](./benchmarks/array/contains_array_bench.rb) - Array elements included in another Array\n- [Array:copy](./benchmarks/array/copy_bench.rb) - create a copy of an Array\n- [Array:empty](./benchmarks/array/empty_bench.rb) - use of an empty Array\n- [Array:fill](./benchmarks/array/fill_bench.rb) - create an Array with Integers\n- [Array:find_sorted](./benchmarks/array/find_sorted_bench.rb) - find element in a sorted Array\n- [Array:first](./benchmarks/array/first_bench.rb) - access the first element of an Array\n- [Array:group](./benchmarks/array/group_bench.rb) - group Array in number of sub-arrays\n- [Array:include](./benchmarks/array/const_bench.rb) - check if element is contained\n- [Array:index](./benchmarks/array/index_bench.rb) - find the index of an Array element\n- [Array:index_iterate](./benchmarks/array/index_iterate_bench.rb) - iterate all elements\n- [Array:iterate](./benchmarks/array/iterate_bench.rb) - iterate over all Array elements\n- [Array:last](./benchmarks/array/last_bench.rb) - access the last element of an Array\n- [Array:map](./benchmarks/array/map_bench.rb) - modify all elements of an Array\n- [Array:map_some](./benchmarks/array/map_some_bench.rb) - modify\n- [Array:min](./benchmarks/array/min_bench.rb) - find the lowest element of an Array\n- [Array:pack](./benchmarks/array/pack_bench.rb) - pack a binary sequence\n- [Array:sample](./benchmarks/array/sample_bench.rb) - get a random element of an Array\n- [Array:size](./benchmarks/array/size_bench.rb) - get the count of Array entries\n- [Array:unique](./benchmarks/array/uniq_bench.rb) - remove all duplicates from an Array\n- [Boolean:assign](./benchmarks/boolean/assign_bench.rb) - assign value\n- [Date:distance](./benchmarks/date/distance_bench.rb) - calculate number of days between two dates\n- [Float:const](./benchmarks/float/consts_bench.rb) - float constants\n- [Float:from_string](./benchmarks/float/from_string_bench.rb) - convert a String to Float\n- [Float:square](./benchmarks/float/square_bench.rb) - calculate the square of a Float\n- [Float:zero](./benchmarks/float/zero_bench.rb) - test if a Float is zero\n- [Hash:access](./benchmarks/hash/access_bench.rb) - get values of Hash in Hash\n- [Hash:as_string](./benchmarks/hash/as_string_bench.rb) - create a key/value String\n- [Hash:copy](./benchmarks/hash/copy_bench.rb) - create a copy of a Hash\n- [Hash:from_array](./benchmarks/hash/from_array_bench.rb) - create a Hash from an Array\n- [Hash:from_indexed_array](./benchmarks/hash/from_indexed_array_bench.rb) - create a Hash from positional Array\n- [Hash:invalid_value](./benchmarks/hash/invalid_value_bench.rb) - find non-existing value of Hash\n- [Hash:merge](./benchmarks/hash/merge_bench.rb) - merge two Hashes\n- [Hash:store](./benchmarks/hash/store_bench.rb) - add a key/value pair to a Hash\n- [Hash:symbolize](./benchmarks/hash/symbolize_bench.rb) - symbolize all keys of a Hash\n- [Hash:value](./benchmarks/hash/value_bench.rb) - find value from a key\n- [Integer:from_string](./benchmarks/integer/from_string_bench.rb) - convert a String to Integer\n- [Integer:min_max](./benchmarks/integer/min_max_bench.rb) - find min and max\n- [Integer:rand](./benchmarks/integer/rand_bench.rb) - check 50% chance\n- [Integer:range](./benchmarks/integer/range_bench.rb) - check if value is in a range\n- [Integer:square](./benchmarks/integer/square_bench.rb) - calculate the square of a Integer\n- [Integer:zero](./benchmarks/integer/zero_bench.rb) - test if an Integer is zero\n- [Object:class](./benchmarks/object/class_bench.rb) - test if an Object is derived from a Class\n- [Object:method_argument](./benchmarks/ruby/argument_bench.rb) - test (default) arguments\n- [Object:respond_to](./benchmarks/object/respond_to_bench.rb) - test if object responds to\n- [Proc:call](./benchmarks/proc/call_bench.rb) - call a Proc with parameters\n- [Proc:to_proc](./benchmarks/proc/to_proc_bench.rb) - to_proc vs. call\n- [Range:comparison](./benchmarks/range/comparison_bench.rb) - is a Comparable in a Range\n- [Range:rand](./benchmarks/range/rand_bench.rb) - get a random element of a Range\n- [Range:to_a](./benchmarks/range/to_a_bench.rb) - convert a Range to an Array\n- [Regexp:match](./benchmarks/regexp/const_bench.rb) - find Match of an Regexp\n- [Regexp:match](./benchmarks/regexp/inline_bench.rb) - named match groups\n- [Ruby:CONST](./benchmarks/ruby/const_bench.rb) - using a constant\n- [Ruby:accessor](./benchmarks/ruby/accessor_bench.rb) - access object member\n- [Ruby:any](./benchmarks/ruby/any_bench.rb) - single test vs. any\n- [Ruby:assign](./benchmarks/ruby/assign_bench.rb) - variable assignment\n- [Ruby:block](./benchmarks/ruby/block_bench.rb) - call a block\n- [Ruby:const](./benchmarks/ruby/const_val_bench.rb) - const value access\n- [Ruby:const_get](./benchmarks/ruby/const_get_bench.rb) - get a constant value\n- [Ruby:defined](./benchmarks/ruby/const_defined_bench.rb) - const_defined\n- [Ruby:defined](./benchmarks/ruby/method_defined_bench.rb) - method_defined\n- [Ruby:endless_loop](./benchmarks/ruby/loop2_bench.rb) - different (nearly) endless loops\n- [Ruby:ensure](./benchmarks/ruby/ensure_bench.rb) - cost of ensure call\n- [Ruby:forwarding](./benchmarks/ruby/forwarding_bench.rb) - forward a call\n- [Ruby:if](./benchmarks/ruby/if_bench.rb) - if vs. ternary if vs. and\n- [Ruby:loop](./benchmarks/ruby/loop_bench.rb) - different loops\n- [Ruby:method_call](./benchmarks/ruby/method_call_bench.rb) - calling methods\n- [Ruby:variable](./benchmarks/ruby/variable_bench.rb) - access a value\n- [Some:main](./benchmarks/local/some_bench.rb) - Some:main\n- [String: replace_first](./benchmarks/string/replace_first_bench.rb) - replace first sub string\n- [String::format](./benchmarks/string/format_bench.rb) - format a Float with two digits\n- [String:casecmp](./benchmarks/string/compare_bench.rb) - comparing two Strings case-insensitive\n- [String:concat](./benchmarks/string/concat_bench.rb) - concat two Strings\n- [String:contains](./benchmarks/string/contains_bench.rb) - test if a String contains another String\n- [String:copy](./benchmarks/string/copy_bench.rb) - create a String copy\n- [String:line_split](./benchmarks/string/line_split_bench.rb) - split lines\n- [String:lines_count](./benchmarks/string/lines_count_bench.rb) - count number of lines\n- [String:remove_char](./benchmarks/string/remove_char_bench.rb) - remove a single char\n- [String:remove_chars](./benchmarks/string/remove_chars_bench.rb) - remove some chars\n- [String:replace](./benchmarks/string/replace_bench.rb) - replace all sub strings\n- [String:start](./benchmarks/string/start_bench.rb) - test if s String starts with a given String\n- [String:unpack](./benchmarks/string/unpack_bench.rb) - Integers from binary String\n- [Struct:access](./benchmarks/struct/access_bench.rb) - access member Struct/Hash\n- [Struct:access_cmp](./benchmarks/struct/read_cmp_bench.rb) - read access member Struct/Data/Hash\n- [Struct:create](./benchmarks/struct/create_bench.rb) - create a Struct/Data/Hash\n- [Struct:member](./benchmarks/struct/member_bench.rb) - access the member of a Struct\n- [Symbol:convert](./benchmarks/symbol/convert_bench.rb) - convert to a Symbol\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmblumtritt%2Fros","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmblumtritt%2Fros","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmblumtritt%2Fros/lists"}