]> gitweb.factorcode.org Git - factor.git/commitdiff
benchmark.cuckoo-filters: adding a new benchmark.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 7 Nov 2019 02:17:29 +0000 (18:17 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 7 Nov 2019 02:17:29 +0000 (18:17 -0800)
extra/benchmark/cuckoo-filters/cuckoo-filters.factor [new file with mode: 0644]

diff --git a/extra/benchmark/cuckoo-filters/cuckoo-filters.factor b/extra/benchmark/cuckoo-filters/cuckoo-filters.factor
new file mode 100644 (file)
index 0000000..95e92d9
--- /dev/null
@@ -0,0 +1,17 @@
+USING: cuckoo-filters fry io.binary kernel math sequences ;
+IN: benchmark.cuckoo-filters
+
+: insert-data ( cuckoo-filter -- cuckoo-filter )
+    2,000 <iota> [ 4 >le ] map
+    10 swap '[ _ [ over cuckoo-insert drop ] each ] times ;
+
+: test-hit ( cuckoo-filter -- cuckoo-filter )
+    10,000 100 4 >le '[ _ over cuckoo-lookup drop ] times ;
+
+: test-miss ( cuckoo-filter -- cuckoo-filter )
+    100,000 12345 4 >le '[ _ over cuckoo-lookup drop ] times ;
+
+: cuckoo-filters-benchmark ( -- )
+    2000 <cuckoo-filter> insert-data test-hit test-miss drop ;
+
+MAIN: cuckoo-filters-benchmark