News for hackers. Stuff that matters.
Re:Unpacking Elixir: Concurrency by peoplefromibiza on Friday August 25, 2023 @07:43AM (#37260587)
Maps are hashtables, Vectors are a contiguous area of memory where each element can be access by index referring to a specific address in that memory.

Vectors are usually also homogeneous about the data they hold, because each element should occupy the same fixed amount of memory, such as i*item_size gievs you back the offset of the element i in memory.

Anyway, in Elixir you can use the Erlang's :array module

Re:Unpacking Elixir: Concurrency by throwawaymaths on Friday August 25, 2023 @08:28AM (#37260938)
I'm pretty sure erlangs :array is just a skin over tuple, so it's ~O(1) but not contiguous. might be O(log n) for dynamic arrays. The only truly array datatype in Erlang is :atomics
Re:Unpacking Elixir: Concurrency by davydog187 on Friday August 25, 2023 @09:02AM (#37261212)
Erlang tuples are contiguous in memory for primitive values https://blog.edfine.io/blog/2016/06/28/erlang-data-represent...
Re:Unpacking Elixir: Concurrency by throwawaymaths on Friday August 25, 2023 @08:33PM (#37268740)
Array doesn't guarantee to be put into a single tuple. It might be nested.