Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: fseek under IBM MVS |
| Date | 2014-12-21 21:37 +1300 |
| Message-ID | <cfnf5oF78auU2@mid.individual.net> (permalink) |
| References | (2 earlier) <549153d8.2327046@news.xs4all.nl> <lnvbladx5k.fsf@nuthaus.mib.org> <5491bce4.3633812@news.xs4all.nl> <5335081f-da7f-45f8-9e3f-846071ad8a22@googlegroups.com> <f04dfd77-aa90-4604-bd6b-c81fc3861e05@googlegroups.com> |
John Bode wrote:
>
> Womped up a quick and very dirty test on a 64-bit SLES 10 system.
>
> Wrote 3 functions to get file size; one calls stat on the pathname, one
> opens the file and calls fstat on the descriptor, and the third opens the
> file and uses fseek/ftell on the file pointer.
>
> The functions that use stat and fstat take around 3 to 4 usec to run. The
> function that uses fseek/ftell takes 15 to 20 usec.
>
> The sizes all report the same (one would hope).
>
> Of course, whether the performance difference means anything depends on
> the context. If you're doing this for one file once over the lifetime
> of the program, it really doesn't matter. If you're doing this thousands
> of times for an entire filesystem, then stat would probably be the better
> choice.
It will also depend on the filesystem. For a example scanning a set of
large files on my system, ZFS, the difference is much smaller:
419 files
File sizes (MB)
value ------------- Distribution ------------- count
32 | 0
64 |@ 6
128 |@@@@@@@ 72
256 |@@@@@@@@@@@@@@@ 154
512 |@@@@@@ 64
1024 |@@@@@@@@@@@ 111
2048 |@ 11
4096 | 1
8192 | 0
Execution time (nS)
sizeTestStat
value ------------- Distribution ------------- count
1024 | 0
2048 | 5
4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 412
8192 | 1
16384 | 1
32768 | 0
sizeTestTell
value ------------- Distribution ------------- count
2048 | 0
4096 |@ 12
8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 406
16384 | 0
32768 | 1
65536 | 0
Where:
long sizeTestTell( const char* file )
{
FILE* handle = fopen( file, "r" );
long result = -1;
if( handle )
{
if( fseek( handle, 0, SEEK_END ) == 0 )
{
result = ftell( handle );
}
fclose( handle );
}
return result;
}
long sizeTestStat( const char* file )
{
struct stat sb;
int ok = stat( file, &sb );
return (ok == 0) ? sb.st_size : -1;
}
--
Ian Collins
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
fseek under IBM MVS jacob navia <jacob@spamsink.net> - 2014-12-14 22:16 +0100
Re: fseek under IBM MVS glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-15 01:12 +0000
Re: fseek under IBM MVS jacob navia <jacob@spamsink.net> - 2014-12-15 09:13 +0100
Re: fseek under IBM MVS glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-15 09:22 +0000
Re: fseek under IBM MVS Kaz Kylheku <kaz@kylheku.com> - 2014-12-15 16:26 +0000
Re: fseek under IBM MVS raltbos@xs4all.nl (Richard Bos) - 2014-12-17 09:58 +0000
Re: fseek under IBM MVS BartC <bc@freeuk.com> - 2014-12-17 11:29 +0000
Re: fseek under IBM MVS John Bode <jfbode1029@gmail.com> - 2014-12-15 10:35 -0800
Re: fseek under IBM MVS glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-15 21:33 +0000
Re: fseek under IBM MVS jacob navia <jacob@spamsink.net> - 2014-12-15 23:45 +0100
Re: fseek under IBM MVS Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2014-12-15 17:56 -0500
Re: fseek under IBM MVS Kaz Kylheku <kaz@kylheku.com> - 2014-12-15 23:05 +0000
Re: fseek under IBM MVS BartC <bc@freeuk.com> - 2014-12-15 23:19 +0000
Re: fseek under IBM MVS Keith Thompson <kst-u@mib.org> - 2014-12-15 16:36 -0800
Re: fseek under IBM MVS Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2014-12-15 20:42 -0500
Re: fseek under IBM MVS jacob navia <jacob@spamsink.net> - 2014-12-16 01:00 +0100
Re: fseek under IBM MVS glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-16 01:09 +0000
Re: (OT) fseek under IBM MVS Vincenzo Mercuri <nomail@yahoo.it> - 2014-12-16 09:11 +0100
Re: fseek under IBM MVS raltbos@xs4all.nl (Richard Bos) - 2014-12-17 10:06 +0000
Re: fseek under IBM MVS jacob navia <jacob@spamsink.net> - 2014-12-17 11:33 +0100
Re: fseek under IBM MVS John Bode <jfbode1029@gmail.com> - 2014-12-17 08:48 -0800
Re: fseek under IBM MVS raltbos@xs4all.nl (Richard Bos) - 2014-12-17 17:26 +0000
Re: fseek under IBM MVS jacob navia <jacob@spamsink.net> - 2014-12-17 19:46 +0100
Re: fseek under IBM MVS Richard Heathfield <invalid@see.sig.invalid> - 2014-12-17 19:28 +0000
Re: fseek under IBM MVS jacob navia <jacob@spamsink.net> - 2014-12-17 21:38 +0100
Re: fseek under IBM MVS Richard Heathfield <invalid@see.sig.invalid> - 2014-12-17 21:05 +0000
Re: fseek under IBM MVS Ian Collins <ian-news@hotmail.com> - 2014-12-18 11:37 +1300
Re: fseek under IBM MVS John Bode <jfbode1029@gmail.com> - 2014-12-17 12:43 -0800
Re: fseek under IBM MVS fir <profesor.fir@gmail.com> - 2014-12-19 08:35 -0800
Re: fseek under IBM MVS BartC <bc@freeuk.com> - 2014-12-19 16:51 +0000
Re: fseek under IBM MVS Robert Wessel <robertwessel2@yahoo.com> - 2014-12-19 16:36 -0600
Re: fseek under IBM MVS raltbos@xs4all.nl (Richard Bos) - 2014-12-17 10:05 +0000
Re: fseek under IBM MVS Keith Thompson <kst-u@mib.org> - 2014-12-17 09:05 -0800
Re: fseek under IBM MVS raltbos@xs4all.nl (Richard Bos) - 2014-12-17 17:29 +0000
Re: fseek under IBM MVS John Bode <jfbode1029@gmail.com> - 2014-12-17 12:55 -0800
Re: fseek under IBM MVS John Bode <jfbode1029@gmail.com> - 2014-12-17 15:02 -0800
Re: fseek under IBM MVS raltbos@xs4all.nl (Richard Bos) - 2014-12-17 23:37 +0000
Re: fseek under IBM MVS Keith Thompson <kst-u@mib.org> - 2014-12-17 16:11 -0800
Re: fseek under IBM MVS raltbos@xs4all.nl (Richard Bos) - 2014-12-18 12:06 +0000
Re: fseek under IBM MVS James Kuyper <jameskuyper@verizon.net> - 2014-12-18 11:44 -0500
Re: fseek under IBM MVS Keith Thompson <kst-u@mib.org> - 2014-12-18 11:03 -0800
Re: fseek under IBM MVS raltbos@xs4all.nl (Richard Bos) - 2014-12-19 11:31 +0000
Re: fseek under IBM MVS James Kuyper <jameskuyper@verizon.net> - 2014-12-19 08:03 -0500
Re: fseek under IBM MVS Keith Thompson <kst-u@mib.org> - 2014-12-19 08:08 -0800
Re: fseek under IBM MVS James Kuyper <jameskuyper@verizon.net> - 2014-12-19 11:30 -0500
Re: fseek under IBM MVS Keith Thompson <kst-u@mib.org> - 2014-12-17 15:56 -0800
Re: fseek under IBM MVS Ian Collins <ian-news@hotmail.com> - 2014-12-21 21:37 +1300
Re: fseek under IBM MVS glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-12-17 21:59 +0000
Re: fseek under IBM MVS Keith Thompson <kst-u@mib.org> - 2014-12-17 14:33 -0800
Re: fseek under IBM MVS "Charles Richmond" <numerist@aquaporin4.com> - 2014-12-18 16:06 -0600
Re: fseek under IBM MVS Siri Crews <chine.bleu@yahoo.com> - 2014-12-17 04:20 -0800
csiph-web