在程序中根据文件内容,构建了一个非常大的查找树,如何“持久化”这棵树,使得程序下次启动时不用重新读一遍文件,快速得到完整的树?

seai 2012-09-28 12:10:08
出入加速程序运行效率的目的,为了避免程序每次启动都重新生成查找树(树的节点内容是根据文件读取生成的,耗时非常大),有什么手段将已经生成好的查找树保存在某个内存区域(且退出时不会销毁),下次运行时直接检查内存中是否已经存在查找树吗?
...全文
229 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
seai 2012-10-12
  • 打赏
  • 举报
回复
听大家的口气,使用“共享内存”的方式是不可取的?
ForestDB 2012-10-02
  • 打赏
  • 举报
回复
有多大?
hiphopmattshi 2012-10-01
  • 打赏
  • 举报
回复
我见过 词典把对象 直接保存到磁盘的,下次不用重新构建对象
Serializable接口就是对象序列化接口。
qq120848369 2012-10-01
  • 打赏
  • 举报
回复
用sqlite吧。
baichi4141 2012-09-29
  • 打赏
  • 举报
回复
内存是由操作系统管理的,一般来说程序退出后操作系统会自动回收所有内存。例如WINDOWS下内存地址都是各程序彼此独立的,一个程序内变量的地址在另一个程序里没有意义。
楼主去看看自己所用的操作系统中关于共享内存的资料吧,在单纯C/C++语言范围内这个问题应该是无解的。
yajiedesign 2012-09-29
  • 打赏
  • 举报
回复
持久化,用数据库吧.
mLee79 2012-09-28
  • 打赏
  • 举报
回复
用的虾米树, B+ 表示完全木有压力啊...
赵4老师 2012-09-28
  • 打赏
  • 举报
回复
用Google Desktop API
huangxy10 2012-09-28
  • 打赏
  • 举报
回复
这个应该不行吧,程序退出了,操作系统会销毁它的所有资源,内存当然是最重要的资源了。
大熊猫侯佩 2012-09-28
  • 打赏
  • 举报
回复
完全可以!惰性原则,算法网上不少,自己看看
seai 2012-09-28
  • 打赏
  • 举报
回复
楼上各位能不能贴点有启发性的代码?我完全没有概念啊。

想到的就是将变量建立在堆中,然后使用shm保存这个这个变量的指针,但也不确定想法对不对。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