Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Можно ли увеличить скорость работы первого запуска


Автор: DenWPF 21.4.2011, 16:19
первый вызов любого метода работает медленней чем 2.

т.е если я с симулирую запуск функции до реального его использования я выиграю в скорости работы??

Код

void Page(string a)
{
    if(a==null)
    {
        return;
    }
    //...много много кода
}


если я передам null метод компилируется и будет уже в памяти я прав?

Автор: jonie 21.4.2011, 18:09
Это компиляция производится при первом обращении... поможет ngen разве что
Цитата


т.е если я с симулирую запуск функции до реального его использования я выиграю в скорости работы??
да, но это отдает гомнокодом.

Автор: DenWPF 21.4.2011, 18:37
Цитата(jonie @ 21.4.2011,  18:09)
Это компиляция производится при первом обращении... поможет ngen разве что
Цитата


т.е если я с симулирую запуск функции до реального его использования я выиграю в скорости работы??
да, но это отдает гомнокодом.

хорошо, а какие есть варианты есть?

я с таким сталкивался при коннекте к базе, 1 коннект был дольше чем обычный, я просто производил запрос не тогда когда оно понадобиться, а при заходе в другом потоке.

Автор: jonie 21.4.2011, 19:03
я же написал вариант - ngen.
А коннект вообще никак (почти) не связан с этим - коннет долгий потому что инициализируются библиотеки, кеши и соединение устанавливается с сервером (там же TCP)....

Автор: DenWPF 21.4.2011, 19:56
я же говорю коннект можно, после первого соединения он работает быстрей, вот я первое соединение делаю не дожидаясь, необходимости.

ngen - хорошо, но хотелось бы что то ещё.

Автор: Voyager 21.4.2011, 23:54
NGEN. И оптимизация. Остальное - выкрутасы, которые на практике мало помогают.

Автор: jonie 22.4.2011, 08:53
не ну я единственное что делал для системы которая при запуске просит пароль это загружал сборки в фоновом потоке, пока юзер вводит пароль...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)