This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/29568] implement unformatted files with subrecords (Intel style)
- From: "jvdelisle at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Nov 2006 08:25:12 -0000
- Subject: [Bug libfortran/29568] implement unformatted files with subrecords (Intel style)
- References: <bug-29568-10391@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #16 from jvdelisle at gcc dot gnu dot org 2006-11-21 08:25 -------
Here are some relative performance measures. The first case is with the
program given in comment 14 with a very large record size as indicated. This
gives before and after patch timing results. The second case is before an
after with a smaller record size and setting recl=25 in the open statement.
There is a sigmificant performance penalty in this second case. Lastly, I show
results with patch using -frecord-marker=8. Same penalty.
Before patch:
$ rm testfile
$ time ./a.out
reclength= 134217727
arraysize= 536870908
record size = 2684354556
real 3m26.163s
user 0m4.107s
sys 0m28.267s
$ ls -l testfile
-rw-r--r-- 1 jerry jerry 5368709144 Nov 20 23:31 testfile
After patch:
$ rm testfile
$ time ./a.out
reclength= 134217727
arraysize= 536870908
record size = 2684354556
real 3m25.729s
user 0m4.058s
sys 0m28.657s
$ ls -l testfile
-rw-r--r-- 1 jerry jerry 5368709144 Nov 20 23:53 testfile
With smaller file and setting RECL=2 in open statement:
Before patch:
$ rm testfile
$ time ./a.out
reclength= 500000
arraysize= 2000000
record size = 10000016
real 0m0.101s
user 0m0.018s
sys 0m0.083s
After patch:
$ rm testfile
$ time ./a.out
reclength= 500000
arraysize= 2000000
record size = 10000016
real 0m3.762s
user 0m0.877s
sys 0m2.885s
With -frecord-marker=8:
$ rm testfile
$ time ./a.out
reclength= 500000
arraysize= 2000000
record size = 10000016
real 0m3.827s
user 0m0.831s
sys 0m2.991s
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29568