review performance
Closed this issue · 3 comments
decioferreira commented
An option to explore is to use worker threads.
decioferreira commented
might be of interest: Understanding the Difference Between Cluster and Worker in Node.js
decioferreira commented
Running elm-review --template jfmengels/elm-review-performance/example --rules NoUnoptimizedRecursion
currently returns found 497 errors in 54 files
. Not sure if fixing these would affect the performance.
decioferreira commented
Current time to run the self-hosting compilation is around 20 seconds (having deleted ~/.guida
and guida-stuff
directories):
% time guida make --optimize --output=bin/guida.js src/Terminal/Main.elm
Starting downloads...
● andre-dietrich/parser-combinators 4.1.0
● elm/time 1.0.0
● elm/random 1.0.0
● elm/regex 1.0.0
● elm/html 1.0.0
● elm/parser 1.1.0
● fredcy/elm-parseint 2.0.1
● elm/virtual-dom 1.0.3
● elm/json 1.1.3
● pilatch/flip 1.0.0
● elm/url 1.0.0
● dasch/levenshtein 1.0.3
● elm-community/array-extra 2.6.0
● rtfeldman/elm-hex 1.0.0
● elm-community/list-extra 8.7.0
● zwilias/elm-rosetree 1.5.0
● elm-community/maybe-extra 5.3.0
● elm/bytes 1.0.8
● elm-community/basics-extra 4.1.0
● guida-lang/glsl 1.0.0
● the-sett/elm-pretty-printer 3.1.0
● obiloud/numeric-decimal 3.0.1
● elm/core 1.0.5
● guida-lang/graph 1.0.0
● elm-explorations/test 2.2.0
Dependencies ready!
Success! Compiled 141 modules.
Terminal.Main ───> bin/guida.js
guida make --optimize --output=bin/guida.js src/Terminal/Main.elm 19.59s user 1.07s system 106% cpu 19.450 total
Compared to elm, which runs in about 6 seconds (having deleted ~/.elm
and elm-stuff
directories):
% time elm make --optimize --output=bin/guida.js src/Terminal/Main.elm
Starting downloads...
● andre-dietrich/parser-combinators 4.1.0
● dasch/levenshtein 1.0.3
● zwilias/elm-rosetree 1.5.0
● elm/regex 1.0.0
● elm/random 1.0.0
● elm/time 1.0.0
● elm/url 1.0.0
● elm/parser 1.1.0
● elm/bytes 1.0.8
● elm/json 1.1.3
● elm/html 1.0.0
● rtfeldman/elm-hex 1.0.0
● the-sett/elm-pretty-printer 3.1.0
● pilatch/flip 1.0.0
● fredcy/elm-parseint 2.0.1
● elm/core 1.0.5
● elm/virtual-dom 1.0.3
● elm-community/array-extra 2.6.0
● obiloud/numeric-decimal 3.0.1
● elm-community/basics-extra 4.1.0
● guida-lang/glsl 1.0.0
● guida-lang/graph 1.0.0
● elm-community/maybe-extra 5.3.0
● elm-community/list-extra 8.7.0
● elm-explorations/test 2.2.0
Dependencies ready!
Success! Compiled 141 modules.
Terminal.Main ───> bin/guida.js
elm make --optimize --output=bin/guida.js src/Terminal/Main.elm 1.33s user 0.43s system 30% cpu 5.829 total
Closing this issue for now, as I think this is a good performance for now.