Comparison between the following different possibilities for calling an external process from ruby:
- Backticks
`
system
(aka.Kernel.system
)IO.popen
Open3.popen3
Open4::popen4
exec
is excluded as it replaces the current process (which is the ruby process), which means we don't return to the ruby process, thus there's no benchmark.
The benchmarking is done with benchmark-ips.