-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remove more regex #2897
remove more regex #2897
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #2897 +/- ##
==========================================
+ Coverage 63.90% 63.93% +0.03%
==========================================
Files 104 104
Lines 22389 22400 +11
Branches 10876 10877 +1
==========================================
+ Hits 14308 14322 +14
+ Misses 5857 5854 -3
Partials 2224 2224 ☔ View full report in Codecov by Sentry. |
@neheb Thanks for working on this. Tested the patch and still seeing the slowdown. |
On a cursory glance, that regex is quite long. It would be difficult to remove. |
Yes, understandable. GIMP may have to wait switching to UCRT64 until this is fixed upstream, or go for CLANG64 instead. |
alternatively ask the GIMP developers to patch exiv2 to get rid of regex usage. I may take a crack at it at some point. Doubtful though. It's very good that there are tests for this. Original version was horribly broken. |
I am one of the GIMP devs 😃 However, I personally have little C++ experience and we are already spread thin with what we can handle and needing to release 3.0 in a reasonable time. Since MINGW64 is still working ok for us, I think it best we stay with that for now, even if it means not being able to use the latest version of exiv2. I appreciate you having taken the time to look at, thanks. |
Regex is a recent addition? oh I see. regex.h was replaced with C++ regex. |
Yes, and there is unfortunately a bug in libstdc++ interaction w/ UCRT on Windows. CLANG64 is not affected as it uses libc++, and MINGW64 is not affected as it links to legacy MSVCRT instead. Edit: Note that some say that moving away from a custom regex implementation was maybe not the best choice... |
It might make sense to switch to https://github.com/hanickadot/compile-time-regular-expressions Or at least reg rid of regex in src. |
last regex removal in value.cpp
still fails ATimeValue.canBeReadFromExtendedStringWithTimeZoneDesignatorNegative Not sure what's wrong. |
Signed-off-by: Rosen Penev <[email protected]>
@mergify backport 0.28.x |
✅ Backports have been created
|
Mitght be worth it. A lot of extra code though...
ping @Wormnest