RFC Exploratory Patch - Significant performance improvement
Richard Guenther
richard.guenther@gmail.com
Thu Dec 10 11:48:00 GMT 2009
On Thu, Dec 10, 2009 at 6:14 AM, Jerry DeLisle <jvdelisle@verizon.net> wrote:
> Hi all,
>
> I submit the attached patch for review and comment.
>
> With this patch, the test case in PR32489, fft257.f90 (attached) compiles in
> about 2 to 3 seconds. Without the patch, I am unable to compile this test
> case without running out of memory and going into endless swapping. I
> suppose it is possible that if I wait long enough it may complete, but my
> system starts to go unresponsive so I aborted the compile after about 5
> minutes. ( I have 4 Gbyte system. )
>
> Regardless, the patch improves on this with about a thousand fold
> improvement. Admittedly, its a rare test case, but perhaps this will help
> others with real world applications that are compiling slowly.
>
> I have regression tested this with no failures. The tests for NULL in expr.c
> I added to avoid segfaults with string_compare_3.f90. I don't like that
> fix, but it works. I suspect we can further enhance the new function
> gfc_is_expandable_expr in resolve.c to work around this.
>
> I also have successfully run Polyhedron 2005 tests. I get one failure with
> aermod which I thinks existed before the patch.
>
> The patch includes my previous patch for PR20923 since it is in my tree and
> I don't want to try the rest of the patch without it.
>
> I invite you to explore this patch, not only to identify any other holes,
> but also to explore the implications of what this is doing. Are the
> front-end results better for the middle end folks? Do we get any better run
> time performance or only compile time improvement? Are there other bugs
> lurking here and/or is the concept flawed?
Can you explain what the differences will be to the middle-end?
Thanks,
Richard.
> Enjoy,
>
> Jerry
>
>
More information about the Fortran
mailing list