Send Devl mailing list submissions to
        devl at freenetproject.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://www.uprizer.com/mailman/listinfo/devl
or, via email, send a message with subject or body 'help' to
        devl-request at freenetproject.org

You can reach the person managing the list at
        devl-admin at freenetproject.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Devl digest..."


Today's Topics:

   1. Re: IMPORTANT: Where is the Freenet Windows release? (Sebastian Spaeth)
   2. Re: Compression of Jars (Mr.Bad)
   3. Re: Aardvark (Chris Anderson)
   4. Re: Compression of Jars (Theodore Hong)
   5. Re: Aardvark (Scott G. Miller)
   6. Re: Compression of Jars (Scott G. Miller)
   7. Re: Espra - what's that? (Adam Langley)
   8. progress on 0.4 data store rewrite (Tavin Cole)
   9. Re: Compression of Jars (Steven Hazel)

--__--__--

Message: 1
Date: Tue, 06 Feb 2001 08:06:32 +0100
From: Sebastian Spaeth <[email protected]>
Organization: University of =?iso-8859-1?Q?Link=F6ping?=
To: devl at freenetproject.org
Subject: Re: [freenet-devl] IMPORTANT: Where is the Freenet Windows release?
Reply-To: devl at freenetproject.org

Ian Clarke wrote:
> The Freenet Windows release has gone missing (it was there this-morning)
> - can whoever has a copy please replace it?!

Done


--__--__--

Message: 2
To: devl at freenetproject.org
Subject: Re: [freenet-devl] Compression of Jars
From: Mr.Bad <[email protected]>
Organization: Pigdog Journal
Date: 05 Feb 2001 23:12:55 -0800
Reply-To: devl at freenetproject.org

>>>>> "DM" == Don Marti <dmarti at zgp.org> writes:

    DM> My guess is that it uses compress-then-archive (like BRU)
    DM> instead of archive-then-compress (like .tar.gz)
    DM> Compress-then-archive makes it more likely that you can
    DM> recover all but one file from a corrupted archive.

Hmm. That doesn't explain the .zip discrepancies, though.

~Mr. Bad

