David Kimura PRO
Joined 7/18/2015
Drifting Ruby Owner
David Kimura PRO said over 5 years ago on A Rubyist's Apple M1 Review :
  not really. A lot of things do compile and work under the arm64 binary of homebrew. As you noted, things like postgresql seem to work. I haven't done any tests with using the system ruby version. However, I have tested things out with asdf ruby and rvm ruby (both arm64 and intel)

Until things stabalize, I'd recommend doing homebrew under Rosetta.

David Kimura PRO said over 5 years ago on Deeper Dive into StimulusJS :
  I agree. This application was in that weird transitional phase where the app/assets/javascript/application.js still had the require of UJS

//= require rails-ujs

However, on modern setups where webpacker is present and the asset pipeline is no longer handling the JS, you're absolutely correct.

David Kimura PRO said over 5 years ago on Record Audio to Active Storage :
  I do not currently have one for reading the metadata tags, but I like the idea. I think that changing the metadata could be a bit more difficult, but reading it should be possible.

David Kimura PRO said over 5 years ago on GitHub Actions :
  It looks like they have gone through several updates. Check out https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby and click on the green dropdown on the top right to see the different versions. They do recommend to use ruby/setup-ruby@v1 which I guess will take in all of the updates.


David Kimura PRO said over 5 years ago on Ruby on Docker :
  I just ran some benchmarks and they're pretty interesting. The M1 does have some overhead in Docker, but is still very performant.  Even running Ruby in Docker on the M1 is faster than the Mac Pro 8-Core. 

Apple M1 (Host Ruby ARM)

Warming up --------------------------------------
                 for     5.000  i/100ms
               times     5.000  i/100ms
                upto     4.000  i/100ms
Calculating -------------------------------------
                 for     51.465  (± 0.0%) i/s -    260.000  in   5.052005s
               times     49.005  (± 0.0%) i/s -    250.000  in   5.101558s
                upto     48.883  (± 0.0%) i/s -    248.000  in   5.073392s

Comparison:
                 for:       51.5 i/s
               times:       49.0 i/s - 1.05x  (± 0.00) slower
                upto:       48.9 i/s - 1.05x  (± 0.00) slower

Apple M1 (Docker Ruby ARM)

Warming up --------------------------------------
                 for     3.000  i/100ms
               times     4.000  i/100ms
                upto     4.000  i/100ms
Calculating -------------------------------------
                 for     36.880  (± 0.0%) i/s -    186.000  in   5.043469s
               times     42.139  (± 0.0%) i/s -    212.000  in   5.031015s
                upto     42.166  (± 0.0%) i/s -    212.000  in   5.027795s

Comparison:
                upto:       42.2 i/s
               times:       42.1 i/s - 1.00x  (± 0.00) slower
                 for:       36.9 i/s - 1.14x  (± 0.00) slower

Mac Pro 8-Core (Host Ruby x86)

Warming up --------------------------------------
                 for     2.000  i/100ms
               times     2.000  i/100ms
                upto     2.000  i/100ms
Calculating -------------------------------------
                 for     28.364  (± 3.5%) i/s -    142.000  in   5.011655s
               times     28.477  (± 3.5%) i/s -    144.000  in   5.059955s
                upto     28.810  (± 3.5%) i/s -    144.000  in   5.002301s

Comparison:
                upto:       28.8 i/s
               times:       28.5 i/s - same-ish: difference falls within error
                 for:       28.4 i/s - same-ish: difference falls within error

Mac Pro 8-Core (Docker Ruby x86)

Warming up --------------------------------------
                 for     3.000  i/100ms
               times     3.000  i/100ms
                upto     3.000  i/100ms
Calculating -------------------------------------
                 for     34.549  (± 2.9%) i/s -    174.000  in   5.043895s
               times     35.430  (± 2.8%) i/s -    177.000  in   5.000668s
                upto     35.783  (± 2.8%) i/s -    180.000  in   5.036034s

Comparison:
                upto:       35.8 i/s
               times:       35.4 i/s - same-ish: difference falls within error
                 for:       34.5 i/s - same-ish: difference falls within error