Информация об изменениях

Сообщение Re[2]: разгон вычислений от 23.06.2019 12:04

Изменено 23.06.2019 12:15 MadHuman

Re[2]: разгон вычислений
Здравствуйте, alexanderfedin, Вы писали:

MH>>тут смущает, что слышал, что вроде результаты таких компиляций остаются в памяти и соотвествеено есть риск чрезмерного её расхода при большом и частом количестве вычислений.


A>2. Сделать кэш вида исходная-строка=>компилированная-лямбда

A>3. К кэше использовать ConditionalWeakTable и больше не переживать о памяти.
кэш организовать не проблема, проблема что результат компиляции этих лямбд это временные ин-мемори ассембли, которые не выгружаются из памяти даже при потере
всех ссылок на делегат (не это не точно), что и ведет к риску чрезмерного расхода памяти при большом разнообразии вариантов исходных выражений.
Re[2]: разгон вычислений
Здравствуйте, alexanderfedin, Вы писали:

MH>>тут смущает, что слышал, что вроде результаты таких компиляций остаются в памяти и соотвествеено есть риск чрезмерного её расхода при большом и частом количестве вычислений.


A>2. Сделать кэш вида исходная-строка=>компилированная-лямбда

A>3. К кэше использовать ConditionalWeakTable и больше не переживать о памяти.
кэш организовать не проблема, проблема что результат компиляции этих лямбд это временные ин-мемори ассембли, которые не выгружаются из памяти даже при потере
всех ссылок на делегат (но это не точно), что и ведет к риску чрезмерного расхода памяти при большом разнообразии вариантов исходных выражений.