in reply to Re^3: Rosetta Code: Long List is Long -- Python
in thread Rosetta Code: Long List is Long

> 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.

Replies are listed 'Best First'.
Re^5: Rosetta Code: Long List is Long -- Python
by parv (Parson) on Dec 10, 2022 at 07:17 UTC

    Neat, sorting is now ~4-5 times faster there. Thanks for the re-run.