iex(1)> tab = :ets.new(:bin, [])
#Reference<0.658737734.4062838786.175931>
iex(2)> :erlang.memory
[
total: 26914645,
processes: 9866336,
processes_used: 9865160,
system: 17048309,
atom: 434361,
atom_used: 404037,
binary: 119240,
code: 7644355,
ets: 554992
]
iex(3)> Enum.each(1..1_000_000, fn i -> :ets.insert(tab, {i, "#{i}some,string,imagine,its,csv\n"}) end)
:ok
iex(4)> :erlang.memory
[
total: 219287961,
processes: 9878656,
processes_used: 9878528,
system: 209409305,
atom: 442553,
atom_used: 416484,
binary: 72163744,
code: 7811407,
ets: 120596488
]
iex(1)> tab = :ets.new(:iolist, [])
#Reference<0.3881555286.1110835207.108137>
iex(2)> :erlang.memory
[
total: 26780825,
processes: 9997056,
processes_used: 9996032,
system: 16783769,
atom: 368825,
atom_used: 336607,
binary: 123728,
code: 7541447,
ets: 544240
]
iex(3)> Enum.each(1..1_000_000, fn i -> :ets.insert(tab, {i, [i, "some", ?,, "string", ?,, "imagine", ?,, "its", ?,, "csv", ?\n]}) end)
:ok
iex(4)> :erlang.memory
[
total: 819281125,
processes: 10022624,
processes_used: 10021600,
system: 809258501,
atom: 434361,
atom_used: 407311,
binary: 320150888,
code: 7709891,
ets: 472586984
]