dcl1214 发表于 2024-12-26 19:16:43

深度搜索文件用独立空间提速

本帖最后由 dcl1214 于 2024-12-28 11:32 编辑

从服务器上下载了一个文件包到本地(包内很多文件,含dwg),cad中执行insert插入某一个dwg到图纸的时候,我们已知该dwg在下载的包内,但是,不知道在哪一个夹子里面,lisp如何搜索才是最快的?这属于深度搜索,lisp速度很慢咋办?答案:独立空间来帮忙

调用方法:
($shen-du-sou-suo$ "文件名.dwg" "c:\\新建文件夹\\目录1" nil);第三个参数留空
($shen-du-sou-suo$ nil "c:\\新建文件夹\\目录1"(LIST(CONS "文件名" "文件名.dwg")(cons "目录数" 1000)));第一个参数不传递,将第一个参数放到第三个参数里面传递
($shen-du-sou-suo$ "文件名.dwg" nil(LIST(cons "目录" "c:\\新建文件夹\\目录1")(cons "目录数" 1000)));第二个参数不传递,将第二个参数放到第三个参数里面传递
($shen-du-sou-suo$ nil nil nil);三个参数都留空
注意,目录数后面的8000的意思是你可以将深度调到很大,您可以让lisp深度扫描也可以
纯lisp深度搜索一个文件,哪位还有更快的,一起切磋一下



zlf2008 发表于 2024-12-26 19:48:57

为什么要使用lisp,系统自带的或者是软件不香吗?

你有种再说一遍 发表于 2024-12-26 20:07:48

zlf2008 发表于 2024-12-26 19:48
为什么要使用lisp,系统自带的或者是软件不香吗?

因为只会Lisp就想用它完成各种任务,
然后就局限了眼界,不知道MTF表可以秒查...

llsheng_73 发表于 2024-12-26 20:38:02

是不是先找出指定目录的子目录,再去里边看有没有要找的文件?

llsheng_73 发表于 2024-12-26 20:39:29

你有种再说一遍 发表于 2024-12-26 20:07
因为只会Lisp就想用它完成各种任务,
然后就局限了眼界,不知道MTF表可以秒查...

应该可以通过文件系统的功能来完成楼主的事情吧?

你有种再说一遍 发表于 2024-12-26 20:55:07

llsheng_73 发表于 2024-12-26 20:39
应该可以通过文件系统的功能来完成楼主的事情吧?

不都是因为操作系统提供的很慢才有Everything嘛,
Everything是支持二次开发的,
重点是Everything压跟不遍历磁盘,
因为MTF表上面就有记录,然后构建了索引,
所以原理上面就领先了.
微软是因为不放弃FAT格式,所以才要遍历磁盘.

chslwj521 发表于 2024-12-28 10:13:23

杜总威武:lol:lol

dcl1214 发表于 2024-12-28 11:34:27

你有种再说一遍 发表于 2024-12-26 20:55
不都是因为操作系统提供的很慢才有Everything嘛,
Everything是支持二次开发的,
重点是Everything压跟不 ...

Everything这个软件有建立缓存的时差,如果从远程服务器下载了一个文件包,lisp需要在下载完成后立刻从包内搜索一个文件,执行insert到图纸中,Everything时差容易造成搜索失败

kozmosovia 发表于 2024-12-28 18:48:34

dcl1214 发表于 2024-12-28 11:34
Everything这个软件有建立缓存的时差,如果从远程服务器下载了一个文件包,lisp需要在下载完成后立刻从 ...

从网上下载一个包,大小估计100M以下,要不然1s下载不下来。可能包含的文件数量,应该少于1000。从1000个文件中搜索一个文件,有提速的意义吗?
页: [1]
查看完整版本: 深度搜索文件用独立空间提速