Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-23 Thread Janne Blomqvist
On Wed, Jan 23, 2013 at 12:32 AM, Thomas Koenig wrote: > Hi Janne, > >> PING**2 > > > this is OK. Thanks a lot for the work you put into this! Thanks for the review; committed as r195413. -- Janne Blomqvist

Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-22 Thread Thomas Koenig
Hi Janne, PING**2 this is OK. Thanks a lot for the work you put into this! Thomas

Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-18 Thread Janne Blomqvist
PING**2 On Mon, Jan 14, 2013 at 12:44 AM, Janne Blomqvist wrote: > PING**1.2 > > Yet another slightly updated patch attached. Compared to the previous > version, now with specializations for size 12 and 16 as well. For the > real(10) benchmark, with the previous v3 patch (please disregard the > a

Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-13 Thread Janne Blomqvist
PING**1.2 Yet another slightly updated patch attached. Compared to the previous version, now with specializations for size 12 and 16 as well. For the real(10) benchmark, with the previous v3 patch (please disregard the absolute values in the post quoted below, there were wrong due to a bug): Un

Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-11 Thread Janne Blomqvist
PING. Slightly updated patch attached, which further improves the generic size fallback that is used when the element size is not 2/4/8 bytes. Changing the us_perf benchmark to use real(10), with the v2 patch the performance is: Unformatted sequential write/read performance test Record size

Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-06 Thread Richard Biener
On Sat, Jan 5, 2013 at 10:13 PM, Janne Blomqvist wrote: > On Sat, Jan 5, 2013 at 5:35 PM, Richard Biener > wrote: >> On Fri, Jan 4, 2013 at 11:35 PM, Andreas Schwab >> wrote: >>> Janne Blomqvist writes: >>> diff --git a/libgfortran/io/file_pos.c b/libgfortran/io/file_pos.c index c8ec

Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-05 Thread Janne Blomqvist
On Sat, Jan 5, 2013 at 5:35 PM, Richard Biener wrote: > On Fri, Jan 4, 2013 at 11:35 PM, Andreas Schwab wrote: >> Janne Blomqvist writes: >> >>> diff --git a/libgfortran/io/file_pos.c b/libgfortran/io/file_pos.c >>> index c8ecc3a..bf2250a 100644 >>> --- a/libgfortran/io/file_pos.c >>> +++ b/libg

Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-05 Thread Richard Biener
On Fri, Jan 4, 2013 at 11:35 PM, Andreas Schwab wrote: > Janne Blomqvist writes: > >> diff --git a/libgfortran/io/file_pos.c b/libgfortran/io/file_pos.c >> index c8ecc3a..bf2250a 100644 >> --- a/libgfortran/io/file_pos.c >> +++ b/libgfortran/io/file_pos.c >> @@ -140,15 +140,21 @@ unformatted_back

Re: [Patch, libfortran] Improve performance of byte swapped IO

2013-01-04 Thread Andreas Schwab
Janne Blomqvist writes: > diff --git a/libgfortran/io/file_pos.c b/libgfortran/io/file_pos.c > index c8ecc3a..bf2250a 100644 > --- a/libgfortran/io/file_pos.c > +++ b/libgfortran/io/file_pos.c > @@ -140,15 +140,21 @@ unformatted_backspace (st_parameter_filepos *fpp, > gfc_unit *u) > } >

[Patch, libfortran] Improve performance of byte swapped IO

2013-01-04 Thread Janne Blomqvist
Hi, currently byte swapped unformatted IO can be quite slow compared to the same code with no byte swapping. There are two major reasons for this: 1) The byte swapping code path resorts to transferring data element by element, leading to a lot of overhead in the IO library. 2) The function used