--- Comment #34 from jvdelisle at gcc dot gnu dot org 2007-12-02 23:32
---
Lets close this and see what happens. (Jerry crosses his fingers) :)
--
jvdelisle at gcc dot gnu dot org changed:
What|Removed |Added
--
--- Comment #33 from jvdelisle at gcc dot gnu dot org 2007-12-02 23:17
---
Subject: Bug 33985
Author: jvdelisle
Date: Sun Dec 2 23:17:16 2007
New Revision: 130574
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130574
Log:
2007-12-02 Jerry DeLisle <[EMAIL PROTECTED]>
--- Comment #32 from tkoenig at gcc dot gnu dot org 2007-12-02 21:20
---
Hi Jerry,
the regression-test went fine.
I'd say this is OK for commit.
Thomas
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33985
--- Comment #31 from jvdelisle at verizon dot net 2007-12-02 20:58 ---
Subject: Re: access="stream",form="unformatted" doesn't
buffer
tkoenig at gcc dot gnu dot org wrote:
>> Answer to comment #18, Thomas, the flush is needed for streamio_12.f90 where
>> we
>> use a write(10, pos=1)
--- Comment #30 from tkoenig at gcc dot gnu dot org 2007-12-02 20:11
---
(In reply to comment #25)
> Created an attachment (id=14682)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14682&action=view) [edit]
> New patch, clean fix.
Yes, this looks clean and self-contained (and some
--- Comment #29 from jvdelisle at gcc dot gnu dot org 2007-12-02 19:05
---
gfortran 4.3 with patch:
$ gfc nwrite.f90
$ time ./a.out
real0m0.568s
user0m0.533s
sys 0m0.035s
$ gfc nread.f90
$ time ./a.out
real0m0.527s
user0m0.508s
sys 0m0.019s
gfortran 4.2, no
--- Comment #28 from jvdelisle at gcc dot gnu dot org 2007-12-02 18:57
---
Created an attachment (id=14684)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14684&action=view)
A sequential write test
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33985
--- Comment #27 from jvdelisle at gcc dot gnu dot org 2007-12-02 18:57
---
Created an attachment (id=14683)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14683&action=view)
A sequential read test
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33985
--- Comment #26 from jvdelisle at gcc dot gnu dot org 2007-12-02 18:55
---
With this test case:
program main
implicit none
integer :: i, j
open(95,form="unformatted",access="stream")
do j=1, 125000
do i=0,255
write(95) int(i,kind=1)
end do
end do
end program main
gfo
--- Comment #25 from jvdelisle at gcc dot gnu dot org 2007-12-02 18:45
---
Created an attachment (id=14682)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14682&action=view)
New patch, clean fix.
Answer to comment #18, Thomas, the flush is needed for streamio_12.f90 where we
use a
--- Comment #24 from jvdelisle at verizon dot net 2007-12-02 02:05 ---
Subject: Re: access="stream",form="unformatted" doesn't
buffer
> m = where + s->active;
>
> if (s->physical_offset != m && lseek (s->fd, m, SEEK_SET) < 0)
> return NULL;
>
> I don't think this is correct.
m = where + s->active;
if (s->physical_offset != m && lseek (s->fd, m, SEEK_SET) < 0)
return NULL;
I don't think this is correct.
You are dead on, I have fixed this and have a patch regression testing now. The
above did not break backspace_6.f90, but it broke some other things. Stay
--- Comment #23 from tkoenig at gcc dot gnu dot org 2007-12-01 22:19
---
I'm studying why we get a regression in backspace_6.f, and
I'm confused by fd_alloc_r_at:
gfc_offset m;
if (where == -1)
where = s->logical_offset;
...
What happens if where != -1 (if we use salloc_r_a
--- Comment #22 from kargl at gcc dot gnu dot org 2007-12-01 22:08 ---
(In reply to comment #19)
> I don't see the "Are we lucky and avoid syscall?" hack in the fd_seek
> routine from unix.c of the gcc 4.0 branch. So one could argue that it was a
> performance regression introduced
--- Comment #21 from jvdelisle at gcc dot gnu dot org 2007-12-01 22:07
---
Reply to comment #18, Thomas, A particular reason I do not recall. Have you
tested without it? It seems from the description of the alloc scheme in the
comments we should only have to free the stream (sfree).
--- Comment #20 from tkoenig at gcc dot gnu dot org 2007-12-01 21:53
---
(In reply to comment #19)
> I don't see the "Are we lucky and avoid syscall?" hack in the fd_seek
> routine from unix.c of the gcc 4.0 branch. So one could argue that it was a
> performance regression introdu
--- Comment #19 from howarth at nitro dot med dot uc dot edu 2007-12-01
21:50 ---
I don't see the "Are we lucky and avoid syscall?" hack in the fd_seek
routine from unix.c of the gcc 4.0 branch. So one could argue that it was a
performance regression introduced in gcc 4.1.
--
--- Comment #18 from tkoenig at gcc dot gnu dot org 2007-12-01 21:30
---
(In reply to comment #13)
> Created an attachment (id=14676)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14676&action=view) [edit]
HI Jerry,
what is the reason why you still flush for formatted
stream i/o
--- Comment #17 from kargl at gcc dot gnu dot org 2007-12-01 07:34 ---
(In reply to comment #15)
> Hopefully this performance improvement can be backported for gcc 4.2.3 as
> well.
>
This is not a regression fix. It therefore can't be backported.
--
http://gcc.gnu.org/bugzilla/s
--- Comment #16 from jvdelisle at gcc dot gnu dot org 2007-12-01 04:34
---
OK, found some other regressions as well. I think we are still on the right
trail. We can think about back porting after we get it really fixed. :)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33985
--- Comment #15 from howarth at nitro dot med dot uc dot edu 2007-12-01
04:28 ---
Hopefully this performance improvement can be backported for gcc 4.2.3 as well.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33985
--- Comment #14 from jvdelisle at gcc dot gnu dot org 2007-12-01 04:22
---
This is embarrassing and good at the same time:
Index: unix.c
===
--- unix.c (revision 130547)
+++ unix.c (working copy)
@@ -669,11 +669
--- Comment #13 from jvdelisle at gcc dot gnu dot org 2007-11-30 23:55
---
Created an attachment (id=14676)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14676&action=view)
Another idea borrowing from Thomas
Thomas, This patch regression tests OK and passes streamio_12.f90, the o
--- Comment #12 from tkoenig at gcc dot gnu dot org 2007-11-30 22:57
---
(In reply to comment #11)
> Thanks,
>
> I will look this over. I was saving this for when I really had some time. We
> need to test it with everything we can find. I am glad you are as sensitive
> to
> the pot
--- Comment #11 from jvdelisle at gcc dot gnu dot org 2007-11-30 22:45
---
Thanks,
I will look this over. I was saving this for when I really had some time. We
need to test it with everything we can find. I am glad you are as sensitive to
the potential regression issue as I am. :)
--- Comment #10 from tkoenig at gcc dot gnu dot org 2007-11-30 22:27
---
Created an attachment (id=14675)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14675&action=view)
proposed patch
Hi Jerry,
could you look at this? This also fixes excessive seeking
when writing, but this i
--- Comment #9 from jvdelisle at gcc dot gnu dot org 2007-11-14 01:22
---
Subject: Bug 33985
Author: jvdelisle
Date: Wed Nov 14 01:22:17 2007
New Revision: 130172
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130172
Log:
2007-11-13 Jerry DeLisle <[EMAIL PROTECTED]>
--- Comment #8 from jvdelisle at gcc dot gnu dot org 2007-11-07 02:43
---
Subject: Bug 33985
Author: jvdelisle
Date: Wed Nov 7 02:43:44 2007
New Revision: 129955
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129955
Log:
2007-11-06 Jerry DeLisle <[EMAIL PROTECTED]>
--- Comment #7 from jvdelisle at gcc dot gnu dot org 2007-11-06 23:39
---
All the more reason to take our time with this. Thanks for the testing.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33985
--- Comment #6 from dominiq at lps dot ens dot fr 2007-11-06 16:17 ---
> Ans a simple patch to fix it:
I have applied the patch, but the test case fails if teststream does not exist
(passes if the file exists).
[karma] f90/bug% gfc streamtest_7.f90
[karma] f90/bug% a.out
[karma] f90/b
--- Comment #5 from jvdelisle at gcc dot gnu dot org 2007-11-06 02:41
---
Here is a test case that fails with the new patch. (Thanks Dominique)
program streamtest
implicit none
character(1) :: lf = char(10)
character(1) :: tchar
integer:: i,j,k
real(kind=4), dimen
--- Comment #4 from jvdelisle at gcc dot gnu dot org 2007-11-03 15:06
---
Fixed on Trunk. Thomas if you think we should do more, please reopen.
--
jvdelisle at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #3 from jvdelisle at gcc dot gnu dot org 2007-11-03 14:57
---
Subject: Bug 33985
Author: jvdelisle
Date: Sat Nov 3 14:57:13 2007
New Revision: 129870
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129870
Log:
2007-11-03 Jerry DeLisle <[EMAIL PROTECTED]>
--- Comment #2 from jvdelisle at gcc dot gnu dot org 2007-11-03 01:17
---
I have discovered something that may make this easy to fix.
--
jvdelisle at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #1 from jvdelisle at gcc dot gnu dot org 2007-11-03 00:42
---
Created an attachment (id=14476)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14476&action=view)
-fdump-tree-original output
This is an optimization issue in the front-end. We have to be smart enough to
l
--
fxcoudert at gcc dot gnu dot org changed:
What|Removed |Added
Severity|normal |enhancement
Status|UNCONFIRMED |NEW
36 matches
Mail list logo