------- Comment #27 from dfranke at gcc dot gnu dot org  2010-05-01 13:08 
-------
(In reply to comment #26)
> Also I see a small slow down for the test in pr34554 (gfc is patched, gfcp
> not):
>
> [macbook] f90/bug% time gfc pr34554.f90
> 259.917u 0.168s 4:20.44 99.8%   0+0k 0+29io 0pf+0w
> [macbook] f90/bug% a.out 
>          152   135210384
> [macbook] f90/bug% time gfcp pr34554.f90
> 249.102u 0.129s 4:09.39 99.9%   0+0k 1+22io 0pf+0w
> [macbook] f90/bug% a.out
>          152   135210384

The change is local to the simplifier of the SPREAD intrinsic, the testcase of
PR34554 doesn't call SPREAD, hence I'd believe this is due to system variance.
Run both versions 5-10 times and average the runtime. They should be close to
each other.

> So, is the machinery around -fmax-array-constructor still needed?

No and yes. The issue is twofold: (a) previous slowness due to usage of linked
lists and (b) out-of-memory issues if arguments are too big.

While (a) is solved now, you may hit (b) easily by increasing the size of
ZLON_MASK in the test. Multiply all the constants by 10, 100, ... eventually
you will get an ICE due to insufficient memory, similar to those other cases
you tested.

Hence, one probably should leave the check there, but increase the
max-constructor-limit by a factor of, say, 2, 4, 8, 16, ...?!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40472

Reply via email to