Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
11 Views

What is BLOCKSIZE and how does it affect performance of IO operations?

Jump to solution

The manual only says "The BLOCKSIZE specifier indicates the physical I/O transfer size in bytes for the file."
Does it actually have to do anything with the block size of the physical storage? 

How would BLOCKSIZE affect the buffered and non-buffered IO performance? 

I appreciate if someone can provide a few examples that changing BLOCKSIZE will affect the performance (for better or worse).

 
0 Kudos

Accepted Solutions
Highlighted
Black Belt
11 Views

BLOCKSIZE determines how the

Jump to solution

BLOCKSIZE determines how the run-time library "chunks" I/O operations. For non-buffered I/O, it primarily affects large transfers - whether it's fewer, larger transfers or more smaller ones. Generally larger transfers are more efficient. There's no relationship to the physical storage.

Buffering is where the library defers physical I/O operations, collecting more data from the I/O operation. The library tries to be "smart" about this but it can't always pick the optimal strategy.

The reason the controls are there is that applications vary, and you may need to experiment to see what works best for you.

Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran

View solution in original post

0 Kudos
1 Reply
Highlighted
Black Belt
12 Views

BLOCKSIZE determines how the

Jump to solution

BLOCKSIZE determines how the run-time library "chunks" I/O operations. For non-buffered I/O, it primarily affects large transfers - whether it's fewer, larger transfers or more smaller ones. Generally larger transfers are more efficient. There's no relationship to the physical storage.

Buffering is where the library defers physical I/O operations, collecting more data from the I/O operation. The library tries to be "smart" about this but it can't always pick the optimal strategy.

The reason the controls are there is that applications vary, and you may need to experiment to see what works best for you.

Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran

View solution in original post

0 Kudos