I am performing log analysis, which I want to automate so that it runs daily and reports findings. The analysis runs on standard workstations, 8 cores, up to 32 GB of free RAM. The prototyping is based on GNU Grep (--mmap), Sqlite (on a RAM disk) and Bash (for parameters).
One problem with this is that I need to go through the files multiple times. If I find a pattern match, I search upwards for related things. This might get recursive and each time it re-reads Gigabytes of data.
Is there any fast way / lib in C for memory backed segment wise multi-threaded file reading/writing?
When I look at the "in memory" search (to go up and down within a loaded segment, or to load more in case this is necessary) I get the feeling that this is a very general requirement.