有比pos搜索速度更快的函数吗? 发现pos在长文档中搜索字符串速度不是很理想,有更快的吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试试FastCode,里面有对Pos针对CPU的优化。 真是高人阿,把pos都能用穿!!FastCode知道这个,但不知道针对cpu的优化了?更高阿 你的文档有多大?有时候并不是POS的问题.如果文档很大,比如上百M的话,需要特殊处理.比如做成内存映射文件,再搜索. 试试faststring这个应该是最快的了。不过如果是大文件,还是应该考虑一下使用方法来处理。 pos定义在system单元,全部是用汇编完成的,速度应该很难突破. 所以先不从POS突破,先把文件映射到内存去,做成内存映射文件来提高速度. FastCode对CPU有优化,不同的CPU,可以自动识别,使用不同的机器指令。具体看里面的程序。 对fastcode还不太会用,用里面的示例不能通过编译,找不到fastmove单元。直接调用fastcodepos单元中的函数,好象没有效果。我的cpu是笔记本intel-m的,调用FastCodePosPMD函数,速度几乎没有改变。 内存映谢?我是将word/excel/powerpoint文档存贮在服务器的数据库中,文档约有1200000个,体积已近1G,客户需要依照关键字在所有文档中查找包含关键字的文档.现在我的做法是用adoquery将文档读入内存流(设置CursorLocation为clUseServer,cachesize为200),然后在流中用pos查找字符串。目前,1000编文档大约用时52秒。现在我分析,在硬件和带宽一定的条件下,影响速度主要是两个因素:1、CursorLocation、cachesize值的设置;2、Pos函数。 用fastcode是否只是编译时对CPU进行优化,而运行是不能?如果是这样对于发行给用户的程序则用处也不大。 再下载Fastmm4,FastMove,只要在project开头引用即可uses fastmm4,fastmove,fastcode, forms,..............是运行时优化,你看程序,会发现它是在启动时判断CPU类型,然后修改具体函数(比如Pos)的入口。 再看了一下lz的需求,如果是数据库的话,你应该尝试使用数据库的全文检索。pos函数提升有限。 word/excel/powerpoint/pdfmssql2000以上是支持全文索引的。相信速度比你的查询快 全文检索?由于存贮在表中的数据是image类型的word文档,而且数据库是sybase,不知能否实现全文检索. 困扰!Delphi工程目录中无故自动生成0字节文件! 如何保存tif文件到数据库 第1行:','附近有语法错误 【想开始学习DEPHI语言,用的是DEPHI 7只有能做小软件就可,请大家推荐一下好的入门书籍?】 高难度:如何禁止删除指定的文件或文件夹. Tlistview删除问题,在线等待 stream read error 请帮我看看这问题,谢谢 Delphi中如何实现托盘图标 luoweicaisd(笑三少)请进。 字段值为空时的查询判断怎么写 DELPHI里的Dbgrid实现特殊效果
不过如果是大文件,还是应该考虑一下使用方法来处理。
直接调用fastcodepos单元中的函数,好象没有效果。
我的cpu是笔记本intel-m的,调用FastCodePosPMD函数,速度几乎没有改变。
我是将word/excel/powerpoint文档存贮在服务器的数据库中,文档约有1200000个,体积已近1G,客户需要依照关键字在所有文档中查找包含关键字的文档.
现在我的做法是用adoquery将文档读入内存流(设置CursorLocation为clUseServer,cachesize为200),然后在流中用pos查找字符串。目前,1000编文档大约用时52秒。
现在我分析,在硬件和带宽一定的条件下,影响速度主要是两个因素:
1、CursorLocation、cachesize值的设置;
2、Pos函数。
forms,..............是运行时优化,你看程序,会发现它是在启动时判断CPU类型,然后修改具体函数(比如Pos)的入口。
mssql2000以上是支持全文索引的。相信速度比你的查询快