How's the best way to test for a performance regression (as in "this test should not hang")?
--
--
v8-users mailing list
v8-u...@googlegroups.com
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to a topic in the Google Groups "v8-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/v8-users/AMVUNpV-xLw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to v8-users+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
That depends entirely on the kind of performance delta we're talking about.If a particular testcase went from actually hanging (endless loop, or running for hours) to finishing quickly (say, in 1 millisecond), then by all means land that testcase. (You don't have to detect the hang yourself, the test driver already has a timeout for each test.)
On Thursday, September 25, 2014 2:01:03 PM UTC-4, Jakob Kummerow wrote:That depends entirely on the kind of performance delta we're talking about.If a particular testcase went from actually hanging (endless loop, or running for hours) to finishing quickly (say, in 1 millisecond), then by all means land that testcase. (You don't have to detect the hang yourself, the test driver already has a timeout for each test.)
Okay. That's pretty much what I needed. My test case would be for the former case there (actually hanging). I was more looking for a specific case that shouldn't hang. How long is the timeout?
Problem then, it should take no more than a second or two. Basically it is a "this should not hang the engine" test.
--
It is primarily a perf patch, where str.repeat(2^20), etc. no longer hangs the engine's execution thread.
I'm wanting to assert the following two things:
1. Large numbers as arguments must not hang the engine in the normal case. The patch provides a reduction in the worst case of algorithmic runtime complexity.
2. Repeating an empty string should be near instantaneous. The patch also includes a special case where repeating an empty string should be near instantaneous, regardless of the number of repeats. This case should take no longer than a few milliseconds on an old, excessively bogged down machine (even to the point the desktop is hanging), almost ready to fry itself.
--