jazzband / tablib

Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.
https://tablib.readthedocs.io/
MIT License
4.61k stars 593 forks source link

Fixes #422 - Allow ability to lazy-load external modules #430

Closed claudep closed 4 years ago

hugovk commented 4 years ago

Looks good, a noticeable 2.411s -> 0.709s improvement for me (macOS Mojave, Python 3.7):

⌂73% [hugo:~/github/tablib] master* ± cat 1.py
import tablib
⌂69% [hugo:~/github/tablib] master* ± p 1.py
⌂68% [hugo:~/github/tablib] master* 2s ± time p 1.py
python3 1.py  1.42s user 0.36s system 73% cpu 2.411 total
⌂66% [hugo:~/github/tablib] master* 2s ± gco claudep/lazy_load
Note: checking out 'claudep/lazy_load'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 2744c38 Fixes #422 - Allow ability to lazy-load external modules
⌂65% [hugo:~/github/tablib] 2744c38* ± time p 1.py
python3 1.py  0.43s user 0.13s system 79% cpu 0.709 total