Replies: 2 comments
-
Thank you for taking the time to provide detailed feedback. This is very much appreciated and motivates me to work further on the project. As to your questions:
Best regards, |
Beta Was this translation helpful? Give feedback.
-
Here are some quick and dirty twinBASIC numbers for searching a 1000 character string and enumerating 160 matches, in milliseconds:
That's very good actually - for this particular test StaticRegex took only about 50% longer in a compiled exe. I can live with that. The main reason for me to prefer the "VB-only" goal is for Mac/Windows compatibility. But of course, you can maintain cross-platform compatibility using the more performative API - I think a good example is @cristianbuse's FastDictionary. So maybe performance optimization can be something to consider down the road a bit, but for now I think it's good enough. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
First of all - this is impressive!
And good timing given MS's deprecation of VBScript and the start of the phaseout period for associated functionality, RegExp being one of those potentially doomed components.
As a current sign that the "writing is on the wall" for VBScript's RegExp, I just discovered that Malwarebytes AV defaults to blocking any attempt to use VBScript's RegExp in VBA code. The "block" can be turned off via MWB's settings, but it serves as motivation to start looking for alternatives now.
My experience with your code thus far has shown promise. I successfully tested it in a somewhat large and complicated ActiveX DLL coded in twinBASIC. To facilitate the test, I created a drop-in replacement wrapper for VBScript's RegExp so I did not have to modify any code in the ActiveX DLL. Thus far it has worked perfectly, while MWB is none-the-wiser.
One thing about the ActiveX DLL is that it uses RegExp to search/parse small strings so that performance is not a factor. But I did do a little large-string testing and observed that your code runs significantly slower than the VBScript's version. I'm wondering what your experience has been in performance testing and about your thoughts are on the feasibility of eventually improving performance?
Another concern of mine is your statement in your GitHub repo README.md "Please do not expect great results for non-latin characters (but give it a try). Can you elaborate more on this? Under what circumstances do you expect problems and why?
Something else you might consider but not a huge deal... I understand that it is probably easier on your development process to break your codebase into multiple modules as you have it. But my strong preference is to use your all-in-one solution so not to add unnecessary clutter in my VBA/twinBASIC code. I suspect most users are like me and would prefer the aio solution (which is likely the reason you went through the trouble to automate its build). But if that is the case, then it might make the user-experience less onerous and easier to provide feedback if you made the aio solution the main codebase instead of an alternative one. Just something to consider.
Anyway, thanks for sharing this and hoping that this project will remain an active one!
Mike
Beta Was this translation helpful? Give feedback.
All reactions