diff options
Diffstat (limited to 'benchmarks')
-rw-r--r-- | benchmarks/benchmark.clj | 11 | ||||
-rw-r--r-- | benchmarks/benchmark.py | 10 | ||||
-rw-r--r-- | benchmarks/benchmark.rb | 8 |
3 files changed, 29 insertions, 0 deletions
diff --git a/benchmarks/benchmark.clj b/benchmarks/benchmark.clj new file mode 100644 index 0000000..96ca968 --- /dev/null +++ b/benchmarks/benchmark.clj @@ -0,0 +1,11 @@ +;; Run as e.g. "bb benchmark.clj 1000" +(ns benchmark + (:require [clojure.set :as set])) + +(def size (Integer/parseInt (first *command-line-args*))) + +(def set1 (set (map (fn [i] (keyword (str "x" i))) (range size)))) +(def set2 (set (map (fn [i] (keyword (str "y" i))) (range size)))) + +(doseq [x (range 10000)] + (set/difference set1 set2)) diff --git a/benchmarks/benchmark.py b/benchmarks/benchmark.py new file mode 100644 index 0000000..eae0e7c --- /dev/null +++ b/benchmarks/benchmark.py @@ -0,0 +1,10 @@ +import sys + +size = int(sys.argv[1]) + +myset1 = {f"x{i*1000}" for i in range(0, size)} +myset2 = {f"x{i*1000+1}" for i in range(0, size)} + +res = None +for i in range(0, 10000): + res = myset1 - myset2 diff --git a/benchmarks/benchmark.rb b/benchmarks/benchmark.rb new file mode 100644 index 0000000..275b7e2 --- /dev/null +++ b/benchmarks/benchmark.rb @@ -0,0 +1,8 @@ +size = ARGV[0].to_i # NOTE: ARGV[0] is _not_ the program/script name.... + +myset1 = Set.new((0..size).map {|i| "x#{i*1000}"} ) +myset2 = Set.new((0..size).map {|i| "x#{i*1000+1}"} ) + +(0..10000).each do + res = myset1 - myset2 +end |