OCTAGRAM писал(а):
Вот целая Mac OS X с кучей родных программ, TGC объявлен устаревшим, и не надо париться, тормоза из-за TGC или нет.
...
Я считаю, что всё хорошее должно быть не в прошлом и не только для тех, кто думает different, а по умолчанию.
Как пользователь Mac Mini и iPad (извините, не знаю как там на Хакинтош) я, конечно, с превеликим удовольствием послушаю про лучшие решения в "лучшей в мире ОС" (с), но без особого сочувствия, потому что в работе с памятью у них всё далеко не так гладко, и я частенько восстанавливал живительным Reset работоспособность Мака, ушедшего в глубокий обмен данными с диском. Обновление на новые версии ОС мне заблокированы по одной очень банальной причине - памяти не хватает. Что же её так жрёт? Может быть .NET или Java? А нет, там решающий ВСЕ проблемы динамической памяти ARC.
Цитата:
Что касается YotaPhone, в статье приводятся результаты эксперимента, что для нормальной работы TGC нужно в 5 раз больше доступной памяти, чем задействовано.
Какой статье, какого эксперимента?
Цитата:
- Что, 300?
- А что приборы?
Я заинтересован в проверке концепций с помощью своего транслятора, это, определённо, полезно. Предложите, пожалуйста, не надуманную показательную задачу, воплощаемую за адекватное время (не более 4-8 часов). Я сделаю её на "безнадёжно испорченном" (с) Обероне, возможно, для нескольких менеджеров памяти, а Вы сделаете на самом лучшем, что найдёте. Затем сравним предметно, во сколько раз "хирургически точная программа" (с) окажется эффективней по памяти и скорости моей развалюхи.
Цитата:
При консервативном аллокаторе, как меня учили, из-за фрагментации требуется в два раза больше доступной памяти, чем задействовано, то есть, при одинаковых задачах программы с TGC будут работать быстрее, только если им дать в 2,5 раз больше RAM, чем аналогу на ARC.
Что-то мы поплыли куда-то не туда, куда-то на "юго-север" (с). Фрагментация возникает при любом способе освобождения, и скорее зависит от стратегии распределения и количества циклов выделения-освобождения. Таким образом, большей фрагментации с GC можно достичь при обильном производстве бесполезного мусора, о чём я уже упоминал, как главной проблеме Java, а не из-за наличия GC как такового.
Цитата:
Может быть, 2Гб хватает, чтобы залить ошибки разработчиков вычислительными ресурсами.
Давайте посмотрим на количество памяти на iPhone 7, на котором, как нам достоверно известно, всё сделано правильно - 2 Gb. Это что же получается, неужели они заливают ошибки разработчиков вычислительными ресурсами, или, может, iPhone работает 10 дней от одного заряда?
Цитата:
Пока что всё, что написано в статье, замечательно согласуется с наблюдениями.
А всё что замечательно не согласуется - игнорируем. Об этой проблеме я тоже уже писал. Никто не уникален - ни Вы, ни я. Только ежедневная борьба с самим собой и... тестовая задача.