I see that this library is not using DirectIO to flush out the weights to disk: this->fd = open(filename.c_str(), O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); Will this kill the page cache if you have a lot of weights?