Re: git diff looping?
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 16, 2009, 16:51 UTC
- Message-ID
- <7v3aa0dsvn.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20090616114726.GA4343@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
> I can reproduce the problem on Solaris 8 using git v1.6.3. It seems to > be caused by a horribly slow system regex implementation; it really > chokes on the regex we use to find the "funcname" line for java files.
Hmm. Is running under LC_ALL=C LANG=C _with_ the slow system regex help?
Show 6 quoted lines
> I tried building against the code in compat/regex; it completes in a > reasonable amount of time, though it is still noticeably slow. With > system regex, the diff given above doesn't complete in less than 90 > seconds (at which I get bored and kill it). With compat/regex, it > completes in about 2.2 seconds. Disabling the xfuncname, it completes in > 0.14 seconds.
In this particular case it is clear that a good way to fix the problem is to replace Solaris's dumb regex implemention with what comes in compat/, but I at the same time have to wonder if that funcname pattern for java can somehow be simplified, so that it does not to require so sophisticated implementation of regexp?