1
假设我有一些查找表,q(w, x, y, z)
,其中键的各种组合映射到不同的值;即,q(0, 0, 0, 0) = a
,q(0, 0, 0, 1) = b
,q(15, 16, 23, "b") = c
。红宝石性能:多密钥哈希
什么来实现在效率方面在Ruby中这种结构的最佳方式?密钥将被动态生成,通常是字符串。我能想到的三种不同键控方法与哈希:
- 使用字符串作为关键:
q["a, b, c, d"] = 0
- 使用单一阵列为关键:
q[["a", "b", "c", "d"]] = 0
- 使用哈希散列:
q["a"]["b"]["c"]["d"] = 0
我目前使用的方法2,这是一个慢一点比我想的。这些组合键是动态生成的 - 如果我使用一个只接受一个字符串的散列,字符串连接会更快吗?我是否应该首先使用哈希散列?这种方法会在内存中占用更多空间吗?