You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
No way to snapshot a ETS state and/or dump a tables memory to file (if same ERTS is used to load)
Describe the solution you'd like
A way to quickly CoW in-memory a table and have 2 copies, writes to one do not reflect to the other, reads to the other go to the original, unless a change occurred.
A way to dump the memory directly to disk, right now tab2file reads every term sequentially + does term_to_binary on it, this gets linearly slower once the table surpasses 1m keys. The solution would be to structure the memory layout of a table making it friendly to be dumped to disk, then just read from disk directly into memory. A flag can be set that this is a very risky / insecure operation and untrusted tables should not be loaded this way. Assume that zstd or other compression is default, so large patches of zerod memory for example will compress really well.
Describe alternatives you've considered
No alternatives ATM. Mnesia disk writes are 10seconds+ delayed and enabling immediate flush mode on Mnesia makes it 100x slower.
EDIT: Funny posting this just gave me an idea how to implement ETS CoW purely on the managed side (abite with a large factor of less efficiency), without digging into ERTS sources.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
No way to snapshot a ETS state and/or dump a tables memory to file (if same ERTS is used to load)
Describe the solution you'd like
Describe alternatives you've considered
No alternatives ATM. Mnesia disk writes are 10seconds+ delayed and enabling immediate flush mode on Mnesia makes it 100x slower.
EDIT: Funny posting this just gave me an idea how to implement ETS CoW purely on the managed side (abite with a large factor of less efficiency), without digging into ERTS sources.
The text was updated successfully, but these errors were encountered: