А можно просто избавляться от всего, что с TGC и не париться, оно или не оно. Вот целая Mac OS X с кучей родных программ, TGC объявлен устаревшим, и не надо париться, тормоза из-за TGC или нет. Windows NT Terminal Server Edition во времена, когда был бум всего COM-овского и ещё не успели массово сойти с ума по .NET, держала кучу пользователей на мощностях, которые несколько лет спустя после помешательства едва хватает на одного пользователя.
Я считаю, что всё хорошее должно быть не в прошлом и не только для тех, кто думает different, а по умолчанию.
Что касается YotaPhone, в статье приводятся результаты эксперимента, что для нормальной работы TGC нужно в 5 раз больше доступной памяти, чем задействовано.
При консервативном аллокаторе, как меня учили, из-за фрагментации требуется в два раза больше доступной памяти, чем задействовано, то есть, при одинаковых задачах программы с TGC будут работать быстрее, только если им дать в 2,5 раз больше RAM, чем аналогу на ARC. Может быть, 2Гб хватает, чтобы залить ошибки разработчиков вычислительными ресурсами. Пока что всё, что написано в статье, замечательно согласуется с наблюдениями. Может быть, я как раз постоянно наблюдаю TGC только с той стороны графика, где он асимптотически вверх уходит, пробивая потолок своими тормозами, а это ещё походы в своп и обратно не учитываются. Я пессимист и считаю, что у моих пользователей компьютеры будут даже хуже, чем у меня, и TGC они тоже увидят только с этой стороны.
ilovb писал(а):
OCTAGRAM, у вас какие характеристики компьютера?
И что за задачи вы на жабе крутите?
Это так..., чтоб понимать контекст обсуждения.
На скриншоте Windows 2003 x64 в Xen HVM на нетбуке с AMD C-60, прокачанном планкой памяти на 8Гб. Windows доступно 5Гб. Там ещё крутятся Squid в режиме обратного прокси, OrenOSP, другой обратный прокси, Apache+PHP для Windows, Apache+PHP и Ada Web Server на Linux domU, по MySQL на каждой системе. Процесс javaw.exe — это J2EE. Семь лет назад имел обыкновение выбирать движки по принципу лишь бы не PHP, и интересные варианты оказались на J2EE, в том числе X-Wiki. Сайты завёл на нём. С Quercus Pro экспериментировал. Unicode в PHP за несколько лет до PHP 7. Интересно же.
Думал, компиляция из PHP в Java-классы, а из них — в машинный код, — это должно быть быстро, а получается, что ничего подобного. TGC обнуляет все другие преимущества. Пока страниц было не много, оно ещё нормально работало, но потом, как импортировал TURBO.TPH и начал дальше расширяться, приходилось оптимизировать, и оптимизации сводились к тому, что я на уровне Squid разгружал J2EE в пользу других веб-серверов, потому что этому полудурку вообще что ни доверь, всё будет валиться из рук. У него там мусор, он его собирает. X-Wiki, JForum, Quercus Pro, даже просто статика! Всё валится из рук! Все остальные веб-сервера работают, форум на интерпретируемом PHP 5 работает, и только у этого полудурка таймауты. На него чуть дыхни, малейшее нашествие Semrush Bot, — и всё, лапки кверху, пошли таймауты. Google Webmaster на проблемы с доступом ругается. Делаю пока замену на Ada Web Server, по планам этот J2EE вообще закопать и забыть как страшный сон, но ещё не всё заменил. Ох, и достал же он меня!
На рабочем ноутбуке AMD-A6 2.1ГГц 4Гб Windows 10, потому что как разработчику нужен Windows 10 хотя бы для тестов. Приходится терпеть. Одна программа с TGC там — это браузер. Запусти ещё две других с TGC, и всё, их уже стало три, и ноут работает на пределе.