db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James F. Adams" <james.f.ad...@comcast.net>
Subject Performance problem in 10.3.1.4
Date Sat, 04 Aug 2007 20:35:11 GMT
While testing the 10.3.1.4 release candidate I ran across a significant
performance regression involving CASE expressions.  I filed Jira-2986 to
document this problem.  The evaluation time of case expressions now seems
grow in a non-linear manner with the number of 'WHEN booleanExpression THEN
thenExpression' present.

I believe the problem was introduced with the implementation of Jira-1620.
I removed the code changed by this Jira and the times returned to those in
10.2.2.0.

Using ij and a script similar to:

connect 'jdbc:derby:test';
elapsedtime on;
Values CASE WHEN 0=1 THEN 'a'
            WHEN 0=2 THEN 'b'
            ELSE '*'
       END;
exit;

I see the following results:

Number of WHEN/THEN          10.2.2.0           10.3.1.4         Trunk
(562762) with Jira-1620 Removed
============================================================================
==========================
          2                    312 ms             312 ms
328 ms
          4                    297 ms             312 ms
328 ms
          8                    297 ms             516 ms
343 ms
         16                    313 ms            3750 ms
359 ms
         18                    315 ms           26219 ms
360 ms
         20                    328 ms          103797 ms
359 ms

I am hoping someone with more experience could help look into this problem.


Mime
View raw message