public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jvdelisle at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libfortran/37754] [4.4 Regression] READ I/O Performance regression from 4.3 to 4.4
Date: Sat, 25 Oct 2008 23:57:00 -0000	[thread overview]
Message-ID: <20081025235604.6593.qmail@sourceware.org> (raw)
In-Reply-To: <bug-37754-6019@http.gcc.gnu.org/bugzilla/>



------- Comment #4 from jvdelisle at gcc dot gnu dot org  2008-10-25 23:56 -------
Created an attachment (id=16547)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16547&action=view)
Experimental patch

With this patch, I see some improvement with a more realistic test case.  Here
are test results using gprof.  I am not sure I can completely trust what I am
seeing, especially when gprof is reporting data on read_logical and that is not
being used.

Flat profile: trunk 4.4, no patch

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 36.57      1.32     1.32                             next_char
 23.82      2.18     0.86                             fd_read
  9.14      2.51     0.33                             push_char
  8.03      2.80     0.29                             memcpy
  7.48      3.07     0.27                             read_character
  2.22      3.15     0.08                             eat_spaces
  1.94      3.22     0.07                             formatted_transfer_scalar
  1.94      3.29     0.07                             read_logical
  0.83      3.32     0.03                             __read_nocancel
  0.83      3.35     0.03                             _int_free
  0.83      3.38     0.03                             eat_separator
  0.83      3.41     0.03                            list_formatted_read_scalar
  0.83      3.44     0.03                             malloc
  0.55      3.46     0.02        1    20.00    20.00  MAIN__
  0.55      3.48     0.02                           _gfortrani_free_format_data
  0.55      3.50     0.02                             _int_malloc
  0.55      3.52     0.02                             pre_position

1.29  1.25  1.20  1.20  1.21  1.34  1.28 ----> 1.25 average for next_char

3.978  4.005  3.989  3.997  3.986  3.981  4.005 ---> 3.992 for test program.

Flat profile: perf1

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  Ts/call  Ts/call  name    
 26.57      0.89     0.89                             next_char
 22.69      1.65     0.76                             fd_read
 15.52      2.17     0.52                             push_char
 14.93      2.67     0.50                             memcpy
  5.97      2.87     0.20                             read_character
  4.18      3.01     0.14                             read_logical
  2.39      3.09     0.08                             eat_separator
  1.19      3.13     0.04                             __read_nocancel
  1.19      3.17     0.04                             _int_free
  1.19      3.21     0.04                             malloc
  0.90      3.24     0.03                             formatted_transfer_scalar
  0.60      3.26     0.02                       _gfortrani_list_formatted_read
  0.60      3.28     0.02                             _int_malloc
  0.60      3.30     0.02                             unformatted_write
  0.30      3.31     0.01                             _gfortrani_free_ionml
  0.30      3.32     0.01                             fd_sfree
  0.30      3.33     0.01                             get_external_unit

.96  .96  1.04  1.0  1.32  .86  1.05 ----> 1.03 average for next_char

3.732  3.710  3.713  3.717  3.737  3.735  3.704 ---> 3.721 for test program.


Flat profile: gfortran 4.3

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 27.57      0.75     0.75                             format_lex
 27.57      1.50     0.75                             parse_format_list
 12.50      1.84     0.34                             push_char
 10.29      2.12     0.28                             do_read
  8.46      2.35     0.23                             mem_read
  2.21      2.41     0.06                            list_formatted_read_scalar
  1.47      2.45     0.04                             __cache_sysconf
  1.47      2.49     0.04                             fd_alloc
  1.10      2.52     0.03                             malloc_consolidate
  0.74      2.54     0.02                             arena_get2
  0.74      2.56     0.02                             formatted_transfer_scalar
  0.37      2.57     0.01        1    10.00    10.00  MAIN__
  0.37      2.58     0.01                             _gfortran_st_write_done
  0.37      2.59     0.01                             _gfortran_store_exe_path
  0.37      2.60     0.01                         _gfortrani_get_internal_unit
  0.37      2.61     0.01                       _gfortrani_list_formatted_read


-- 


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


  parent reply	other threads:[~2008-10-25 23:57 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-06 20:00 [Bug libfortran/37754] New: " bartoldeman at users dot sourceforge dot net
2008-10-06 21:49 ` [Bug libfortran/37754] [4.4 Regression] " pinskia at gcc dot gnu dot org
2008-10-07  2:56 ` jvdelisle at gcc dot gnu dot org
2008-10-07  4:00 ` jvdelisle at gcc dot gnu dot org
2008-10-07  4:26 ` jvdelisle at gcc dot gnu dot org
2008-10-07 12:54 ` jakub at gcc dot gnu dot org
2008-10-25 23:57 ` jvdelisle at gcc dot gnu dot org [this message]
2008-10-25 23:59 ` jvdelisle at gcc dot gnu dot org
2008-10-26  0:01 ` jvdelisle at gcc dot gnu dot org
2008-11-21  5:25 ` jvdelisle at gcc dot gnu dot org
2008-11-21  7:44 ` jb at gcc dot gnu dot org
2008-11-22  5:35 ` jvdelisle at gcc dot gnu dot org
2008-11-26  4:00 ` jvdelisle at gcc dot gnu dot org
2009-01-05 22:14 ` jb at gcc dot gnu dot org
2009-01-09  5:34 ` jvdelisle at gcc dot gnu dot org
2009-03-29 18:55 ` [Bug libfortran/37754] [4.4/4.5 Regression] READ I/O Performance regression from 4.3 to 4.4/4.5 jvdelisle at gcc dot gnu dot org
2009-04-05 20:14 ` jvdelisle at gcc dot gnu dot org
2009-04-05 22:35 ` [Bug libfortran/37754] [4.4 " jvdelisle at gcc dot gnu dot org
2009-04-21 15:59 ` jakub at gcc dot gnu dot org
2009-05-20  0:17 ` jvdelisle at gcc dot gnu dot org
2009-05-27  1:23 ` jvdelisle at gcc dot gnu dot org
2009-05-27  1:47 ` jvdelisle at gcc dot gnu dot org
2009-06-04  4:04 ` bartoldeman at users dot sourceforge dot net

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081025235604.6593.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).