我的程序需要加载许多大的wordlist文件,因此启动总是需要很长时间.在崩溃中快速恢复是如此低效.我有一个原创的想法,但我不确定它是否可行.是否可以将文件加载到共享内存中并在启动时附加到它?
你能给我一些想法或建议吗?有什么有价值的例子吗?
如果您正在加载200GB的数据,那么您要么做错了什么,要么您的应用程序不需要快速启动.
如果你设计一种支持静态初始化的格式,或者只是原始数据,这绝对是可能的.有两种可能性:如果你可以设计原始数据格式(除了PODS,没有指针); 如果可移植性不是一个问题,包括不同版本的编译器(您提供文件作为可执行包的一部分),那么您通常可以只是mmap
文件.否则(我通常做的),你可以编写一个小程序,它将你的数据转换为C++定义(再次,只有POD)与初始化器(静态),编译它,并将其链接,作为DLL或静态.