Review: Ruby Performance @ Ruby East
Ezra Zygmuntowicz, creator of Merb, gave a eye-opening talk about Ruby performance and why the stigma that “Ruby is slow” led him to prove everyone wrong in creating Merb.
Quick overview (pros):
- Benchmarking was discussed, using Ruby Benchmark library and the Ruby-Profile gem/lib. I liked how he has a profile method setup in Merb (and can be ported out to any app) to do quick profiling of blocks of code. As well as the significance of profiling/benchmarking while you develop.
- The idea of “Less meta-programming tricks” and keeping things simple.
- Benchmarking of options hash as arguments for methods and Symbol.to_proc, amongst others Ezra demonstrated.
Above all, what stuck with me the most was his explanation of why he created Merb, for speed and less framework code. Ezra proclaimed that Rails has been great at extending new ideas into the development community. As well as pushing Ruby into the mainstream.
As far as Merb goes I’ve learned that its great for file uploading and gateway stream buffering. Example: Merb can initiate an authenticated stream with S3, then push the data through Merb to the end client.
Merb is also has a feature called PartControllers. PartControllers are apparently smaller Rails-ish controller classes that do not handle params, sessions or requests and instead provide actions for smaller widgets or controller-in-controller. Example: You would like to have a small RSS Feed reader (PartController) within a view initiated from your StoreController, etc…
To sum it all up, Merb allows you to implement Ruby web applications, generally like Rails, but without being forced idioms and conventions. Not just that, but Merb is completely Rspec’d and provides built-in profiling!!!
BLURP
Trackbacks
Use the following link to trackback from your own site:
http://blog.kineticweb.com/articles/trackback/63
