by Caleb Evans

Test 1

Test 2

Benchmarking provided by Benchmark.js