Uh oh!
There was an error while loading. Please reload this page.
gh-102511: Add C implementation of os.path.splitroot() - #118089
Conversation
ntpath.splitroot()os.path.splitroot()Uh oh!
There was an error while loading. Please reload this page.
zooba
left a comment
There was a problem hiding this comment.
Great looking change! As Erlend pointed out, a couple of robustness things to check, and there's a potential behaviour change that's worth validating and describing in Doc\whatsnew\3.13.rst and possibly in other parts of the documentation.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…e-102511.qDEB66.rst Co-authored-by: Steve Dower <steve.dower@microsoft.com>
Co-authored-by: Steve Dower <steve.dower@microsoft.com>
Uh oh!
There was an error while loading. Please reload this page.
nineteendo
commented
Apr 22, 2024
Oh, come on, why must argclinic raise an error here? That isn't useful: |
zooba
commented
Apr 22, 2024
Oh right, I forgot about this behaviour of argument clinic 😞 Might be a good reason to go to Alternatively, you could handle the |
nineteendo
commented
Apr 24, 2024
It might just be my laptop or because I'm comparing with 3.12. (there doesn't seem to be a way to have 2 builds at the same time) |
nineteendo
commented
Apr 24, 2024
OK, how's the build going? |
eryksun
commented
Apr 24, 2024
You can use worktrees. Anyway, I still have my implementation, but there's no need to delve further into the comparison because the reason is obvious. I was testing the builtin function directly, not a wrapper function that called It's 1.76 times faster without the wrapper. |
Could you explain how I can use them?
Yeah, that matches the performance when I used I tried to work around the first issue by modifying |
eryksun
commented
Apr 24, 2024
Here's a brief overview of worktrees in the developer's guide: https://devguide.python.org/getting-started/git-boot-camp/#git-worktree
In another issue, the implementation of |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Eryk Sun <eryksun@gmail.com>
nineteendo
commented
Apr 25, 2024
Let's leave |
zooba
commented
Apr 25, 2024
That's quorum, thanks @nineteendo for bearing with us, and congrats on landing the patch! |
bedevere-bot
commented
Apr 25, 2024
|
nineteendo
commented
Apr 25, 2024
Hmm, it didn't fail in the previous commit: https://buildbot.python.org/all/#/builders/1380/builds/86 |
zooba
commented
Apr 25, 2024
This seems unrelated, and if it's only iOS, then we can ignore it. That buildbot has only just started running, and will be flushing out random issues for a little while. |
nineteendo
commented
May 22, 2024
Eryk, can we backport this to 3.12 to fix the bug with |
GH-119394 is a backport of this pull request to the 3.12 branch. |
gpshead
commented
May 31, 2024
Please add a unittest coverage of both the Python and C versions so that we ensure their behavior is the same. |
eryksun
commented
May 31, 2024
@gpshead, they both get tested as long as tests run on at least one POSIX system and one Windows system. The Python fallback implementation is only defined if the C version can't be imported. Thus the fallback for |
sobolevn
left a comment
There was a problem hiding this comment.
This PR also changes first parameter name. It is now:
pfor python versionpathfor C version
hugovk
commented
Sep 15, 2024
Is this intentional? Does it need addressing before 3.13.0 in two weeks? |
I would prefer to address this, because:
|
sobolevn
commented
Sep 15, 2024
I will open a PR in a moment. |
Benchmark
ntpath.py