Containers are not VMs
https://blog.docker.com/2016/03/containers-are-not-vms/
- containers - квартиры
- vms - полноценные дома
- Все понимают, а потом начинают спрашивать вопросы:
- как мне бэкапить приложения
- а где они на самом деле работают (какой Host)
- patch management strategy (upgrading application inside the container)
- на самом деле, контейнеры - это способ доставки сервисов, которые составляют приложение
- сервисы проще обновлять поотдельности, декларативно определяя, как они составляют приложения
Erlang 19.0 GC
https://www.erlang-solutions.com/blog/erlang-19-0-garbage-collector.html?utm_source=Reddit&utm_medium=Erlang&utm_campaign=BlogGarbageCollector
- copying semi-space garbage collector
-
- generational garbage collection
- магия с young heap
- все литералы не копируются при работе GC
- на 64-битных системах, где позволяется маппирование unreserved virtual memory (not-Windows), 1GB is mapped и туда кладутся все литералы. Проверка is_literal - просто посмотреть, где расположен pointer. Page is not touched - no space occupy
- 32-bit systems 1GB - too much. 256KB literal regions are created by demand
- bit-array is used to determine if it’s a literal-region pointer
- 64-bit without unreserved virtual memory mapping - each term has the field if is literal or not.
- binary heap - for any binary terms > 64 bytes. Reference counted. Pointer - in the process heap