harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sian January" <sianjanu...@googlemail.com>
Subject Re: [classlib][pack200] Decoupling I/O and processing for unpacking scenario
Date Fri, 18 Jul 2008 13:16:23 GMT
On 18/07/2008, Aleksey Shipilev <aleksey.shipilev@gmail.com> wrote:
>
> Hi, Sian!
>
> On Fri, Jul 18, 2008 at 1:16 PM, Sian January
> <sianjanuary@googlemail.com> wrote:
> > I think there needs to be some processing on the read stage, because the
> > length of some bands depends on the contents of previous bands so you
> won't
> > know how much to read unless you do some processing.  But some things can
> be
> > done afterwards like sorting the constant pool, so there's definitely an
> > opportunity for parallelism there.
> Yes, a huge part of the non-dependent-from-I/O operations are already
> extracted in unpackProcess(). Of course, a part of computation should
> reside in read because of unknown bands' size, but if we manage to
> extract some more not related to reading computations from reading
> stage, it would worth a lot (see previous calculations).
>
> Actually I see this is a gap in pack200 spec. I would really like to
> have the segment size in segment header to read the entire segment at
> once, but... *sigh*.


There is an optional field in the segment header - archive_size that can
give the size in bytes or be 0 if the compressor chooses not to specify the
size.  I've just checked and Sun's compressor does specify this, and we can
do in ours when it's written, although we will also have to allow for the
possibility that it will be 0.

There is a bunch of people interested in playing with parallelism in
> pack200: Andrew wanted to have some, I would enjoy seeing the parallel
> decompressor, Sergey Salishev wanted to hack around too :) So we need
> to discuss whether my approach to parallelism is ok, does someone
> object, or whatever else.
>
> Thanks,
> Aleksey.
>



-- 
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message