2016-03-30 1 views
2

Известно, что профилирование отключит любую оптимизацию GHC. Это также происходит при использовании флага RTS -T для получения GC-статистики?Флаг RTS -T отключает оптимизацию GHC

+8

Подробное профилирование не отключает оптимизацию, но каждый из них мешает другому. Флаги RTS никогда не влияют на оптимизацию напрямую, потому что они передаются в программу после ее компиляции. – dfeuer

+0

@dfeuer вы должны опубликовать это как ответ :-) – sclv

+0

@dfeuer действительно. Я соглашусь, когда вы опубликуете его. – rem

ответ

3

Подробное профилирование не отключает оптимизацию, но каждый из них мешает другому. Примечательно, что встраивание приводит к хаосу в профилировании затрат-центра, поскольку стоимость встроенных функций назначается их вызываемым.

Флаги RTS никогда не влияют на оптимизацию напрямую, потому что они передаются программе после ее компиляции. Разумеется, флаги RTS могут и часто влиять на производительность путем изменения поведения сборщика мусора, сбора информации о программе для профилирования и т. Д.