Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Sep 29, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

k0kubun and others added 3 commits September 29, 2025 08:55
No point taking the panic risks with RefCell when most fields in it are
already in a Cell. Put `iseq` in a Cell and we no longer need the
wrapping. Saves memory, too.
* ZJIT: Add stats for cfuncs that are not optimized

* ZJIT: Add IncrCounterPtr HIR instead

From `lobsters`

```
Top-20 Unoptimized C functions (73.0% of total 15,276,688):
                               Kernel#is_a?: 2,052,363 (13.4%)
                              Class#current: 1,892,623 (12.4%)
                                String#to_s:   975,973 ( 6.4%)
                                  Hash#key?:   677,623 ( 4.4%)
                              String#empty?:   636,468 ( 4.2%)
                              TrueClass#===:   457,232 ( 3.0%)
                                   Hash#[]=:   455,908 ( 3.0%)
                             FalseClass#===:   448,798 ( 2.9%)
         ActiveSupport::OrderedOptions#_get:   377,468 ( 2.5%)
                            Kernel#kind_of?:   339,551 ( 2.2%)
                                 Kernel#dup:   329,371 ( 2.2%)
                                  String#==:   324,286 ( 2.1%)
                            String#include?:   297,528 ( 1.9%)
                                    Hash#[]:   294,561 ( 1.9%)
                             Array#include?:   287,145 ( 1.9%)
                        Kernel#block_given?:   283,633 ( 1.9%)
                             BasicObject#!=:   278,874 ( 1.8%)
                                Hash#delete:   250,951 ( 1.6%)
                               Set#include?:   246,447 ( 1.6%)
                               NilClass#===:   242,776 ( 1.6%)
```

From `liquid-render`

```
Top-20 Unoptimized C functions (99.8% of total 5,195,549):
                          Hash#key?: 2,459,048 (47.3%)
                        String#to_s: 1,119,758 (21.6%)
                       Set#include?:   799,469 (15.4%)
                       Kernel#is_a?:   214,223 ( 4.1%)
                         Integer#<<:   171,073 ( 3.3%)
                          Integer#/:   127,622 ( 2.5%)
          CGI::EscapeExt#escapeHTML:    56,971 ( 1.1%)
                         Regexp#===:    50,008 ( 1.0%)
                      String#empty?:    43,990 ( 0.8%)
                         String#===:    36,838 ( 0.7%)
                          String#==:    21,309 ( 0.4%)
                      Time#strftime:    21,251 ( 0.4%)
                       String#strip:    15,271 ( 0.3%)
                        String#scan:    13,753 ( 0.3%)
                          String#+@:    12,603 ( 0.2%)
                     Array#include?:     8,059 ( 0.2%)
                           String#+:     5,295 ( 0.1%)
                         String#dup:     4,606 ( 0.1%)
                          String#-@:     3,213 ( 0.1%)
                     Class#generate:     3,011 ( 0.1%)
```
@pull pull bot locked and limited conversation to collaborators Sep 29, 2025
@pull pull bot added the ⤵️ pull label Sep 29, 2025
@pull pull bot merged commit 1083c2c into turkdevops:master Sep 29, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants