• R
    Avoid redundant `attribute_alias?` before `attribute_alias` · 5575bd7b
    Ryuta Kamizono 提交于
    If we want to get alias resolved attribute finally, we can use
    `attribute_alias` directly.
    
    For that purpose, avoiding redundant `attribute_alias?` makes alias
    attribute access 40% faster.
    
    https://gist.github.com/kamipo/e427f080a27b46f50bc508fae3612a0e
    
    Before (2c0729d8):
    
    ```
    Warming up --------------------------------------
              user['id']   102.668k i/100ms
          user['new_id']    80.660k i/100ms
            user['name']    99.368k i/100ms
        user['new_name']    81.626k i/100ms
    Calculating -------------------------------------
              user['id']      1.431M (± 4.0%) i/s -      7.187M in   5.031985s
          user['new_id']      1.042M (± 4.2%) i/s -      5.243M in   5.039858s
            user['name']      1.406M (± 5.6%) i/s -      7.055M in   5.036743s
        user['new_name']      1.074M (± 3.6%) i/s -      5.387M in   5.024152s
    ```
    
    After (this change):
    
    ```
    Warming up --------------------------------------
              user['id']   109.775k i/100ms
          user['new_id']   103.303k i/100ms
            user['name']   105.988k i/100ms
        user['new_name']    99.618k i/100ms
    Calculating -------------------------------------
              user['id']      1.520M (± 6.7%) i/s -      7.574M in   5.011496s
          user['new_id']      1.485M (± 6.2%) i/s -      7.438M in   5.036252s
            user['name']      1.538M (± 5.4%) i/s -      7.737M in   5.049765s
        user['new_name']      1.516M (± 4.6%) i/s -      7.571M in   5.007293s
    ```
    5575bd7b
dirty.rb 7.6 KB