Re[9]: Что будет, если из C# убрать GC?
От: 0BD11A0D  
Дата: 21.10.14 19:11
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>В реальности для этих 5% случаев вполне достаточно текущего уровня "контроля" над поведением GC.

BDA>>Очень интересно. И как предотвратить скатывание с 30 секунд до 2.5 минут в случае, приведенном Ткачевым?
G>Не писать такой код. В твоих приложениях есть необходимость создания 10000 объектов в цикле?

Скажем так, одно приложение, к которому я причастен, имело в этом необходимость. При скудных аппаратных ресурсах. Именно поэтому оно было написано на плюсах, хотя по моему мнению, оно бы только выиграло, если бы было написано не на этом ужасе, а на шарпе. Одного LINQ'а хватает, чтобы горькими слезами обливаться над STL/Boost. Но... те, кто его когда-то начинали, говорили — тормоз. Те, кто продолжали, говорили — как мы будем столько объектов создавать, при наших-то потребностях? Не будем? Тогда нам и на плюсах неплохо.

Из этого я сделал вывод, что профили GC очень бы поспособствовали популярности дотнета. Как видно выше по ветке, не я один. Или мне показалось, что видно.

G>>>Вернемся к вопросу, где в реальных приложениях, а не искусственных примерах, вам не хватает текущих возможностей конфигурации GC?


BDA>>Это методологически неправильный подход. Реальные приложения пишут на основе прототипов (искусственных примеров). Чтобы правильно выбрать технологию. Чтобы знать, что делать, если вдруг. Любая платформа полна непредвиденных сюрпризов — поэтому от предвиденных избавляются, создавая искусственные примеры.


G>Бред какой-то. Если я делю пример, в котором вызывается создание 100500 объектов в цикле, то это вовсе не означает, что в реальном приложении будет такой цикл.


Это означает, что программы, которые предполагают такие объемы, не пишутся на дотнете. Потому, что люди читают ту статью и понимают, что не имея средств управления GC, они пролетят с ним как фанера.

BDA>>Про именно текущие возможности я мало знаю — давно не сталкивался с дотнетом на практике. Что хотелось бы (двигать точку изгиба хоккейной клюшки по своему усмотрению), я написал. Уже сделали?

G>Нет, конечно. .NET никогда не оптимизировался под такие примеры, не за чем. Его всегда оптимизируют под реальные сценарии.

Рад, что вы знаете наверняка. В МС, видимо, тоже лучше всех знают. Хотя я считаю, это просто идет вразрез с какой-нибудь безопасностью. Дотнетом там занимались большие умницы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.