◐ Shell
clean mode source ↗

[WIP] GH-102783: Speed up `pathlib.PurePath.__fspath__()` by returning raw path by barneygale · Pull Request #112397 · python/cpython

$ ./python -m timeit -s "from pathlib import Path" "Path().__fspath__()"
200000 loops, best of 5:  1.9 usec per loop  # before
500000 loops, best of 5:  547 nsec per loop  # after
# --> 3.47x faster

$ ./python -m timeit -s "from pathlib import Path" "Path('foo').__fspath__()"
100000 loops, best of 5: 2.73 usec per loop  # before
500000 loops, best of 5:  719 nsec per loop  # after
# --> 3.80x faster

$ ./python -m timeit -s "from pathlib import Path" "Path('foo', 'bar').__fspath__()"
100000 loops, best of 5: 3.76 usec per loop  # before
200000 loops, best of 5: 1.82 usec per loop  # after
# --> 2.07x faster

$ ./python -m timeit -s "from pathlib import Path" "Path('foo', 'bar', 'baz').__fspath__()"
 50000 loops, best of 5: 4.12 usec per loop  # before
100000 loops, best of 5: 2.15 usec per loop  # after
# --> 1.92x faster