4 ms·
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
by peoplefromibiza 3y ago
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
- throwawaymaths 3y agoI'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
- davydog187 3y agoErlang tuples are contiguous in memory for primitive values https://blog.edfine.io/blog/2016/06/28/erlang-data-representation/ https://blog.edfine.io/blog/2016/06/28/erlang-data-represent...
- throwawaymaths 3y agoArray doesn't guarantee to be put into a single tuple. It might be nested.