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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the build times of dyaml.node #314

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rikkimax
Copy link

@rikkimax rikkimax commented Mar 2, 2023

In an attempt to improve dub's build times.

@Herringway
Copy link
Member

What impact does this have on runtime?

@codecov
Copy link

codecov bot commented Mar 2, 2023

Codecov Report

Merging #314 (efda074) into master (2c915b3) will increase coverage by 0.12%.
The diff coverage is 100.00%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #314      +/-   ##
==========================================
+ Coverage   95.20%   95.33%   +0.12%     
==========================================
  Files          29       29              
  Lines        4569     4604      +35     
==========================================
+ Hits         4350     4389      +39     
+ Misses        219      215       -4     
Impacted Files Coverage Δ
source/dyaml/node.d 92.41% <100.00%> (+0.55%) ⬆️
source/dyaml/resolver.d 97.18% <100.00%> (+1.10%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2c915b3...efda074. Read the comment docs.

@rikkimax
Copy link
Author

rikkimax commented Mar 2, 2023

What impact does this have on runtime?

It's running in a module constructor, so it's a one-time additional cost. The benefit is in build times (at least with dub it helps speeds things up).

@Herringway
Copy link
Member

What impact does this have on runtime?

It's running in a module constructor, so it's a one-time additional cost. The benefit is in build times (at least with dub it helps speeds things up).

Once-per-execution is more than once-per-compilation. This will increase the time it takes dub to start compiling. Have you factored that into your comparison?

@rikkimax
Copy link
Author

rikkimax commented Mar 2, 2023

I haven't looked at the speed at which dub itself runs. I've only been looking at ways to get the 24s build time down (got it to 22s).

Due to std.regex pulling in the Unicode tables which get built upon first use, this stuff isn't cheap and certainly can be done cheaper at runtime than compile time.

@Herringway
Copy link
Member

Please look at that. Runtime costs are much more important than compilation costs.

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.

2 participants