Thread (9 messages) flat view 9 messages, 4 authors, 2016-06-15

Re: [PATCHv5] Add Gitweb support for XZ compressed snapshots

From: demerphq <hidden>
Date: 2016-06-15 22:47:08

2009/8/1 J.H. [off-list ref]:
Mark A Rada wrote:
quoted
 >Note that for me the above results are not aligned in table.
 >This is a cosmetic issue.

The table formatting issue was due to a bad habit of mixing tabs and
spaces,
I decided to go with spaces this time :)


 >One thing that would concern me greatly, is not so much the CPU time
(though that's a *huge* change in comparison to gz) but the memory usage.
 Where gzip and bzip2 are chewing 4M and 13M respectively, xz chews 102M.
 >From a 'beefy' server perspective chewing up that much memory per snapshot
for that long could be bad.  This is likely something that needs to have
some sort of enable/disable switch if it's going to be included.

True, and there are two solutions I can think of for this "problem".

   1. My tests were at the default compression level, the XZ documentation
   says that at lower levels you will get resource usage and compression
   ratios that are comparable to BZip2. However, I'm not sure where you
   would change the compression level variable for this (globally for the
   system, somewhere in $GITWEB_CONFIG, a git config variable). Does
   someone know the correct answer here?
Well you can always call xz with -[1-9] to change the compression level
(same as gzip and bzip2) though I think a full disabling would be 'more'
preferable, though I'm not sure I like Jakub's suggestion of just deleting
it after the fact, it would work.
quoted
   2. Implement snapshot caching for Gitweb.
I think it's slightly broken in my version (binary files don't work right
apparently, it's on my todo list to fix in my upcoming update) but both Lea
and I have done this long ago (caching layers in Gitweb), which would be an
acceptable workaround for this, create once and serve many - though this has
the downside of trading cpu for diskspace.  At least with xz there's less
diskspace used ;-)

I think more my concern is more what's enabled by default, and since xz is
still new (as was pointed out) it's probably worth only enabling if the
admin selects it to be enabled.
FWIW the perl project ripped out all the snapshot generation logic
from gitweb, and replaced it with a tool that generates snapshots
correctly for our requirements (if the build process needs additional
files /currently/ git-archive does not support adding them), this
includes a disk level cache for the snapshots since creating the tar,
adding the additional files, then gziping is quite slow.

If its interesting to people I can post it and the other changes here,
although its not a "nice" change, as I literally ripped out the
existing code.

cheers,
Yves





-- 
perl -Mre=debug -e "/just|another|perl|hacker/"
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help