-- 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /\____/\   Mr. Bad <mr.bad at pigdog.org>
 \      /   Pigdog Journal | http://pigdog.org/ | *Stay*Real*Bad*
 |  (X \x)   
 (    ((**) "If it's not bad, don't do it.
  \  <vvv>   If it's not crazy, don't say it." - Ben Franklin
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


--__--__--

Message: 3
Date: Tue, 6 Feb 2001 09:37:51 -0500 (EST)
From: Chris Anderson <[email protected]>
To: devl at freenetproject.org
Subject: Re: [freenet-devl] Aardvark
Reply-To: devl at freenetproject.org


I got the time down to 6.3 secs by processing blocks in the cipher
streams.  I think somewhere around 5.5 secs is probably the speed limit
imposed by the twofish & rijndael crypto gods, though.

On Mon, 5 Feb 2001, Chris Anderson wrote:

> On Mon, 5 Feb 2001, I wrote:
> 
> > With a 4.2 mb mp3 file it takes 11.96 secs for RequestClient to transfer
> > it by CHK.
> >
> > Without rijndael cipher streams it takes 6.65 secs
> >
> > Without rijndael and without twofish, but with twofish's cipherstream
> > (disable twofish.encipher), it takes 5.29 secs
> >
> > Without any cipherstreams, it take 4.16 secs
> >
> > Without the sha1 verify stream it takes 1.99 secs
> >
> > I'm still digesting...
> >
> 
> Looks like it may be possible to knock the time down to 8.86 secs without
> too much work, but there's a catch.
> 
> It turns out that the synchronized flag is fairly expensive on the
> PCFBMode.[en|de]cipher methods and on the SHA1.update method.  The
> CipherStream's have it as a private member, so the only way PCFBMode
> can be clobbered is if two threads write to the same stream at the
> same time, and my guess is that this may happen if a message needs to
> break a Conduit.  The SHA1 update sync flag is another story, they
> are used on so many places...
> 
> Here's a summary of the time in modules from the above run:
> 
> rijndael:        1.52   * 2
> cipher-stream:   1.13   * 3
> twofish:         1.36   * 1
> hash-verify:     2.17   * 1
> other:           1.99
> 
> Just removing the sync flags cuts the cipher-stream and hash-verify times
> down by about .3 secs.  I ended up doing some monster inlining on the
> SHA1 transform to cut another .55 secs off of the verify stream.  So, now
> we have this:
> 
> rijndael:        1.52   * 2
> cipher-stream:    .71   * 3
> twofish:         1.36   * 1
> hash-verify:     1.30   * 1
> other:           1.99
> 
> I don't see much that can be done with the two ciphers, but the 1.99 other
> category which is mostly at the client, looks mighty suspicious...
> 
> 
> 



--__--__--

Message: 4
From: Theodore Hong <[email protected]>
Subject: Re: [freenet-devl] Compression of Jars
To: devl at freenetproject.org
Date: Tue, 6 Feb 2001 15:32:24 +0000 (GMT)
Reply-To: devl at freenetproject.org

Steven Hazel <sah at thalassocracy.org> wrote:
> Don Marti <dmarti at zgp.org> writes:
> > My guess is that it uses compress-then-archive (like BRU) instead of
> > archive-then-compress (like .tar.gz) Compress-then-archive makes it
> > more likely that you can recover all but one file from a corrupted
> > archive.  Even Sun isn't retarded enough to pick a compression
> > algorithm that makes files twice as big as zip or gzip.
> 
> Compress-then-archive will compress considerably less well than
> archive-then-compress, since compress works better when applied to
> more data.  And unless pkzip, infozip, and winzip can all decode
> compress-then-archive files without any special indications that they
> need to do so, that's not how jars work.

The zip format -is- compress-then-archive.  Notice that when you list the
contents of a zip archive, the compression % of each file is listed
separately.

I suspect that if you did: "find . -name '*.class' | xargs zip freenet.zip",
the size would be virtually the same as the jar.

theo



--__--__--

Message: 5
Date: Tue, 6 Feb 2001 10:41:44 -0500
To: devl at freenetproject.org
Subject: Re: [freenet-devl] Aardvark
From: "Scott G. Miller" <[email protected]>
Reply-To: devl at freenetproject.org


--5mCyUwZo2JvN/JJP
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Feb 06, 2001 at 09:37:51AM -0500, Chris Anderson wrote:
>=20
> I got the time down to 6.3 secs by processing blocks in the cipher
> streams.  I think somewhere around 5.5 secs is probably the speed limit
> imposed by the twofish & rijndael crypto gods, though.
What do you mean by processing blocks? =20

>=20
> On Mon, 5 Feb 2001, Chris Anderson wrote:
>=20
> > On Mon, 5 Feb 2001, I wrote:
> >=20
> > > With a 4.2 mb mp3 file it takes 11.96 secs for RequestClient to trans=
fer
> > > it by CHK.
> > >
> > > Without rijndael cipher streams it takes 6.65 secs
> > >
> > > Without rijndael and without twofish, but with twofish's cipherstream
> > > (disable twofish.encipher), it takes 5.29 secs
> > >
> > > Without any cipherstreams, it take 4.16 secs
> > >
> > > Without the sha1 verify stream it takes 1.99 secs
> > >
> > > I'm still digesting...
> > >
> >=20
> > Looks like it may be possible to knock the time down to 8.86 secs witho=
ut
> > too much work, but there's a catch.
> >=20
> > It turns out that the synchronized flag is fairly expensive on the
> > PCFBMode.[en|de]cipher methods and on the SHA1.update method.  The
> > CipherStream's have it as a private member, so the only way PCFBMode
> > can be clobbered is if two threads write to the same stream at the
> > same time, and my guess is that this may happen if a message needs to
> > break a Conduit.  The SHA1 update sync flag is another story, they
> > are used on so many places...
> >=20
> > Here's a summary of the time in modules from the above run:
> >=20
> > rijndael:        1.52   * 2
> > cipher-stream:   1.13   * 3
> > twofish:         1.36   * 1
> > hash-verify:     2.17   * 1
> > other:           1.99
> >=20
> > Just removing the sync flags cuts the cipher-stream and hash-verify tim=
es
> > down by about .3 secs.  I ended up doing some monster inlining on the
> > SHA1 transform to cut another .55 secs off of the verify stream.  So, n=
ow
> > we have this:
> >=20
> > rijndael:        1.52   * 2
> > cipher-stream:    .71   * 3
> > twofish:         1.36   * 1
> > hash-verify:     1.30   * 1
> > other:           1.99
> >=20
> > I don't see much that can be done with the two ciphers, but the 1.99 ot=
her
> > category which is mostly at the client, looks mighty suspicious...
> >=20
> >=20
> >=20
>=20
>=20
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> http://www.uprizer.com/mailman/listinfo/devl
>=20

--=20
greg lyric rot motels

--5mCyUwZo2JvN/JJP
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE6gBs4r9IW4v3mHtQRAsLbAJ4xqEwxpoanUywrG+/VtBf3xnPsugCfcntP
3wmxJuoxnUJmkzXZVf7oK4c=
=BCYA
-----END PGP SIGNATURE-----

--5mCyUwZo2JvN/JJP--


--__--__--

Message: 6
Date: Tue, 6 Feb 2001 11:08:19 -0500
To: devl at freenetproject.org
Subject: Re: [freenet-devl] Compression of Jars
From: "Scott G. Miller" <[email protected]>
Reply-To: devl at freenetproject.org


--8P1HSweYDcXXzwPJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Feb 06, 2001 at 03:32:24PM +0000, Theodore Hong wrote:
> Steven Hazel <sah at thalassocracy.org> wrote:
> > Don Marti <dmarti at zgp.org> writes:
> > > My guess is that it uses compress-then-archive (like BRU) instead of
> > > archive-then-compress (like .tar.gz) Compress-then-archive makes it
> > > more likely that you can recover all but one file from a corrupted
> > > archive.  Even Sun isn't retarded enough to pick a compression
> > > algorithm that makes files twice as big as zip or gzip.
> >=20
> > Compress-then-archive will compress considerably less well than
> > archive-then-compress, since compress works better when applied to
> > more data.  And unless pkzip, infozip, and winzip can all decode
> > compress-then-archive files without any special indications that they
> > need to do so, that's not how jars work.
>=20
> The zip format -is- compress-then-archive.  Notice that when you list the
> contents of a zip archive, the compression % of each file is listed
> separately.
>=20
> I suspect that if you did: "find . -name '*.class' | xargs zip freenet.zi=
p",
> the size would be virtually the same as the jar.

This is correct.  Thats the main reason .tar.gzs are smaller than zip or
jar archives.


--8P1HSweYDcXXzwPJ
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE6gCFzr9IW4v3mHtQRAoVMAJ90jfNCgNCYJt33xlo7f2aes18nQwCfdEYl
ZayCbMZPb6SNnMCc9E6Fa+w=
=NN4P
-----END PGP SIGNATURE-----

--8P1HSweYDcXXzwPJ--


--__--__--

Message: 7
Date: Tue, 6 Feb 2001 18:49:10 +0000
From: Adam Langley <[email protected]>
To: devl at freenetproject.org
Subject: Re: [freenet-devl] Espra - what's that?
Reply-To: devl at freenetproject.org


--7AUc2qLy4jB3hD7Z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Feb 05, 2001 at 05:33:28PM -0500, Mark J. Roberts wrote:
> Whiterose gives me "Error in crypto handshake" and Fred is weirder. The
> first time I try, it gives me something like:

Easy - single step the process (from Crypto::handshake) and see where
it borks.

AGL

--=20
When will people realise that we don't care for their damm stupid laws? We =
can handle ourselves, thank you very much.

--7AUc2qLy4jB3hD7Z
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjqARyYACgkQzaVS3yy2PWDRUACfQb/XsahvHWm2+pXDFUP2CUb6
HicAoKq6hb4ToLQAQVnyhc6qHfYfTKJ6
=hIdj
-----END PGP SIGNATURE-----

--7AUc2qLy4jB3hD7Z--


--__--__--

Message: 8
Date: Tue, 6 Feb 2001 13:02:02 -0500
From: Tavin Cole <[email protected]>
To: devl at freenetproject.org
Subject: [freenet-devl] progress on 0.4 data store rewrite
Reply-To: devl at freenetproject.org

To anyone who is interested, I have committed the first stage of my
datastore rewrite for 0.4 to experimental cvs.  The files are in
Freenet/node/store so cvs update -d please.

The new store has 3 interfaces:
EntityStore
EntityFactory
RoutingTable

The EntityStore manages the document cache, while the EntityFactory
allocates new storage in the document cache.  There is a stub
implementation of both in DFSEntityStore.java which will use Scott's
DatastoreFS.  It will require three new classes, yet to be written,
which mimick the current FileEntity, FileData, and FileProperties:
they will be DFSEntity, DFSData, and DFSProperties.

RoutingTable is implemented by TreeRoutingTable.java which is
almost completely written (just have to put in the serialization
routines).  It uses a red-black binary tree to look up keys and
traverse them in order of closeness.

This code is thoroughly untested, but doesn't give me any errors
on compilation at least.. :)

DISCLAIMER:
No matter how it looks, I have NOT CHANGED ANY ALGORITHMS THAT
WOULD ALTER HOW FREENET WORKS.  All I'm doing is making stuff
faster.

TODO:
Write serialization routines for TreeRoutingTable
Finish DFSEntityStore.java
Test, test, test.


Critiques would be appreciated.. I have done some pretty weird things,
but not without justification.  I humbly await being torn to shreds by
the pack of wild dogs who read this list..  ;^)

cheers

-- 

// Tavin Cole


--__--__--

Message: 9
To: devl at freenetproject.org
Subject: Re: [freenet-devl] Compression of Jars
From: Steven Hazel <[email protected]>
Date: 06 Feb 2001 13:35:46 -0600
Reply-To: devl at freenetproject.org

Theodore Hong <twh1 at doc.ic.ac.uk> writes:

> Steven Hazel <sah at thalassocracy.org> wrote:
> > Compress-then-archive will compress considerably less well than
> > archive-then-compress, since compress works better when applied to
> > more data.  And unless pkzip, infozip, and winzip can all decode
> > compress-then-archive files without any special indications that they
> > need to do so, that's not how jars work.
> 
> The zip format -is- compress-then-archive.  Notice that when you list the
> contents of a zip archive, the compression % of each file is listed
> separately.

Oh, duh.  I should have realized that.

-S



--__--__--

_______________________________________________
Devl mailing list
Devl at freenetproject.org
http://www.uprizer.com/mailman/listinfo/devl


End of Devl Digest

Reply via email to