Эффективность алгоритма Python

1

Скажем, у вас есть 32000 записей с 89 байтами/записью, хранящейся в TSV файле.

Вы вставляете это в словарь Python или хеш Ruby, и вы индексируете с помощью 9-байтового ключа, который сам по себе является полем в каждой записи. Другими словами, у вас есть словарь с 32000 парами ключ-значение, где каждый ключ имеет 9 байтов, а каждое значение составляет 89 байт. На современном компьютере, таком как 2.4Ghz Macbook Pro, какая приблизительная оценка среднего времени, необходимого для получения записи, и что в худшем случае в тета-нотации? Является ли реализация в Ruby медленнее, чем в Python?

  • 9
    как насчет этого?
  • 4
    Почему бы тебе просто не запустить тест? Честно говоря, это зависит от многих вещей, которые вы должны попытаться узнать.
Показать ещё 1 комментарий
Теги:
algorithm

1 ответ

4
Лучший ответ

Словарь обычно может извлекать ключи в постоянное время, поэтому ответ на ваш вопрос "очень быстрый".

Единственный способ, которым это было бы медленным, если бы много ваших ключей столкнулись, но вы можете избежать этого, используя хорошую хэш-функцию. Хэш-функция по умолчанию, вероятно, будет прекрасной.

Является ли реализация в Ruby медленнее, чем в Python?

Ruby, как правило, медленнее в производительности, чем Python, с небольшим коэффициентом. Я бы предположил, что, вероятно, это правда и здесь.

Компьютерная игра Benchmarks Game - Ruby vs Python

  • 0
    В какой момент имеет смысл прекратить этот запуск в памяти?
  • 1
    @mbm: когда твоя память заполняется.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню