rebar3 icon indicating copy to clipboard operation
rebar3 copied to clipboard

src_tests option for Relx could be very slow but enabled by default

Open arcusfelis opened this issue 10 months ago • 3 comments

Description

rebar3 release runs 30 seconds faster for MongooseIM after setting src_tests option to false in relx. Detailed explanation https://github.com/esl/MongooseIM/pull/4099

{relx, [{release, { mongooseim, {cmd, "cat VERSION | tr -d '\r\n'"} }, []}, 
        %% Disable some warnings in systools:make_script/2 which are extremely slow (saves 30 seconds)
        {src_tests, false}
...

Expected behaviour

src_tests could be disabled by default. Or we can write in docs that it is very slow. We could alternatively add a warning suggesting that the option could be disabled, if making script file takes more than 5 seconds.

Maybe relx repo is the better place for this issue.

arcusfelis avatar Aug 13 '23 15:08 arcusfelis

@tsloughter do you recall what that function plays? Validating source paths?

ferd avatar Sep 29 '23 14:09 ferd

eeeek 30 seconds!?

Maybe rebar3 should set it to false by default and relx not?

My thinking there is that since rebar3 already does the compilation step its job is to ensure source and object files are up to date and not relx's, so it can be skipped in relx.

tsloughter avatar Sep 29 '23 16:09 tsloughter

That's a good call out yeah, under that mechanism we could switch the default since we track it all.

ferd avatar Sep 29 '23 20:09 ferd