3 ms·
spec-builder git:(master) ruby -e "require 'benchmark'; puts Benchmark.measure { 5_000.times { rand(36**19).to_s(36) } }" 0.005459 0.000009 0.005468 (
by hartator 7y ago
spec-builder git:(master) ruby -e "require 'benchmark'; puts Benchmark.measure { 5_000.times { rand(36**19).to_s(36) } }"
0.005459 0.000009 0.005468 ( 0.005464)
I am at 5ms on a MacBook. Can you share your iex code?
- nickjj 7y agoHere's a couple of versions of the code: https://gist.github.com/nickjj/99ea84f460f41dae4139d0610ce8030c https://gist.github.com/nickjj/99ea84f460f41dae4139d0610ce80... It would be interesting if you wanted to come up with a Ruby version that adheres to the random code spec which should be able to be determined from looking at the first 2 versions. It's basically only a subset of characters that can be used and the code should be output as XXXX-XXXX-XXXX-XXXX. I personally use the 25ms version because I find it to be the best one if you factor in both speed and readability. I'm sure there's better ways but I'm only an Elixir beginner. Also for the record I didn't write the 2nd or 3rd versions of that gist. I asked around in the community and that's what others have put together.