Здравствуйте, gandjustas, Вы писали:
G>>>В реальности для этих 5% случаев вполне достаточно текущего уровня "контроля" над поведением GC. BDA>>Очень интересно. И как предотвратить скатывание с 30 секунд до 2.5 минут в случае, приведенном Ткачевым? G>Не писать такой код. В твоих приложениях есть необходимость создания 10000 объектов в цикле?
Скажем так, одно приложение, к которому я причастен, имело в этом необходимость. При скудных аппаратных ресурсах. Именно поэтому оно было написано на плюсах, хотя по моему мнению, оно бы только выиграло, если бы было написано не на этом ужасе, а на шарпе. Одного LINQ'а хватает, чтобы горькими слезами обливаться над STL/Boost. Но... те, кто его когда-то начинали, говорили — тормоз. Те, кто продолжали, говорили — как мы будем столько объектов создавать, при наших-то потребностях? Не будем? Тогда нам и на плюсах неплохо.
Из этого я сделал вывод, что профили GC очень бы поспособствовали популярности дотнета. Как видно выше по ветке, не я один. Или мне показалось, что видно.
G>>>Вернемся к вопросу, где в реальных приложениях, а не искусственных примерах, вам не хватает текущих возможностей конфигурации GC?
BDA>>Это методологически неправильный подход. Реальные приложения пишут на основе прототипов (искусственных примеров). Чтобы правильно выбрать технологию. Чтобы знать, что делать, если вдруг. Любая платформа полна непредвиденных сюрпризов — поэтому от предвиденных избавляются, создавая искусственные примеры.
G>Бред какой-то. Если я делю пример, в котором вызывается создание 100500 объектов в цикле, то это вовсе не означает, что в реальном приложении будет такой цикл.
Это означает, что программы, которые предполагают такие объемы, не пишутся на дотнете. Потому, что люди читают ту статью и понимают, что не имея средств управления GC, они пролетят с ним как фанера.
BDA>>Про именно текущие возможности я мало знаю — давно не сталкивался с дотнетом на практике. Что хотелось бы (двигать точку изгиба хоккейной клюшки по своему усмотрению), я написал. Уже сделали? G>Нет, конечно. .NET никогда не оптимизировался под такие примеры, не за чем. Его всегда оптимизируют под реальные сценарии.
Рад, что вы знаете наверняка. В МС, видимо, тоже лучше всех знают. Хотя я считаю, это просто идет вразрез с какой-нибудь безопасностью. Дотнетом там занимались большие умницы.