Mathias Krause <minipli@xxxxxxxxxxxxxx> writes: > ... While we might be able to compile the pattern and run it in > interpreter mode, it'll likely have a *much* higher runtime. > ... > So this grep run eat up ~9.5 *hours* of CPU time. Do we really want to > fall back to something like this for the pathological cases? ...Yeah, I > don't think so either. You may not, but I do not agree with you at all. The code should not outsmart the user in such a case. Even if the pattern the user came up with is impossible to grok for a working JIT compiler, and it might be hard to grok for the interpreter, what is the next step you recommend the user if you refuse to fall back on the interprete? "Rewrite it to please the JIT compiler"? If that is the best pattern the user can produce to solve the problem at hand, being able to give the user an answer in 9 hours is much better than not being able to give anything at all. Maybe after waiting for 5 minutes, the user gets bored and ^C, or without killing it, open another terminal and try a different patern, and in 9 hours, perhaps comes up with an equivalent (or different but close enough) pattern that happens to run much faster, at which time the user may kill the original one. In any of these cases, by refusing to run, the code is not doing any service to the user.