Stephen (@stevediaconou) 's Twitter Profile
Stephen

@stevediaconou

Ruby dev & freelancer. github.com/stevegeek, index.rubygems.org/profiles/steve… . See bsky.app/profile/steved…

ID: 1333296301291802624

linkhttp://diaconou.com calendar_today30-11-2020 06:26:49

37 Tweet

1,1K Takipçi

720 Takip Edilen

Stephen (@stevediaconou) 's Twitter Profile Photo

This was a fun first for me..! We talked about how I started in OSS years ago (not actually coding) & how/why I recently got back into contributing (thanks Richard Schneeman for How to Open Source). And mention Maxime Chevalier, @joeldrapper & Marco Roth as doing great work right now in Ruby

Stephen (@stevediaconou) 's Twitter Profile Photo

New blog post: How to use AWS Route53, S3 and Cloudfront to setup a CDN cached redirect for your root/apex/naked domain to `www`, or vice versa. diaconou.com/blog/non-www-t…

Stephen (@stevediaconou) 's Twitter Profile Photo

So, a gem provides additional optional features, which have optional dependancies, what is preferable? 1) split gem into multiple gems, with deps for each defined in each gemspec 2) just one gem with no declared dependencies in gemspec and then use a require & rescue approach

Stephen (@stevediaconou) 's Twitter Profile Photo

Im optimising the pure Ruby hashids gem. 3x speed up so far. Also comparing it to the C hashids impl via a C ext. YJIT is amazing, takes the Ruby from 32x to 9x slower than C ext (w. 3.4+YJIT). Struggling to get closer tho, hoping to find more tweaks to help YJIT get there!

Im optimising the pure Ruby hashids gem. 3x speed up so far.

Also comparing it to the C hashids impl via a C ext. 

YJIT is amazing, takes the Ruby from 32x to 9x slower than C ext (w. 3.4+YJIT).

Struggling to get closer tho, hoping to find more tweaks to help YJIT get there!
Stephen (@stevediaconou) 's Twitter Profile Photo

Great day 1 at #EuRuKo2024 , met lots of lovely people, and heard great talks/chats by Ruby community legends like Xavier Noria , Irina Nazarova and José Valim . Big thanks to team EuRuKo for putting it together

Stephen (@stevediaconou) 's Twitter Profile Photo

So looking at `YJIT.runtime_stats` sheds some light on this: explosion in the amount of generated code it seems when there are method defs nested in others. I will see if I can produce a more minimal example from the original code to show how I get this result

So looking at `YJIT.runtime_stats` sheds some light on this: explosion in the amount of generated code it seems when there are method defs nested in others. 

I will see if I can produce a more minimal example from the original code to show how I get this result