|
|
1
22
就我个人而言,当我想让一段数据像一个数据集合一样工作,而不是在一个框架下松散耦合时,我会使用struct
稍后在我的代码中,我有一个循环,它遍历视频源HTML页面中的所有行,直到
我看到的另一个例子是
James Edward Gray IIs
configuration class
两者的区别
|
|
|
2
10
结构具有通过索引和名称在其元素中获取的功能:
这有时很有用。 |
|
|
3
9
对于那些喜欢IPS(每秒迭代次数)指标的人来说,以下是更具可读性的基准:
结果:
对于庞大的列表:
结论
|
|
|
4
8
主要是表演。Struct的速度要快得多,按数量级排列。与哈希或OpenStruct相比,它消耗的内存更少。更多信息请点击此处: When should I use Struct vs. OpenStruct? |
|
|
5
6
关于使用Hash的速度,Struct或OpenStruct:Hash在一般情况下都会获得成功。它是OpenStruct的基础,没有额外的糖霜,所以它不是那么灵活,但它是精简和平均的。 使用Ruby 2.4.1:
使用更简洁的哈希和OpenStruct定义:
但是请注意,对于访问,Struct只比Hash快4倍,而对于初始化、赋值和访问,Hash快17倍。您必须根据特定应用程序的需要确定哪种应用程序最适合使用。因此,我倾向于使用散列作为一般用途。 而且,使用OpenStruct的速度在过去几年中有了很大的提高;根据我过去看到的基准测试,与1.9.3-p551相比,它过去比Struct慢:
以及:
以及:
|
|
|
6
1
benchmarks 关于Ruby 3.0.0p0(2020-12-25修订版95aff21468)[x86_64-darwin20]。
庞大的名单
结论
|