Я работаю над проблемой тяжелого процессора. Я вижу большое улучшение производительности, когда я использую ключевое слово inline
.
Я создаю словарь из стандартной библиотеки .net, проходящей в пользовательском ключе Comparer, смотрите результаты кода и времени ниже
https://gist.github.com/4409734
без встроенного ключевого слова на Eq_cmp
> perf_run 10000000 ;;
Real: 00:00:11.039, CPU: 00:00:11.029, GC gen0: 771, gen1: 3, gen2: 1
val it : unit = ()
используя ключевое слово inline на Eq_cmp
perf_run 10000000 ;;
Real: 00:00:01.319, CPU: 00:00:01.388, GC gen0: 1, gen1: 1, gen2: 1
val it : unit = ()
>
Я также заметил огромную разницу в размере Gen 0 GC с встроенным кодом и не встроенным кодом.
Может ли кто-нибудь объяснить, почему существует такая огромная разница?