2006-08-18 03:31:49 Keisuke Hara:
When I ran this application on Chardonnay8G1165, elapsed time is 3 ms, but the same task took about 70 ms on Leopard9A241.
2006-08-21 11:35:21 Alice Liu:
2006-08-22 18:20:33 Keisuke Hara:
Anyway, I'll make a standalone HTML file to be loaded into Safari.
2006-08-22 19:04:15 Keisuke Hara:
2006-08-23 12:51:40 Alice Liu:
Thanks for the test file!
2006-08-25 15:58:01 Stephanie Lewis:
Using his test file I got ~8 seconds in Tiger vs ~89 seconds in Leopard 9A250
2006-08-29 10:26:40 Alice Liu:
Safari BRB Reviewed
2006-10-11 09:54:51 Matt Drance:
I'm seeing ~20x slower testing one of my Dashboard widgets in nightly WebKit on Tiger; I'll reduce the case and attach it here.
2006-10-11 10:25:35 Matt Drance:
Attached... takes 23ms in Safari 2.0.4 (419.3); 1867ms in WebKit-SVN-16968.
2006-12-15 19:26:02 Stephanie Lewis:
Still occurs in Leopard 9A325
2006-12-20 16:09:51 Darin Adler:
The reason this happened is because we turned on NO_RECURSE, because otherwise regular expressions can overflow the stack.
In the NO_RECURSE code path there are many uses of longjmp, and according to my profiling longjmp is quite slow.
Perhaps to fix this we can figure out a way to make NO_RECURSE work without using longjmp.
2006-12-20 16:13:34 Darin Adler:
The change that turned NO_RECURSE on was revision 14435 , done to fix an incompatibility with Yahoo <http://bugs.webkit.org/show_bug.cgi?id=8870>.
2006-12-21 12:26:10 Darin Adler:
I think we might be able to replace the longjmp with a switch statement and gotos.
2006-12-21 12:29:10 Darin Adler:
There seem to be 53 different uses of the RMATCH macro (oof).
2007-01-03 22:22:17 Geoff Garen:
I looked at using Mozilla's jsregexp.c today. It doesn't look terribly complicated to port. However, they're still 3-5X slower than 10.4.7 (in Firefox). That finding was also confirmed in <rdar://problem/4519589>.
2007-02-06 08:35:24 Darin Adler:
I found a great solution! We can use gcc's computed goto. I have it coded already, but I haven't done performance testing yet.
2007-02-06 09:37:49 Darin Adler:
I've got it now 6% slower instead of 2000% slower. Still working on it.
2007-02-06 09:58:39 Darin Adler:
Test case is now 15% faster instead of 2000% slower. But other regular expression tests might end up slower.
This has been fixed.
Committed by darin in r19434.