From 59d90ceaf989d045489e08c0fe479926a00157a2 Mon Sep 17 00:00:00 2001 From: Adrian Setyadi Date: Sat, 3 Feb 2018 22:58:16 +0700 Subject: [PATCH] Add 'Begin Until' to the loop battle --- .README.md.swp | Bin 0 -> 65536 bytes README.md | 20 +++++++++++--------- code/general/loop-vs-while-true.rb | 8 ++++++++ 3 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 .README.md.swp diff --git a/.README.md.swp b/.README.md.swp new file mode 100644 index 0000000000000000000000000000000000000000..e8de7d13af4ad4895747dcbe93f54c2319600f27 GIT binary patch literal 65536 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 NUMBER +end + def fast index = 0 while true @@ -19,6 +26,7 @@ def slow end Benchmark.ips do |x| + x.report("Begin Until") { fastest } x.report("While Loop") { fast } x.report("Kernel loop") { slow } x.compare!