Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在Elixir中访问元组的大小很快?_Elixir - Fatal编程技术网

为什么在Elixir中访问元组的大小很快?

为什么在Elixir中访问元组的大小很快?,elixir,Elixir,我在很多地方读过,在Elixir中查找元组的大小非常快,因为元组存储在连续的内存单元中。但是,for列表的开销更大,因为需要遍历整个列表才能知道列表的长度 我不明白,在连续的内存单元中,如何更快地找出元组的大小。你不需要检查每个单元格吗?存储元组大小。列表的长度不是 元组也是一个装箱值,因此它由一个指向ARITYVAL头(1个单词)的装箱指针(1个单词)组成,该指针后面显示元组的元素。 ARITYVAL头的arity部分是一个26位(在32位系统上)整数值,包含元组中的元素数 — https:/

我在很多地方读过,在Elixir中查找元组的大小非常快,因为元组存储在连续的内存单元中。但是,for列表的开销更大,因为需要遍历整个列表才能知道列表的长度

我不明白,在连续的内存单元中,如何更快地找出元组的大小。你不需要检查每个单元格吗?

存储元组大小。列表的长度不是

元组也是一个装箱值,因此它由一个指向
ARITYVAL
头(1个单词)的装箱指针(1个单词)组成,该指针后面显示元组的元素。
ARITYVAL
头的arity部分是一个26位(在32位系统上)整数值,包含元组中的元素数
— https://blog.edfine.io/blog/2016/06/28/erlang-data-representation/

将存储元组大小。列表的长度不是

元组也是一个装箱值,因此它由一个指向
ARITYVAL
头(1个单词)的装箱指针(1个单词)组成,该指针后面显示元组的元素。
ARITYVAL
头的arity部分是一个26位(在32位系统上)整数值,包含元组中的元素数
— https://blog.edfine.io/blog/2016/06/28/erlang-data-representation/