Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rubocop/rubocop-performance
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.22.0
Choose a base ref
...
head repository: rubocop/rubocop-performance
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
  • 7 commits
  • 8 files changed
  • 1 contributor

Commits on Sep 16, 2024

  1. Configuration menu
    Copy the full SHA
    f74a890 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. [Fix #468] Fix false positives for `Performance/BigDecimalWithNumeric…

    …Argument`
    
    Fixes #468.
    
    This PR fixes false positives for `Performance/BigDecimalWithNumericArgument`
    when using float argument for `BigDecimal`.
    
    In Ruby 3.1 and later, cases where numbers are faster than strings are limited to `Integer`.
    For `Float`, strings are still faster:
    
    ```console
    $ cat example.rb
    require 'benchmark/ips'
    require 'bigdecimal'
    require 'bigdecimal/util'
    
    Benchmark.ips do |x|
      x.report('float string')             { BigDecimal('4.2') }
      x.report('float with prec')          { BigDecimal(4.2, Float::DIG + 1) }
      x.report('to_d string without prec') { '4.2'.to_d }
      x.report('to_d float without prec')  { 4.2.to_d }
      x.report('to_d float with prec')     { 4.2.to_d(Float::DIG + 1) }
      x.compare!
    end
    ```
    
    ```console
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    Warming up --------------------------------------
            float string   246.214k i/100ms
         float with prec   173.880k i/100ms
    to_d string without prec
                           255.950k i/100ms
    to_d float without prec
                           181.033k i/100ms
    to_d float with prec   151.091k i/100ms
    Calculating -------------------------------------
            float string      2.418M (± 5.5%) i/s -     12.064M in   5.004969s
          float with prec      1.685M (± 4.0%) i/s -      8.520M in   5.064059s
    to_d string without prec
                              2.460M (± 4.2%) i/s -     12.286M in   5.002392s
    to_d float without prec
                              1.781M (± 6.5%) i/s -      8.871M in   5.007829s
    to_d float with prec      1.584M (± 5.7%) i/s -      8.008M in   5.072184s
    
    Comparison:
    to_d string without prec:  2460462.7 i/s
            float string:  2418003.6 i/s - same-ish: difference falls within error
    to_d float without prec:  1781070.6 i/s - 1.38x  slower
         float with prec:  1685372.9 i/s - 1.46x  slower
    to_d float with prec:  1584419.5 i/s - 1.55x  slower
    ```
    koic committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    6bb06b2 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #469 from koic/fix_false_positives_for_performance…

    …_big_decimal_with_numeric_argument_cop
    
    [Fix #468] Fix false positives for `Performance/BigDecimalWithNumericArgument`
    koic authored Sep 17, 2024
    Configuration menu
    Copy the full SHA
    100cdfe View commit details
    Browse the repository at this point in the history
  3. Update Changelog

    koic committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    3188974 View commit details
    Browse the repository at this point in the history
  4. Cut 1.22.1

    koic committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    69c5abc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c75628f View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2024

  1. Use RuboCop RSpec 3.1

    koic committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    fb0a21b View commit details
    Browse the repository at this point in the history
Loading