This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/21820] Really, really, horrible IO performance
- From: "sgk at troutmask dot apl dot washington dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 May 2005 15:15:33 -0000
- Subject: [Bug libfortran/21820] Really, really, horrible IO performance
- References: <20050530143227.21820.kargl@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From sgk at troutmask dot apl dot washington dot edu 2005-05-30 15:15 -------
Subject: Re: Really, really, horrible IO performance
On Mon, May 30, 2005 at 03:00:41PM -0000, pinskia at gcc dot gnu dot org wrote:
>
> > Note, the use of O_TRUNC on replacing a file should
> > not hurt performance on other OS's.
>
> On powerpc-darwin I am using HFS+.
> Hmm, I think I should drag my firewire drive out and try it on the
> UFS partition.
>
A little more investigate shows that this may be a mmap problem.
If foo.dat does not exist
ktrace ./z
kdump -f ktrace.out | grep mmap | wc -l
4
If foo.dat exists, then I see
ktrace ./z
kdump -f ktrace.out | grep mmap | wc -l
246054
In looking at the ktrace, I see a bunch of segments like
95157 z CALL mmap(0,0x2000,0x3,0x1,0x3,0,0,0)
95157 z RET mmap 1208418304/0x48070000
95157 z CALL munmap(0x48070000,0x2000)
95157 z RET munmap 0
95157 z CALL mmap(0,0x2000,0x3,0x1,0x3,0,0,0)
95157 z RET mmap 1208418304/0x48070000
95157 z CALL munmap(0x48070000,0x2000)
95157 z RET munmap 0
95157 z CALL mmap(0,0x2000,0x3,0x1,0x3,0,0,0)
95157 z RET mmap 1208418304/0x48070000
95157 z Events dropped.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21820