GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||
GeezerVison is showing github.com — gh-99726: Improves correctness of stat results for Windows, and uses faster API when available by zooba · Pull Request #102149 · python/cpython Conversation
|
|
Open questions on this are:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I decided that we can't just change |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This supersedes #99755, or at least will conflict so much that it will need to be reimplemented. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@eryksun Could you take a look at this for me? Also, the API is slightly different from the last time you looked - we got some changes made in the OS to suit our needs better. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@zooba , I was analyzing some data from these changes, and I noticed that we have some "slow" calls from isdir/isfile/exists that are no longer calling stat due to #101324 (gh-101196: Make isdir/isfile/exists faster on Windows) by @mdboom . I suspect that those functions could be made faster by using the new and improved stat, when it exists. Not exists() might be a wash, but it's probably worth checking and running those benchmarks from #101324 again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
They shouldn't really be able to be any faster. But since you've confirmed you're running these changes and haven't complained, I'll take that as the best signal I'm going to get that they're good and merge it in (tomorrow, just in case)! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Thanks for replying, but I'm not sure I understand. The new What am I missing here? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Huh, you're right. You're missing that I misremembered how we implemented those. They should probably change to In any case, now this is merged, it can be a new issue. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@zooba, I was waiting to review this PR until
The new
On the other hand, at the time, my tests showed that |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
It's not a dependency - the behaviour is identical regardless of whether the API is present or not - it's just a perf optimisation when the API is available. And we've always been this quick to adopt Windows features when I've been the one advocating to get them added into Windows for the sake of Python ;) There just haven't been a whole lot of them.
Yes, I acknowledged that I made a mistake with my earlier statement, and there's a new bug to update them and I already have someone looking at it (when they get time - if not, I'll probably get to it myself). Having gone through the functionality with one of the filesystem devs, |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
* main: (34 commits) pythongh-102701: Fix overflow in dictobject.c (pythonGH-102750) pythonGH-78530: add support for generators in `asyncio.wait` (python#102761) Increase stack reserve size for Windows debug builds to avoid test crashes (pythonGH-102764) pythongh-102755: Add PyErr_DisplayException(exc) (python#102756) Fix outdated note about 'int' rounding or truncating (python#102736) pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102760) pythongh-99726: Improves correctness of stat results for Windows, and uses faster API when available (pythonGH-102149) pythongh-102192: remove redundant exception fields from ssl module socket (python#102466) pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (python#102743) pythongh-102737: Un-ignore ceval.c in the CI globals check (pythongh-102745) pythonGH-102748: remove legacy support for generator based coroutines from `asyncio.iscoroutine` (python#102749) pythongh-102721: Improve coverage of `_collections_abc._CallableGenericAlias` (python#102722) pythonGH-102653: Make recipe docstring show the correct distribution (python#102742) Add comments to `{typing,_collections_abc}._type_repr` about each other (python#102752) pythongh-102594: PyErr_SetObject adds note to exception raised on normalization error (python#102675) pythongh-94440: Fix issue of ProcessPoolExecutor shutdown hanging (python#94468) pythonGH-100112: avoid using iterable coroutines in asyncio internally (python#100128) pythongh-102690: Use Edge as fallback in webbrowser instead of IE (python#102691) pythongh-102660: Fix Refleaks in import.c (python#102744) pythongh-102738: remove from cases generator the code related to register instructions (python#102739) ...
… uses faster API when available (pythonGH-102149) This deprecates `st_ctime` fields on Windows, with the intent to change them to contain the correct value in 3.14. For now, they should keep returning the creation time as they always have.
… uses faster API when available (pythonGH-102149) This deprecates `st_ctime` fields on Windows, with the intent to change them to contain the correct value in 3.14. For now, they should keep returning the creation time as they always have.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
ctime: I don't think that word means what you think it means.
There was an error while loading. Please reload this page.