Skip to content

PuzzleSad/async_io_1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async_io_i

This is an educational project to explore the potential performance characteristics of asynchronous file loading via the liburing/io_uring linux interface

The idea is to see if I can beat the following:

FILE *fp = fopen( path, "r" );

fseek( fp, 0, SEEK_END );
filelen = ftell( fp );
rewind( fp );

uint8_t* buff;
buff = (uint8_t*)malloc( filelen );

fread( buff, sizeof(uint8_t), filelen, fp );

This operating requires that the entire file is loaded to disk before any operations can be done on the data. Of course, async IO buffers the file in blocks. This implies that it's possible to start prosessing data without having to wait for the entire file to load first.

The specific test would be to use some arbitrary function to "process" the data. If the file is excessively large, such as a 400Mb file being loaded by a raspberry pi into ram the results of this test would become evident.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published