-
Notifications
You must be signed in to change notification settings - Fork 298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Current REPL perf (1.3.*) #1205
Comments
Hmm, that's bad news. Yeah, maybe the JS runtime doesn't handle multiple files that well. Actually, they are byte arrays in memory so maybe they cause overhead in garbage collection somehow 🤔 |
This PR fixed the startup (checker create) times for |
Some performance improvements in #1300. |
The Still roughly about 10x slower than the (highly optimized) dotnet release version, so further profiling/optimization is definitely something to look into. Any ideas are welcome! |
Great! Yes, I need to work more on #1266 so we can apply the optimizations from the F# compiler, that looks very promising. BTW, I also started work on the optimize-pass branch to remove most of the hacky optimizations applied directly to F# AST and add an optimize pass directly of Fable AST after replacements, mainly for beta-reduction. This may interest @forki as well. Some day I also need to sit down with an expert in JS engines to see if the F# types (particularly DUs) representation can be improved. @cartermp Do you happen to know someone in the Chakra team that could help us with that? |
Let me see! |
Hmmm. Actually, can you ping me on this sometime in January? Half of the company is out of office and on vacation, so I doubt someone could provide any advice right now. |
Move discussion about optimization to #1266 |
@alfonsogarciacaro There are some good perf news and some not so good:
netstandard2.0
assemblies works now too.but, REPL perf withFixed in added PhysicalHash #1300, see below.netstandard2.0
assemblies is noticeably slower than withnet45
assemblies (especially for larger files).Some perf data:
net45
assemblies (best times):netstandard2.0
assemblies (best times):So it starts the same for smaller files, but scales very differently with the size of the file being parsed.Fixed in #1300, see below.
The text was updated successfully, but these errors were encountered: