cpython/Lib/pathlib
Barney Gale 6258844c27
GH-117586: Speed up pathlib.Path.glob() by working with strings (#117589)
Move pathlib globbing implementation into a new private class: `glob._Globber`. This class implements fast string-based globbing. It's called by `pathlib.Path.glob()`, which then converts strings back to path objects.

In the private pathlib ABCs, add a `pathlib._abc.Globber` subclass that works with `PathBase` objects rather than strings, and calls user-defined path methods like `PathBase.stat()` rather than `os.stat()`.

This sets the stage for two more improvements:

- GH-115060: Query non-wildcard segments with `lstat()`
- GH-116380: Unify `pathlib` and `glob` implementations of globbing.

No change to the implementations of `glob.glob()` and `glob.iglob()`.
2024-04-10 20:43:07 +01:00
..
__init__.py GH-117586: Speed up pathlib.Path.glob() by working with strings (#117589) 2024-04-10 20:43:07 +01:00
_abc.py GH-117586: Speed up pathlib.Path.glob() by working with strings (#117589) 2024-04-10 20:43:07 +01:00