summaryrefslogtreecommitdiff
path: root/3rdParty/libb64/BENCHMARKS
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/libb64/BENCHMARKS')
-rw-r--r--3rdParty/libb64/BENCHMARKS85
1 files changed, 85 insertions, 0 deletions
diff --git a/3rdParty/libb64/BENCHMARKS b/3rdParty/libb64/BENCHMARKS
new file mode 100644
index 0000000..fd34056
--- /dev/null
+++ b/3rdParty/libb64/BENCHMARKS
@@ -0,0 +1,85 @@
+-- Intro
+
+Some people have expressed opinions about how
+fast libb64's encoding and decoding routines
+are, as compared to some other BASE64 packages
+out there.
+
+This document shows the result of a short and sweet
+benchmark, which takes a large-ish file and
+encodes/decodes it a number of times.
+The winner is the executable that does this task the quickest.
+
+-- Platform
+
+The tests were all run on a Fujitsu-Siemens laptop,
+with a Pentium M processor running at 2GHz, with
+1GB of RAM, running Ubuntu 10.4.
+
+-- Packages
+
+The following BASE64 packages were used in this benchmark:
+
+- libb64-1.2 (libb64-base64)
+ From libb64.sourceforge.net
+ Size of executable: 18808 bytes
+ Compiled with:
+ CFLAGS += -O3
+ BUFFERSIZE = 16777216
+
+- base64-1.5 (fourmilab-base64)
+ From http://www.fourmilab.ch/webtools/base64/
+ Size of executable: 20261 bytes
+ Compiled with Default package settings
+
+- coreutils 7.4-2ubuntu2 (coreutils-base64)
+ From http://www.gnu.org/software/coreutils/
+ Size of executable: 38488 bytes
+ Default binary distributed with Ubuntu 10.4
+
+-- Input File
+
+Using blender-2.49b-linux-glibc236-py25-i386.tar.bz2
+from http://www.blender.org/download/get-blender/
+Size: 18285329 bytes
+(approx. 18MB)
+
+-- Method
+
+Encode and Decode the Input file 50 times in a loop,
+using a simple shell script, and get the running time.
+
+-- Results
+
+$ time ./benchmark-libb64.sh
+real 0m28.389s
+user 0m14.077s
+sys 0m12.309s
+
+$ time ./benchmark-fourmilab.sh
+real 1m43.160s
+user 1m23.769s
+sys 0m8.737s
+
+$ time ./benchmark-coreutils.sh
+real 0m36.288s
+user 0m24.746s
+sys 0m8.181s
+
+28.389 for 18MB * 50
+= 28.389 for 900
+
+-- Conclusion
+
+libb64 is the fastest encoder/decoder, and
+has the smallest executable size.
+
+On average it will encode and decode at roughly 31.7MB/second.
+
+The closest "competitor" is base64 from GNU coreutils, which
+reaches only 24.8MB/second.
+
+--
+14/06/2010
+chris.venter@gmail.com
+