How we built a Ruby library that saves 50% in testing time | Datadog
Nov 1, 2024Andrey Marchenko, Gillian McGarvey

Summary
This post details the development of a Ruby test impact analysis library. It describes the exploration of existing solutions like Ruby's Coverage module and TracePoint, highlighting their performance limitations (300% and 200% overhead respectively). The core contribution is the development of a custom C extension that leverages interpreter events (RUBY_EVENT_LINE) directly from the Ruby VM, achieving a 60-80% performance overhead and compatibility with other coverage tools.