2

我正在使用 Python 构建倒排索引。

我对它可以为我提供的性能有一些疑问。

Python 在索引方面会几乎与 Java 或 C 一样快吗?

另外,我想知道是否存在任何模块/实现(以及它们是什么,请提供一些链接?),以及与 Java/C 开发的东西相比,它们的性能如何?

我读到这个人用 Psyco 优化他的 Python 的速度是 C 的两倍。

我知道这是一种误导,因为 gcc 3.x 编译器非常快。基本上,我的观点是我知道 Python 不会比 C 快。但它有可比性吗?与Java相比,有人可以阐明它的性能吗?我对此一无所知。(就倒排索引实现而言,如果可能的话,因为它本质上需要磁盘写入和读取。)

我不是在没有先谷歌搜索的情况下在这里问这个问题。我没有得到明确的答案,因此提出了问题。

任何帮助深表感谢!

4

2 回答 2

4

事后担心优化。编写代码,对其进行分析,对其进行压力测试,识别慢速部分并在 Cython 或 C 中偏移它们或重新编写代码以使其更高效,如果将其加载到 PyPy 上可能会更快,因为它具有 JIT 编译器,它可以帮助处理长时间运行的进程和循环。

记住

过早的优化,是万恶之源。(当然是在线程之后)

于 2012-02-26T11:23:17.610 回答
4

我不相信您会看到倒排索引的语言之间有太大差异,因为瓶颈通常是 IO [磁盘访问!]

如果您想要一些现有的实现来帮助您索引信息,请查看Apache Lucene for java 及其 python 版本:PyLucene

于 2012-02-26T11:29:30.640 回答