На днях писал скрипт для выгрузки ~11к изображений, и в первой итерации хранил их все в памяти. Совокупно вместе с системой на винде это занимало 6 + 10 гигабайт, и на последней сотне-другой вылетало в OOM. Как инженеры из Apple придумали что мегабайтное изображение в RAM занимает меньше места чем на диске? Я серьезно спрашиваю, может реально какое-то сжатие? На винде мне даже своп не помог.
Сам работаю на M1 Pro. Я так понимаю дело в этом: 1. Сжатие памяти (аналог zram в Lnux) 2. Быстрый файл подкачки. Я бы даже сказал чудовищно быстрый благодаря архитектуре. 3. Отличный планировщик, который круто разруливает все что связанно с i/o в системе 4. Отключен sync, т.е. ядро отчитывается в систему что файл записан, а по факту он еще может быть в кэше. Может быть больно, если внезапно отключится питание и файл окажется поврежден, но ФС откликается быстрее
На днях писал скрипт для выгрузки ~11к изображений, и в первой итерации хранил их все в памяти. Совокупно вместе с системой на винде это занимало 6 + 10 гигабайт, и на последней сотне-другой вылетало в OOM. Как инженеры из Apple придумали что мегабайтное изображение в RAM занимает меньше места чем на диске? Я серьезно спрашиваю, может реально какое-то сжатие? На винде мне даже своп не помог.
Комментарий недоступен
Сам работаю на M1 Pro. Я так понимаю дело в этом:
1. Сжатие памяти (аналог zram в Lnux)
2. Быстрый файл подкачки. Я бы даже сказал чудовищно быстрый благодаря архитектуре.
3. Отличный планировщик, который круто разруливает все что связанно с i/o в системе
4. Отключен sync, т.е. ядро отчитывается в систему что файл записан, а по факту он еще может быть в кэше. Может быть больно, если внезапно отключится питание и файл окажется поврежден, но ФС откликается быстрее