Skip to content
  • Rafael Mendonça França's avatar
    9bbb3ca3
    Use &= instead of select with include? · 9bbb3ca3
    Rafael Mendonça França authored
    The performance is almost the same with both implementations but this is
    clear.
    
    Before this patch:
    
    Calculating -------------------------------------
      small erb template      1452 i/100ms
    -------------------------------------------------
      small erb template    17462.1 (±13.3%) i/s -      85668 in   5.031395s
    .Calculating -------------------------------------
    small erb template with 1 partial
                               887 i/100ms
    -------------------------------------------------
    small erb template with 1 partial
                             8899.6 (±18.8%) i/s -      42576 in   5.009453s
    .Calculating -------------------------------------
    small erb template with 2 partials
                               666 i/100ms
    -------------------------------------------------
    small erb template with 2 partials
                             6821.5 (±8.8%) i/s -      33966 in   5.020791s
    
    After the patch:
    
    Calculating -------------------------------------
      small erb template      1479 i/100ms
    -------------------------------------------------
      small erb template    15956.6 (±7.6%) i/s -      79866 in   5.036001s
    .Calculating -------------------------------------
    small erb template with 1 partial
                               841 i/100ms
    -------------------------------------------------
    small erb template with 1 partial
                             9242.2 (±6.9%) i/s -      46255 in   5.029497s
    .Calculating -------------------------------------
    small erb template with 2 partials
                               615 i/100ms
    -------------------------------------------------
    small erb template with 2 partials
                             6524.7 (±6.8%) i/s -      32595 in   5.020456s
    
    You can find the benchmark code at
    https://gist.github.com/rafaelfranca/dee31120cfdb1ddc3b56
    9bbb3ca3
    Use &= instead of select with include?
    Rafael Mendonça França authored
    The performance is almost the same with both implementations but this is
    clear.
    
    Before this patch:
    
    Calculating -------------------------------------
      small erb template      1452 i/100ms
    -------------------------------------------------
      small erb template    17462.1 (±13.3%) i/s -      85668 in   5.031395s
    .Calculating -------------------------------------
    small erb template with 1 partial
                               887 i/100ms
    -------------------------------------------------
    small erb template with 1 partial
                             8899.6 (±18.8%) i/s -      42576 in   5.009453s
    .Calculating -------------------------------------
    small erb template with 2 partials
                               666 i/100ms
    -------------------------------------------------
    small erb template with 2 partials
                             6821.5 (±8.8%) i/s -      33966 in   5.020791s
    
    After the patch:
    
    Calculating -------------------------------------
      small erb template      1479 i/100ms
    -------------------------------------------------
      small erb template    15956.6 (±7.6%) i/s -      79866 in   5.036001s
    .Calculating -------------------------------------
    small erb template with 1 partial
                               841 i/100ms
    -------------------------------------------------
    small erb template with 1 partial
                             9242.2 (±6.9%) i/s -      46255 in   5.029497s
    .Calculating -------------------------------------
    small erb template with 2 partials
                               615 i/100ms
    -------------------------------------------------
    small erb template with 2 partials
                             6524.7 (±6.8%) i/s -      32595 in   5.020456s
    
    You can find the benchmark code at
    https://gist.github.com/rafaelfranca/dee31120cfdb1ddc3b56
Loading