bulk88
bulk88
> > The core problem is the fact that I/O functions derive their return code from the filehandle error flag. Instead, they should signal an error only based on the...
How about adding `@!` to https://perldoc.perl.org/perlvar ? or maybe `local( $! ) = sub { $self = shift; foreach(@_) { warn $_; } }; # sub handler` ? or maybe...
https://github.com/python/cpython/issues/79376 https://bugs.python.org/issue35195 In 2018 Python identified this problem. Py ticket remains open ATM Feb 2025. IDK enough arch/API/design/tech info to understand all the comments in the cPy tickets if there...
Forgot to add in the OP. Since 5.37.10 and commit https://github.com/Perl/perl5/commit/8a548d15292f2166cb07a69fc5fc943391b7fba5 `msvcrt.dll` yes that file, `C:\windows\System32\msvcrt.dll` is static DLL linked into the perl process virtual addr space 100% of the...
> I'm not so worried about the performance of toupper() here, but there are a few other problems with this code: > > * it's trying to emulate the case-insensitivity...
Another idea, on WinPerl, is a codebase wide grep `isupper()` -> `isupper_l()` needed and 100% removal of `isupper()` forever? If you use `isupper_l()` and pass a locale ptr in arg...
> I didn't really look into this at all, but if there's a performance regression, perhaps it would make sense to report it to Microsoft? > > Technically, UCRT is...
> We (probably [@khwilliamson](https://github.com/khwilliamson) ) could change perl to use _create_locale() and the `_is*_l()` functions instead of the C standard functions, though this would be yet more Win32 specific code....
other things I forgot, UCRT's `_strlwr()` calls `__acrt_locale_changed()`/`LocaleUpdate::_LocaleUpdate` only ONCE. not O(n) or O(n*15). If perl used that and passed a proper longish `char*` instead of `tolower`, problem gone. 2nd,...
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/configthreadlocale?view=msvc-170 I'd have to benchmark it to prove it, but I have a suspicion all of UCRT's internal cache code regarding parsing locale wide or ascii string names and its...