> In short, could you do another Python, Pyston* run with sort function replaced with ...
First, I made the following modification to resolve "TypeError: 'type' object is not subscriptable" using Pyston 2.3.5.
$ diff llil1.py llil2.py
53c53
< def collect( data_list :list ) ->dict[ str, int ]:
---
> def collect( data_list :list ) ->dict:
87c87
< def process( cat_count :dict[ str, int ] ) ->Generator[ str, None, N
+one ]:
---
> def process( cat_count :dict ) ->Generator:
110c110
< def sort_native( cat_count :dict[ str, int ] ) ->list[ str ]:
---
> def sort_native( cat_count :dict ) ->list:
Python 3.10.7:
# I have pyston_lite_autoload installed already. It can be disabled.
$ DISABLE_PYSTON=1 python3 llil2.py big1.txt big2.txt big3.txt > out1.
+txt
collect time : 5.1 s
sort+format time : 3.6 s
total processing time: 8.7 s
output time : 3.6 s
total time : 12.2 s
Python with Pyston-lite loaded automatically:
# Install pyston_lite_autoload to ~/.local/lib/python3.10/site-package
+s/.
$ python3 -m pip install --user pyston_lite_autoload
$ python3 llil2.py big1.txt big2.txt big3.txt > out2.txt
collect time : 4.3 s
sort+format time : 3.5 s
total processing time: 7.9 s
output time : 3.3 s
total time : 11.2 s
Pyston 2.3.5:
$ ./pyston_2.3.5/bin/pyston3 llil2.py big1.txt big2.txt big3.txt > out
+3.txt
collect time : 3.7 s
sort+format time : 3.4 s
total processing time: 7.1 s
output time : 3.0 s
total time : 10.1 s
Pyston makes it all the more fun.