Erlang / Erlang Basics Interview questions
When should you use ETS instead of process state?
Keeping data inside a single process's state works fine when only that process needs it, or when access is naturally serialized through that process's mailbox. ETS becomes the better fit once many processes need concurrent read/write access to the same data, because going through one process's mailbox would turn it into a bottleneck that every reader has to queue behind.
Typical ETS use cases: a shared cache read by hundreds of request-handling processes, a session table, or a routing table that changes occasionally but is read constantly. Process state is the better fit when the data is truly private to one actor's logic, or when you want writes serialized one-at-a-time as a deliberate correctness guarantee (e.g. a bank account balance).
The tradeoff: ETS reads/writes bypass message-passing isolation, so multiple processes can race on the same
key unless you design your access pattern (or use ets:update_counter/3 style atomic ops)
carefully.
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
