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

build: reduce tarball size by 8-10% #961

Closed
wants to merge 1 commit into from

Conversation

jbergstroem
Copy link
Member

Slim the tarballs further by removing examples, documentation and test for third party libraries. Also switch to checkout-index versus archive so we avoid using tar.

"Verified" by using a generated tarball to configure, compile and test io.js.

Beyond this, it'll get tricker to further reduce the size. A few things to consider:

  • npm node_submodule tests: saves ~400k off the tarballs but I think this falls out of scope for what we should meddle with. (If at all) I'd prefer upstream doing this.
  • make bench-http requires tools/wrk which is bundled (3.9mb) but a lot of benchmarks also assumes ab is available. Perhaps drop wrk from our bundle and make the same assumption?

Slim the tarballs further by removing examples, documentation and test for
third party libraries. Also switch to checkout-index versus archive so we avoid
using tar.
@jbergstroem
Copy link
Member Author

fwiw, we might want to make sure we're properly git pull-ed before using git checkout-index, but:

  • it applies to git archive HEAD as well, and
  • this path is only hit when release is set, which implies that author knows what he/she is doing

@rvagg
Copy link
Member

rvagg commented Feb 26, 2015

I'm +1 on all of this and also for removing wrk--as long as we introduce instructions for installing it and/or a check in the make bench-http workflow to check for its existence and print a message accordingly.

I'd like to hear from contributors & TC members who have been around a while because there could be historical or other context that impacts on this.

/cc @iojs/tc

@trevnorris
Copy link
Contributor

+1

@jbergstroem
Copy link
Member Author

Thanks for the feedback. I'll create an issue to discuss "the bigger question" as well as a PR for removing wrk for review.

mkdir -p $(TARNAME)/doc/api
cp doc/iojs.1 $(TARNAME)/doc/iojs.1
cp -r out/doc/api/* $(TARNAME)/doc/api/
rm -rf $(TARNAME)/deps/v8/test # too big
rm -rf $(TARNAME)/deps/v8/{test,samples,tools/profviz} # too big
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also include testing here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, there's heaps of small stuff that we can start picking off. For now I focused on the bigger folders/items. I can go bananas (as in, do a clean sweep) at a later stage, but I prefer talking about our intentions first.

@bnoordhuis
Copy link
Member

LGTM, no comments.

@jbergstroem
Copy link
Member Author

See #982 for wrk removal.

@rvagg
Copy link
Member

rvagg commented Feb 27, 2015

LGTM, I'll merge this today unless there are objections in the meantime

rvagg pushed a commit that referenced this pull request Feb 28, 2015
Slim the tarballs further by removing examples, documentation and test for
third party libraries. Also switch to checkout-index versus archive so we avoid
using tar.

PR-URL: #961
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg
Copy link
Member

rvagg commented Feb 28, 2015

landed @ b8310cb, thanks @jbergstroem!

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.

5 participants