Fix make boot for compress
AbandonedPublic

Authored by AndreasK on Dec 8 2018, 8:39 AM.

Details

Reviewers
None
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Summary

Store expected output in repository.
That way we don't have to build compress during boot.

Test Plan

make boot

Diff Detail

Repository
rNOFIB nofib
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 25415
Build 64472: arc lint + arc unit
AndreasK created this revision.Dec 8 2018, 8:39 AM
Owners added a reviewer: Restricted Owners Package.Dec 8 2018, 8:39 AM
nomeata added a comment.EditedDec 8 2018, 10:50 AM

Thanks for looking into this! Why can or should the files not be created on demand?

Just saw your mail with this explanation:

I did not want to add a large binary file to the repo so instead
compress generated the out file during boot.
Which used to work well on my box.

However make boot also creates the dependency files that guarantee the
proper build order. Turns out sometimes
we end up trying to build the compress executable before building the
dependency file, so the build fails.

I've just gave in to storing the output file in the repo now.

Are you sure that there is no good way of making the Makefile do the right thing, without storing a big file in the repository?

Are you sure that there is no good way of making the Makefile do the right thing, without storing a big file in the repository?

I'm pretty sure there is one. But with my current knowledge of the nofib build system it's not obvious to me which one that is.

  • The shootout benchmarks use a c implementation to generate theirs.
  • There is probably some unix tool that can be coerced to do the same, but that adds a dependency.
  • Fixing the dependency issue the current approach still has the issue that the build times for compress won't show up in the log. Or you need to build it twice.
  • Adding the files adds ~500KB to the repro.

The advantage of just adding the files is that it's easy to implement.
I don't have the time to properly do the others and it seems unlikely that someone else will step up to do so.

AndreasK added a subscriber: jmct.Dec 10 2018, 8:25 AM

It just occurred to me while talking to @jmct that we could also just throw away the result and not compare it as well, if it's only about measuring compression speed.

sgraf added a subscriber: sgraf.Dec 21 2018, 6:27 AM

In D5438 I began to output hashes instead of actual output. Maybe there's a pattern to be extracted into the benchmark runner here.

AndreasK abandoned this revision.Dec 24 2018, 4:42 AM

Abandoned in favour of D5469