

64-bit Ubuntu, 3.16GHz Core 2 Duo
==================================

pi benchmark:

+------------+---------------+----------+----------------+--------+---------+-----------+
|            | Python floats | cdecimal | cdecimal-nt[1] |  gmpy  | decimal |   java    |
+============+===============+==========+================+========+=========+===========+
|   9 digits |     0.12s     |   0.27s  |     0.24s      |  0.52s |  17.61s |   0.38s   |
+------------+---------------+----------+----------------+--------+---------+-----------+
|  19 digits |       -       |   0.58s  |     0.55s      |  0.52s |  42.75s |   0.73s   |
+------------+---------------+----------+----------------+--------+---------+-----------+
|  38 digits |       -       |   1.32s  |     1.21s      |  1.07s |    -    |   1.25s   |
+------------+---------------+----------+----------------+--------+---------+-----------+
| 100 digits |       -       |   4.52s  |     4.08s      |  3.57s |    -    |   5.35s   |
+------------+---------------+----------+----------------+--------+---------+-----------+


Factorial benchmark (time is calculation + conversion time):

+-----------+-----------------+----------------+----------------+------------------+
|           | Python integers |    cdecimal    | cdecimal-nt[1] |       gmpy       |
+===========+=================+================+================+==================+
|   100000! |  1.65s + 78.66s |  0.48s + 0.01s |  0.45s + 0.01s |  0.18s +   0.18s |
+-----------+-----------------+----------------+----------------+------------------+
|  1000000! | 78.54s +  >2h   |  7.84s + 0.07s |  7.56s + 0.07s |  2.76s +   6.52s |
+-----------+-----------------+----------------+----------------+------------------+
| 10000000! |        -        | 99.17s + 0.87s | 96.08s + 0.87s | 46.57s + 165.80s |
+-----------+-----------------+----------------+----------------+------------------+

[1] --without-threads



32-bit Debian, Athlon 3700+, 1GB of memory
==========================================

pi benchmark:

+------------+---------------+----------+----------------+--------+---------+-----------+
|            | Python floats | cdecimal | cdecimal-nt[1] |  gmpy  | decimal |   java    |
+============+===============+==========+================+========+=========+===========+
|   9 digits |     0.33s     |   0.78s  |     0.73s      |  1.25s |  34.04s |   1.82s   |
+------------+---------------+----------+----------------+--------+---------+-----------+
|  19 digits |       -       |   1.77s  |     1.68s      |  1.25s |  80.46s |   1.61s   |
+------------+---------------+----------+----------------+--------+---------+-----------+
|  38 digits |       -       |   3.95s  |     3.93s      |  2.45s |    -    |   2.80s   |
+------------+---------------+----------+----------------+--------+---------+-----------+
| 100 digits |       -       |  12.11s  |    11.70s      |  7.42s |    -    |   13.72s  |
+------------+---------------+----------+----------------+--------+---------+-----------+


Factorial benchmark (time is calculation + conversion time):

+-----------+------------------+-----------------+-----------------+------------------+
|           | Python integers  |     cdecimal    | cdecimal-nt[1]  |       gmpy       |
+===========+==================+=================+=================+==================+
|   100000! |  2.72s + 119.81s |   1.73s + 0.01s |   1.71s + 0.01s |  0.36s +   0.34s |
+-----------+------------------+-----------------+-----------------+------------------+
|  1000000! | 103.85s +  >2h   |  29.99s + 0.12s |  29.69s + 0.12s |  5.47s +  11.30s |
+-----------+------------------+-----------------+-----------------+------------------+
| 10000000! |        -         | 381.89s + 1.48s | 380.51s + 1.49s | 86.46s + 291.41s |
+-----------+------------------+-----------------+-----------------+------------------+

[1] --without-threads



