Skip to content
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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use BufReader and BufWriter more 馃う #185

Merged
merged 1 commit into from
Feb 12, 2023
Merged

Use BufReader and BufWriter more 馃う #185

merged 1 commit into from
Feb 12, 2023

Conversation

jmackie
Copy link
Member

@jmackie jmackie commented Feb 8, 2023

The flamegraphs from #183 showed that ditto make was spending a significant amount of time serializing and deserializing.

Making this change gives a big speedup, so I'm pretty sure that was the problem. Although switching to something like bincode could also be worthwhile? #184

Typechecking modules is now the bottleneck, which is what I'd expect.

@jmackie
Copy link
Member Author

jmackie commented Feb 11, 2023

For example, compiling just the entrypoint of https://github.com/ditto-lang/todomvc/tree/9e72ba23fc0a8ecfb584ce6bc05afd3c6630210a

Before:
flamechart before

After:
flamechart after

@jmackie jmackie marked this pull request as ready for review February 11, 2023 18:01
@jmackie jmackie merged commit ac82b54 into main Feb 12, 2023
@jmackie jmackie deleted the bufftings branch February 12, 2023 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant