当前位置:  开发笔记 > 编程语言 > 正文

如何加快我的程序的启动速度

如何解决《如何加快我的程序的启动速度》经验,为你挑选了2个好方法。

我的程序需要加载许多大的wordlist文件,因此启动总是需要很长时间.在崩溃中快速恢复是如此低效.我有一个原创的想法,但我不确定它是否可行.是否可以将文件加载到共享内存中并在启动时附加到它?

你能给我一些想法或建议吗?有什么有价值的例子吗?



1> Ian Kemp..:

如果您正在加载200GB的数据,那么您要么做错了什么,要么您的应用程序不需要快速启动.


如果您假设您的平均机械硬盘可以100MB/s读取数据,那么对于200GB,您需要大约33分钟来顺序读取所有数据.你不可能同时将所有这些加载到内存中(除非你有200GB + RAM) - 听起来你应该使用数据库.

2> James Kanze..:

如果你设计一种支持静态初始化的格式,或者只是原始数据,这绝对是可能的.有两种可能性:如果你可以设计原始数据格式(除了PODS,没有指针); 如果可移植性不是一个问题,包括不同版本的编译器(您提供文件作为可执行包的一部分),那么您通常可以只是mmap文件.否则(我通常做的),你可以编写一个小程序,它将你的数据转换为C++定义(再次,只有POD)与初始化器(静态),编译它,并将其链接,作为DLL或静态.


编译20G可执行文件需要很长时间吗?:)
`mmap`对于处理大文件来说真是一个好主意:)
推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有