Hi Everyone,
I started on a series to learn by reversing a simple native C Ruby
gem. Part 6 is now published! It looks at how to benchmark the
native gem.
Link to Part 6:
https://notepad.onghu.com/2023/learning-by-reversing-s1-e6-native-gems/
The whole series is available at:
https://notepad.onghu.com/2023/learning-by-reversing-s1-native-gems/
* Part 1 -
This covers the background to the gem we
explore
Link: https://notepad.onghu.com/2023/learning-by-reversing-s1-e1-native-gems/
* Part 2 - This goes into the details of how ruby loads the
native gem and extension (and includes a nice sequence diagram
of how all the bits happen together)
Link: https://notepad.onghu.com/2023/learning-by-reversing-s1-e2-native-gems/
* Part 3 - How do we ensure that we have everything
and that it actually gets built at installation?
Link: https://notepad.onghu.com/2023/learning-by-reversing-s1-e3-native-gems/
* Part 4 - Understanding the development Makefil
Link: https://notepad.onghu.com/2023/learning-by-reversing-s1-e4-native-gems/
* Part 5 - The Ruby C/API
Link: https://notepad.onghu.com/2023/learning-by-reversing-s1-e5-native-gems/
There are more parts planned, including documenting the code,
running the specs and enhancing the gem.
Comments on the posts or the plans welcome. I'm @onghu on
Twitter or @onghu@ruby.social
on Mastodon if you're on either.
Best regards,
Mohit.