From: Junio C Hamano Date: Tue, 16 Jun 2009 16:51:24 GMT Subject: Re: git diff looping? Message-ID: <7v3aa0dsvn.fsf@alter.siamese.dyndns.org> In-Reply-To: <20090616114726.GA4343@coredump.intra.peff.net> Jeff King 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? > 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?