Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
Open
Description
Bug report
On the same string:
- b64encode: RAM: 604MB, CPU: 79%, Time taken: 1.18sec and gave a result
- b85encode: RAM: 6.9GB, CPU: 64%, Time taken: 45sec and crashed due to insufficient RAM (most likely)
b85encode takes up my entire RAM and crashes
On IPython:
In [1]: import base64In [2]: contents = b'a' * 250 * 1024 * 1024In [3]: %time len(base64.b64encode(contents).decode("ascii")) / 1024 / 1024CPU times: user 489 ms, sys: 414 ms, total: 904 msWall time: 974 msOut[3]: 333.33333587646484In [4]: %time len(base64.b85encode(contents).decode("ascii")) / 1024 / 1024Killed
Here is the GNU time stats:
$ /usr/bin/time /opt/python3.9/bin/python -c "import base64; print(len(base64.b64encode(b'a' * 250 * 1024 * 1024)) / 1024 / 1024)"333.333335876464840.55user 0.39system 0:01.18elapsed 79%CPU (0avgtext+0avgdata 604008maxresident)k0inputs+0outputs (0major+151155minor)pagefaults 0swaps$ /usr/bin/time /opt/python3.9/bin/python -c "import base64; print(len(base64.b85encode(b'a' * 250 * 1024 * 1024)) / 1024 / 1024)"26.08user 3.39system 0:45.86elapsed 64%CPU (0avgtext+0avgdata 6966080maxresident)k512inputs+0outputs (2major+1756895minor)pagefaults 0swaps
I have gotten same results in Python 3.6, 3.7, 3.8, 3.9
Your environment
- CPython versions tested on: Python 3.9 installed with miniconda
- Operating system and architecture: CentOS 7, AWS t3.large machine