You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With a straightforward approach joni is about 1.5 times slower than oniguruma bindings.
tm4e major boost seems to be a result of src/org/eclipse/tm4e/core/internal/oniguruma/OnigRegExp.java:49: if a regexp is called consequently on the same string it just returns latest cached match result
The text was updated successfully, but these errors were encountered:
In looking at the benchmark it seems it creates a regexp cache which when _findNextMatchSync happens it basically kept the search for that regexp around so it can they notice it is the same result and then have a cache hit. We (JRuby) cache joni regexps but not results above joni itself.
Perhaps there is value in caching results in Joni? I think C Ruby added some result cache. I will try and see if they have an interesting data to back up how often this happens. This again may be more useful above joni than in it but I can see how having it in it could help more projects and not force them to each do their own caching.
Steps to reproduce
JAVA_HOME
and then callmake
src/onig4j/OnigRegex.java
OnigPerformanceTest
We've got following results:
java: 4261ms
joni: 5798ms
onig: 3511ms
tm4e: 18ms
With a straightforward approach joni is about 1.5 times slower than oniguruma bindings.
tm4e major boost seems to be a result of
src/org/eclipse/tm4e/core/internal/oniguruma/OnigRegExp.java:49
: if a regexp is called consequently on the same string it just returns latest cached match resultThe text was updated successfully, but these errors were encountered: