Skip to content

Benchmarks vs other CL libraries

Chaitanya Gupta edited this page Nov 27, 2017 · 4 revisions

Speed and memory comparison of qbase64 with cl-base64 and s-base64.

System

  • Processor: 2.3 GHz Intel Core i5
  • Memory: 8 GB 2133 MHz LPDDR3
  • OS: macOS 10.13.1
  • SBCL: 1.4.1
  • Library versions
    • qbase64: 0.1.1
    • cl-base64: 3.1
    • s-base64: 2

Running

In the benchmark/ directory, create a 100 MB binary file called test.bin and its base64 encoded version called test-base64.txt.

Run the following command:

sbcl --load benchmark.lisp --eval '(base64-benchmark::run! (list "encode" "decode") (list "qbase64" "cl-base64" "s-base64"))' --quit

Results

+-----------+-----------+--------------+--------------+
| benchmark | library   | run time (s) | max rss (MB) |
+-----------+-----------+--------------+--------------+
| decode    | qbase64   | 1.67         | 24.66        |
| decode    | cl-base64 | 1.85         | 351.47       |
| decode    | s-base64  | 5.25         | 16.00        |
+-----------+-----------+--------------+--------------+
| encode    | qbase64   | 0.77         | 27.08        |
| encode    | cl-base64 | 2.93         | 116.17       |
| encode    | s-base64  | 3.86         | 16.00        |
+-----------+-----------+--------------+--------------+

Clone this wiki locally