Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26753 Discussions

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

Hashemi__Ali
Beginner
246 Views

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
1 Solution
Steve_Lionel
Black Belt Retired Employee
246 Views

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.

View solution in original post

1 Reply
Steve_Lionel
Black Belt Retired Employee
247 Views

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.

View solution in original post

Reply