pathlib.Path.glob() currently generates Path objects for intermediate paths that might never be yielded to the user, which is slow and unnecessary. For example, a pattern like **/*.mp3 is evaluated by creating a Path object for every directory visited.
There are already few tricks employed to avoid instantiation, but it would be better if only real results were converted to path objects.
Linked PRs