summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rsa/transform.py9
-rwxr-xr-xspeed.sh3
2 files changed, 12 insertions, 0 deletions
diff --git a/rsa/transform.py b/rsa/transform.py
index 5318dbf..c0f458e 100644
--- a/rsa/transform.py
+++ b/rsa/transform.py
@@ -21,6 +21,15 @@ From bytes to a number, number to bytes, etc.
from __future__ import absolute_import
+try:
+ # We'll use psyco if available on 32-bit architectures to speed up code.
+ # Using psyco (if available) cuts down the execution time on Python 2.5
+ # at least by half.
+ import psyco
+ psyco.full()
+except ImportError:
+ pass
+
import binascii
from struct import pack
from rsa import common
diff --git a/speed.sh b/speed.sh
index a9a1431..a2c4014 100755
--- a/speed.sh
+++ b/speed.sh
@@ -13,4 +13,7 @@ python2.7 -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2b
echo "python3.2"
python3 -mtimeit -s'from rsa.transform import int2bytes; n = 1<<4096' 'int2bytes(n)'
python3 -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2bytes(n)'
+echo "pypy"
+pypy -mtimeit -s'from rsa.transform import int2bytes; n = 1<<4096' 'int2bytes(n)'
+pypy -mtimeit -s'from rsa.transform import _int2bytes; n = 1<<4096' '_int2bytes(n)'