Skip to content
  • Jean Boussier's avatar
    a3f58964
    Time#strftime: grow the buffer faster · a3f58964
    Jean Boussier authored
    Use a classic doubling of capacity rather than only adding
    twice as much capacity as is already known to be needed.
    
    ```
    compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19c) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T11:46:02Z opt-strftime-growth 586263d6fb) +YJIT [arm64-darwin23]
    warming up...
    
    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.strftime("%FT%T")      |      1.754M|    1.889M|
    |                            |           -|     1.08x|
    |time.strftime("%FT%T.%3N")  |      1.508M|    1.749M|
    |                            |           -|     1.16x|
    |time.strftime("%FT%T.%6N")  |      1.488M|    1.756M|
    |                            |           -|     1.18x|
    compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19c) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19c) +YJIT [arm64-darwin23]
    warming up...
    ```
    a3f58964
    Time#strftime: grow the buffer faster
    Jean Boussier authored
    Use a classic doubling of capacity rather than only adding
    twice as much capacity as is already known to be needed.
    
    ```
    compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19c) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T11:46:02Z opt-strftime-growth 586263d6fb) +YJIT [arm64-darwin23]
    warming up...
    
    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.strftime("%FT%T")      |      1.754M|    1.889M|
    |                            |           -|     1.08x|
    |time.strftime("%FT%T.%3N")  |      1.508M|    1.749M|
    |                            |           -|     1.16x|
    |time.strftime("%FT%T.%6N")  |      1.488M|    1.756M|
    |                            |           -|     1.18x|
    compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19c) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19c) +YJIT [arm64-darwin23]
    warming up...
    ```
Loading