我正在使用Python构建反向索引。
我对它能为我提供的表现有些怀疑。
Python在索引方面几乎与Java或C一样快吗?
此外,我想知道是否存在任何模块/实现(以及它们是什么,有些链接可以吗?)相同以及与Java / C中开发的内容相比它们的表现如何?
我读到了这个通过将它与Psyco一起使用来优化他的Python两倍的人。
我知道这是一个误导,因为gcc 3.x编译器就像超级快。基本上,我的观点是我知道Python不会比C快。但是它有点可比吗? 与Java相比,有人可以说明它的性能吗?我对此一无所知。 (就反向索引实现而言,如果可能,因为它实际上需要磁盘写入和读取。)
如果没有谷歌搜索,我不会在这里问这个问题。我没有得到明确的答案,因此问题。
非常感谢任何帮助!
答案 0 :(得分:4)
事后担心优化。编写代码,对其进行分析,对其进行压力测试,识别缓慢的部分并在Cython或C中对其进行偏移,或者重新编写代码以使其更有效,如果将其加载到PyPy上可能会更快,因为它具有JIT编译器,它可以帮助长时间运行的进程和循环。
记住
过早优化,是万恶之源。 (当然是线程之后)
答案 1 :(得分:3)
我不相信你会在反向索引的语言中看到很多的区别,因为瓶颈通常是IO [磁盘访问!]
如果您想要一些可以帮助您索引信息的现有实现,请查看java及其python版本的Apache Lucene:PyLucene