作者gwliao (gwliao)
看板CSSE
标题Re: [问题] 档案切割的问题...
时间Tue Oct 18 01:39:47 2005
※ 引述《bendon (bendon)》之铭言:
: 请问各位好人...
: 我目前因为论文需要...
: 有DATA档案很大800M左右需要分析(都是数字 所以用.txt打开就可以了)
: 太大打开不了
你在Windows上, 我不熟, 但应该有切开file的程式.
在Linux上, 假如DATA没有要再修改的话, 用mmap().
要再修改DATA的话, 看如何改,再想因应的对策!
以下是我的经验:
约6年前, 我还在做Computer Architecture的研究时, 就遇到类似这问题!
当时资料也是文字档,都是16进位的数字, 10几个数字一笔(or说一行也可以)
file size很大(超过1G), 而且资料才收集到一点 Orz
还不是全部的DATA, 我就受不了 :O
当时就将那10几个16进位的数字(文字)全部变成binary,
这样size缩小了, 还不够!
再改程式, 将输出改成每1百万笔资料一个file.(file nmae由000~999).
但是还不够....我的HD不够大, 资料量太大,
所以我就将资料做压缩! 自己写? 别傻了, 自己写的程式压缩率不好又慢 Orz
当然是选市面上好用的 :)
反正当资料写到需要close file时, 再关档後补个system()就好了 XD
只是每次读资料都蛮麻烦, 要先选file, 然後再解压缩, 最後才可以开档读取!
但这是我觉得可行的方法! 因为资料跑一次要2 week以上,
然後我要分析那些资料, 而且所开发的东西还没定型,
分析那些资料还要分析个几十次也说不定.
资料量多大? 我事後算过约800G (假如用最初的文字档来算,压缩程式,万岁 ^O^ )
所以当data size大到一定程度时, 要以更严谨的态度去面对data access的问题!
上面哪些都是一步一步地去想,去做,去确认问题,再重新检视全部的方法和问题.
Plan->Do->Check->Review (一直loop, 直到问题不能再被改善为止:) )
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.230.125
※ 编辑: gwliao 来自: 140.112.230.125 (10/18 01:42)
1F:推 cruise:windows好像有个filemap的东西可以用,类似swap的模式 10/18 11:36
2F:→ cruise:听说速度还不算太慢...orz..听某个橘子公司的人说的.. 10/18 11:37
3F:→ cruise:这样会比切成几个档案来的好,因为一切开总是会有lost... 10/18 11:39
4F:→ cruise:那麽分析方法就要相对应去调整...相当orz... 10/18 11:40