Я понимаю, от here что использовать ThreadScope мне нужно собрать с EventLog и rtsoptions, например, «-rtsopts -eventlog -threaded
»Профилирование с ThreadScope с аргументами командной строки в Haskell
Я использую стек, поэтому мой компиляции вызов выглядит так:
$ stack ghc -- -O2 -funfolding-use-threshold=16 -optc-O3 -rtsopts -eventlog -threaded mycoolprogram.hs
В то время как обычно, я делаю:
$ stack ghc -- -O2 -funfolding-use-threshold=16 -optc-O3 -threaded mycoolprogram.hs
Это нормально компилируется. Тем не менее, моя программа занимает 2 и только 2 позиционные аргументы:
./mycoolprogram arg1 arg2
Я пытаюсь добавить опции RTS +RTS -N2 -l
, например, так:
./mycoolprogram arg1 arg2 -- +RTS -N2 -l
Или
./mycoolprogram +RTS -N2 -l -- arg1 arg2
Как может Я одновременно запускаю свою программу с аргументами, которые идут в System.Environment.getArgs
(например, here), а также включают эти профилирующие флаги?
'./mycoolprogram arg1 arg2 + RTS -N2 -l' или './mycoolprogram + RTS -N2 -l -RTS arg1 arg2' должен работать. – sjakobi