Цитата: Сколько бы она ни стоила, она лучше EOutOfMemory.
Только вот момент, когда заканчивается память у managed приложения наступает много раньше, чем у натива. Из-за GC. Покажи мне пример, когда, проблема фрагментации стала для натива стала критичной.
Цитата: Это прекрасно. Не слышал, но уверен, что не на много.
потому что я знаю, как работает кэш, и не вижу, какие преимущества может дать GC.
Это ты
не дал никакий ни теоретических, ни практических обоснований для своего утверждения.
Цитата: У менеджеров конечно нет, это геморой программиста. Только с GC его нет.
но есть другой?
Цитата: при использовании GC можно голову выключать. Я уже писал, что GC это инструмент и им нужно уметь пользоваться, а не просто: "память безгранична, ООП головного мозга, щас спою".
Так то! В нативе все, что нужно: это
вовремя освободить память.
А managed девелоперы, столкнувшиеся с серьезной задачей,
вынуждены думать и о неявном боксинге, и о времени жизни объектов, и о передаче ссылок на объекты -- то есть, не зная точной стратегии мусорщика, все же пытаться ему помогать. И это ли не
геморрой?
Блин, я лучше буду искать утечки, или иногда(случается редко) расследовать случаи поврежденного буфера, чем такое.
Цитата: Это статические-то массивы на стеке нетривиальная практика??? Куда уж тривиальнее...
я лично такое использую редко. И если проблема проявится, то по стеку вызовов это место будет одним из первых для анализа и проверки.
Притом я сам всегда делаю буфер, как ты говоришь: "на 1-2 байта" больше, чем ожидаю получить:занижаю декларированный для АПИ размер. Это мой личный опыт.
Цитата: Работает-работает, просто увеличивается время на просмотр графа.
как его можно
до конца проанализировать, когда он постоянно меняется? И даже если можно,
сколько процессорного времени будет это занимать?
Цитата: У меня нет айфона, но ты вот мне ответь, почему на своём ведроиде я ни каких тормозов и проблем с отзывчивостью не наблюдаю?
это что за аргумент? Проблемы с отзывчивостью андроида общеизвестны.
Их может не быть на топовых устройствах, конечно, с большим объемом оперативной памяти. Сколько в твоем?
Но если взять взять android телефон по тех характеристикам равный iPhone(<=1Gb RAM), какой будет ситуация?
Цитата: Ну т.е. если запустить аппу собранную с обезьяной они конечно сразу обнаруживаются, но дело тут-то точно не в GC
это проблема FMX, никто не говорит, что он хорош.
Цитата: У Рихтера есть книжка посвященная GC. Есть статьи с детальным разбором. Ищущий да обрящет.
это опять отсылка в гугль?
Цитата: SMM из стадии эксперимента все никак не выйдет.
пустая отмазка. Чем он плох?
Цитата: А его наличие никак не отменяет отстойности стандартного менеджера в многопоточке.
не отменяет. Ну и что? Менеджер памяти для Delphi - вагон. И их
можно кастомизировать средствами самого языка,
в отличие от GC;они
много проще устроены,так что это посильная задача даже для одиночки.
Мы-то знаем, что некоторые джависты в своей борьбе с ущербным инструментом пишут свои GC, и вот это -- хардкор.
Цитата: Теперь скажи, а кому по карману идеальный код в нативе?
никому почти. Но он и
не нужен. Даже средний код нативный -- очень быстр.
Цитата: А вот середнячки с нативом в руках, что обезьяны с гранатой.
ложь. Думаешь Windows писали одни асы? А Delphi среду? А любой движок БД?
У тебя просто заниженный показатель "среднего", думается. Что, дотнетчик с 1 годом опыта уже у тебя средним является? Я себя к асам не причисляю, но с таким бы программером рядом и с..ть не сел.
Цитата: А ты бы хотел, чтоб я я сюда постил многостраничные тексты? Пару слов в гугл вбить очень сложно?
Я бы хотел, чтобы ты давал конкретные ссылки, причем если объем большой, что своими словами резюмировал суть.
Только тролли посылают в гугль. И только дураки дают ссылки на пространные документы без указания, что именно там искать.
Цитата: Цитата:
ЧТО? это вызов косвенный адово замедляет? Во времена, когда в тренде Dependency Injections и интерфейсы(в которых все вызовы косвенные)?
Читай.
Это 5 процентов овехеда -- чудовищное замедление? Что за ерунда? А сколько жрет GC, пусть даже работая в фоне?
Потом, мы не знаем кейса. Может, он в тугом цикле перекидывает ссылки на объекты как параметры, без const или var модификатора. Подсчет ссылок -- это ведь тоже не серебряная пуля. Но справиться с подсчетом все же проще , чем с GC.
Цитата: Она появиться может не сразу, а вылазить у юзера при обработке специфических данных. Такие ошибки самые гадские, и в плане поиска и в плане последствий.
Так трудно-повторяемые ошибки на специфических данных вообще худшие, безотносительно, связаны они с порчей памяти, или нет. GC от них не гарантирует.
Да, это проблема. Но у программиста должно быть достаточно мужества, чтобы быть готовым к этому.
Цитата: Высокочастотный трейдинг достаточно серьезное применение? Вот например, написан на жабе
тут чел уже давал ссылку
https://www.lektorium.tv/lecture/14257 там умудренный джавист два часа распинался, как
борясь с языком и парадигмой GC(по сути, они реализовывали свои кастомные
неуправляемые кучи, чтобы избежать GC), а также
ломая парадигмы не только ООП, но даже и просто структурного программирования, -- словом, пускаясь
во все тяжкие, они добивались скорости.
Да уж, толк в извращениях они знают.
И да,объем знаний, который при этом был задействован, столь велик, что мне рассудилось, что было проще нанять команду "средних" нативщиков, которые будут писать неидеальный но все же очень быстрый (ибо натив и без GC) код, ну и одного аса, который будет за ними подчищать утечки и прочие скорбные дела натива.