---
title: "Benchmarking your Ruby code"
publication: "Ruby Weekly"
issue: 562
published_at: "2021-07-22"
canonical_url: "https://rubyweekly.com/issues/562"
---

Plus a machine learning framework, some talks from Euruko 2021, and validating CSV data. |        

#​562 — July 22, 2021 

[Read on the Web](https://rubyweekly.com/issues/562)    

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/udro0fziabdyx0koasqd.jpg)](https://blog.testdouble.com/posts/2021-07-19-benchmarking-your-ruby-with-time_up/)  

[Benchmarking Your Ruby with `time_up`](https://blog.testdouble.com/posts/2021-07-19-benchmarking-your-ruby-with-time_up/) — `time_up` is a new benchmarking gem that makes creating multiple timers as easy as clicking a stopwatch. The gem also has some nice printing and display capabilities. Time to try it out… 

Justin Searls   

[Fullstaq Ruby: A Production-Optimized CRuby Distribution](https://fullstaqruby.org/) — We featured this alternative CRuby/MRI-_based_ Ruby distribution over a year ago when it was new, but it’s now been updated with Ruby 3.0.2, 2.7.4, and 2.6.8 variants. The basic idea is memory allocation is [jemalloc](https://github.com/jemalloc/jemalloc)-based which can yield big benefits in production at scale. 

Hongli Lai   [![\](https://copm.s3.amazonaws.com/bbb95c0c.png)](https://ter.li/g4t4hi) 

[Try Scout’s New Error Monitoring Feature Add-On for Free](https://ter.li/g4t4hi) — Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues in minutes. See for yourself why Scout is a Ruby developers’s best friend with a free 14-day trial, no credit card needed. 

Scout APM sponsor    

▶[Enjoy Some Talks from Euruko 2021](https://www.youtube.com/channel/UCgXsZr2e0AgUJMZm5t03WVw) — We mentioned [Matz’s keynote](https://www.youtube.com/watch?v=Dp12a3KGNFw) a few issues ago, but forgot to put the spotlight on some more of the talks given at the always excellent Euruko event - there are 18 sessions from 2 days, including things like [building high-performance GraphQL APIs](https://www.youtube.com/watch?v=kIJdauCgBC8&list=PLZW-kXE0oRyknRwEUrg5o491KomjkNU16&index=7) and [using FFI](https://www.youtube.com/watch?v=75bAbaUu5jI&list=PLZW-kXE0oRyknRwEUrg5o491KomjkNU16&index=9) to [building a Ruby web app with just the Ruby standard libraries](https://www.youtube.com/watch?v=lxczDssLYKA&list=PLZW-kXE0oRymRhAd_MEYajgSvO2sghoMK&index=7) (from a low level, thinking about TCP and HTTP directly) and [the importance of diversity in teams.](https://www.youtube.com/watch?v=08wUjbh4RoQ&list=PLZW-kXE0oRymRhAd_MEYajgSvO2sghoMK&index=8) 

Euruko Conference   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/buj3ncrkz4okp6068alo.jpg)](https://crystal-lang.org/2021/07/16/1.1.0-released.html)  

[Crystal 1.1 Released](https://crystal-lang.org/2021/07/16/1.1.0-released.html) — [Crystal](https://crystal-lang.org/) _isn’t_ Ruby, but it’s a statically type-checked and compiled language whose syntax is heavily inspired by Ruby and is of interest to many Rubyists as a Ruby-friendly way to write certain types of performance dependent code. 

Beta Ziliani   

**IN BRIEF:** 

- Ruby For Good, an annual event for getting together to collaboratively build community-focused apps, is taking place this year between September 23-26 in a retreat an hour outside of Washington DC. If you're interested, you can [learn more here.](https://rubyforgood.org/events)
- Ruby Together's [June 2021 update](https://rubytogether.org/news/2021/7/june-2021-monthly-update) is out.     

Jobs  

[Senior Full Stack Engineer | Remote (US/CA Time Zones) | Full Time](https://pganalyze.com/careers/senior-full-stack-engineer?utm_source=RubyWeeklyJobs06222021) — Autonomy + focus time, few meetings per week. Work on a product for optimizing Postgres queries. Postgres | Go | TypeScript | Ruby | Rust. 
pganalyze   

[TravelJoy | Engineer #6 | Full-Stack | Remote in USA | Full-Time](http://join.tjoy.io/rw-eng6) — TravelJoy is the market network for leisure travel. Thousands of travel agents love and depend on our product every day. 
TravelJoy   

[Find a Job Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired    

📕 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/zlu8lsdexi3pws9c9hvr.jpg)](https://www.honeybadger.io/blog/documentation-worklow-rails/)  

[Building a Documentation Workflow in Rails](https://www.honeybadger.io/blog/documentation-worklow-rails/) — Making documentation live with your code (known as _‘docs-as-code’_) is a good practice to keep docs up to date. Kate Bartolo shows you how while also explaining how to make the docs usable. 

Honeybadger Developer Blog   

[How Release Uses Action Cable and Redux Toolkit](https://releasehub.com/blog/how-release-uses-action-cable-redux-toolkit) — How Release moved to Redux and use it to update the build logs on their static site frontend using Action Cable. 

Release   

[Optimizing MemoWise Performance](https://ja.cob.land/optimizing-memowise-performance) — We linked to MemoWise in [issue 560](https://rubyweekly.com/issues/560). Here, Jacob and Jemma explain their ‘Benchmark Driven Development’ approach and what they learned. 

Jacob Evelyn & Jemma Issroff   

[Serve Your Image Library on the Fly, Using a Simple Querystring API](https://www.omgimg.net) — Proxy your browser image requests via OMGIMG and use the querystring to apply resizing and other manipulations you need. 

OMGIMG sponsor   

[Validate CSV Input with `ActiveModel::Validations`](https://blog.thegnar.co/active-model-validations-csv) — A look at how to improve the robustness of CSV file ingestion using ActiveModel::Validations. 

Kevin Murphy   

▶[Using VCR to Mock Your Requests](https://www.youtube.com/watch?v=B8m-qHz3-4M) — [VCR](https://github.com/vcr/vcr) is a _very_ long standing Ruby tool for recording a test suite’s HTTP interactions so they can be replayed in a consistent, predictable manner in future. This eight-minute screencast is a tight introduction. 

Ana Schwendler   

[Picking The Worst Year to Pitch for Euruko](https://www.randomerrata.com/articles/2021/euruko-in-a-pandemic/) — Matias tells us the epic saga of securing the Euroko conference for Helsinki, only to have the pandemic force a pivot to a first-time online event that turned out fine but taught lessons. 

Matias Korhonen   

▶[Building with Just What You Need Using Roda with Jeremy Evans](https://devchat.tv/ruby-rogues/building-with-just-what-you-need-using-roda-with-jeremy-evans-ruby-507/) — Jeremy Evans, creator of [Roda](https://github.com/jeremyevans/roda) and author of [Polished Ruby Programming](https://github.com/PacktPublishing/Polished-Ruby-Programming#readme), joins the Rogues to talk about how to use Roda to build Ruby web apps. 

Ruby Rogues Podcast podcast  

🛠 Code & Tools  

[Tangram: An Automated Machine Learning Framework](https://www.tangram.xyz/) — It’s not solely for Ruby – indeed, it’s written in Rust – but you can train a model from a CSV file and then make ‘predictions’ from Ruby code. [GitHub repo](https://github.com/tangramxyz/tangram). 

Tangram   

[activerecord-cte: Brings Common Table Expressions Support to ActiveRecord](https://github.com/vlado/activerecord-cte) — Removes the need to drop to `Arel` or raw SQL while also providing an `ActiveRecord::Relation` result. 

Vlado Cingel   

[Has Your Rails 6.1 Prep Fallen Behind? FastRuby.io Can Help](https://fastruby.io/?utm_source=rubyweekly) 

FastRuby.io | Rails Upgrade Services sponsor   

[MailCatcher: A Simple SMTP Server with a Web UI to See Mails](https://github.com/sj26/mailcatcher) — It’s eleven years old but has just hit version 0.8 :-) The idea here is you can send email to it and see how it looks. 

Samuel Cochran   

[Bridgetown 0.21.1: Ruby-Powered Static Site Generator](https://www.bridgetownrb.com/release/break-from-summer-to-release-bridgetown-0.21.1/) — This release includes Webpack 5 support, moves from Babel to ESBuild and more. 

Jared White   

[Listen 3.6.0: 'Listen' to File Modifications and Know About Changes](https://github.com/guard/listen) — OS-optimized on each of macOS, Linux, BSD, and Windows, and can detect file modification, creation or deletion in one or more directories. 

Guard   

[dry-monads 1.4.0: Useful, Common Monads in Idiomatic Ruby](https://github.com/dry-rb/dry-monads) 
dry-rb   

[Cucumber 7.0: Run Automated Tests Written in Natural Language](https://github.com/cucumber/cucumber-ruby) 
Cucumber         

Curated by [Peter Cooper](https://twitter.com/peterc), [Glenn Goodrich](https://twitter.com/ruprict) and [Cooperpress](https://cooperpress.com/). 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
