Ruby Struct - производительность снижается? - PullRequest
2 голосов
/ 07 июля 2010

Есть ли какие-либо издержки производительности, которые вы берете на себя при использовании Structs (по сравнению с массивами, хэшами и т. Д.) В Ruby?

1 Ответ

2 голосов
/ 07 июля 2010

Я несколько раз пытался выполнить следующее (после комментария Йерга это было обновлено для использования фиксированной переменной для значения вместо создания большого количества строк) :

require 'benchmark'

Example = Struct.new("Example", :value)

struct = Example.new
hash = {}
value = "The value"

n = 5000000
Benchmark.bm do |m|
  # test assignment and access for Hash and Struct
  m.report { n.times do; hash[:value] = value; end }
  m.report { n.times do; struct.value = value; end }
end

Обновление

Кажется, с достаточно большим значением n Struct немного медленнее, но я не могу себе представить, что это будет заметно или проблема на практике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...