【问题标题】:Python Algorithm EfficiencyPython 算法效率
【发布时间】:2010-12-11 09:48:05
【问题描述】:

假设您有 32000 条记录,每条记录 89 字节存储在 TSV 文件中。

您将其粘贴到 Python 字典或 Ruby 哈希中,并使用 9 字节键进行索引,该键本身就是每条记录中的一个字段。换句话说,您有一个包含 32000 个键值对的字典,其中每个键是 9 个字节,每个值是 89 个字节。在现代计算机(例如 2.4Ghz Macbook Pro)上,检索记录所需的平均时间的粗略估计是多少,以及在 theta 表示法中最坏的情况是什么? Ruby 中的实现是否比 Python 慢?

【问题讨论】:

  • 你对它进行基准测试怎么样?
  • 你为什么不直接运行测试?坦率地说,这取决于您必须尝试了解的很多事情。
  • 计算机会嘲笑 32000 这样的数字。在我 2 岁的笔记本电脑上散列 32000 个键需要 3 毫秒...

标签: python ruby algorithm


【解决方案1】:

字典通常可以在恒定时间内检索键,因此您的问题的答案是“非常快”。

如果您的许多键发生碰撞,唯一的方法会很慢,但是您可以通过使用良好的哈希函数来避免这种情况。默认的哈希函数可能会很好。

Ruby 中的实现是否比 Python 慢?

Ruby 在性能基准测试中通常比 Python 慢一点点。我希望这可能也是如此。

The Computer Language Benchmarks Game - Ruby vs Python

【讨论】:

  • 什么时候停止在内存中运行才有意义?
  • @mbm:当你的记忆填满时。
  • 男孩,我喜欢做菜鸟吗?谢谢大家!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-27
  • 2023-04-05
相关资源
最近更新 更多