Skip to content

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