我需要关于我的第一个 D 项目的建议。我已将其上传到:-
https://bitbucket.org/mrjohns/matcher/downloads
IDEA:对 3 种运行时算法进行基准测试,并将它们与它们的编译时变体进行比较。它们之间的唯一区别是,对于编译时,查找表(即数组 bmBc、bmGs 和后缀)必须在编译时计算(我目前依赖 CTFE)。而对于运行时,查找表是在运行时计算的。
注意:模式匹配算法本身不需要在编译时执行,只需要查找表。话虽如此,在已知(编译时计算)表上运行的算法必须比必须在运行时计算它们的算法更快.
我的结果似乎有所不同,只有第一对(BM_Runtime 和 BM_Compile-time)产生了可接受的结果,另外两对为编译时变体提供了更长的执行时间。我认为这里缺少一些东西。请帮忙。
模式=“GCAGAGAG”的当前结果如下:-
**BM_Runtime** = 366 hnsecs position= 513
**BM_Compile-time** = 294 hnsecs position =513
**BMH_Runtime** = 174 hnsecs position= 513
**BMH_Compile-time** = 261 hnsecs position= 513
**AG_Run-time** = 258 hnsecs position= 513
**AG_Compile-time** = 268 hnsecs position= 513
运行代码:dmd -J。matcher.d inputs.d rtime_pre.d ctime_pre.d && numactl --physcpubind=0 ./matcher
我会很感激你的建议。
谢谢你的建议。