Serhiy Storchaka added the comment:
There are some bugs in ascii85 end base85 implementations (see in Rietveld for
details). Besides, ascii85 implementation was too slow. I've prepared a patch
that corrects errors and speeds up encoding and decoding.
Microbenchmarks:
./python -m timeit -r 1 -n 1 -s "from base64 import a85encode as encode; data =
open('python', 'rb').read(1000001)" "encode(data)"
./python -m timeit -r 1 -n 1 -s "from base64 import b85encode as encode; data =
open('python', 'rb').read(1000001)" "encode(data)"
./python -m timeit -r 1 -n 1 -s "from base64 import a85encode as encode,
a85decode as decode; data = encode(open('python', 'rb').read(1000001))"
"decode(data)"
./python -m timeit -r 1 -n 1 -s "from base64 import b85encode as encode,
b85decode as decode; data = encode(open('python', 'rb').read(1000001))"
"decode(data)"
Old patch New patch
a85encode 8.4 sec 1.13 sec
b85encode 1.35 sec 1.09 sec
a85decode 9.28 sec 3.29 sec
b85decode 3.17 sec 2.37 sec
----------
Added file: http://bugs.python.org/file29956/issue17618-fast.diff
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue17618>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com