[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] new delta algorithm and tests


Thanks Stefan.  Are there JREs that do NOT have gzip?  If so, are there add-on implementations that we should get and provide or at least point to?

Jeff



Stefan Liebig <Stefan.Liebig@xxxxxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

11/16/2007 03:02 AM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc
Subject
Re: [equinox-dev] new delta algorithm and tests





Now all optimizers/processors/sar tests run (in every time zone). So I closed https://bugs.eclipse.org/bugs/show_bug.cgi?id=209233.

There was still an issue (
https://bugs.eclipse.org/bugs/show_bug.cgi?id=208996) with the Bzip2 implementation of Apache Ant which was used within the JBDiff library. Because of all the problems with Bzip2 I decided to use GZIP instead which has a few advantages:
- it is part of the jre (at least since 1.4), so we get rid off the Apache Ant dependency
- it also performs slightly better (time and size) than BZip2 when used in the context of JBDiff

Because of that I updated the JBdiff projects as well as the test project.

Stefan


Stefan Liebig wrote:

To track down the cause of bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=209233 I ´splitted´ one of the failing tests (JBDiffZipStepTest) into separate unit tests which are anyway useful independently of the current problem.
These tests are:
- org.eclipse.equinox.p2.tests.sar.SarTest
- org.eclipse.equinox.p2.tests.artifact.optimizers.Bug209233Test

I also added them to the AutomatedTests.
John, Dave, could you please run these new tests? Thanks!

Along with this I moved the sar tests from their separate project ´org.eclipse.equinox.p2.sar.test´ into the test project. I removed this project also from both project sets. The sar test project may be deleted from the cvs repository.

Stefan


Jeff McAffer wrote:


I did a mess of refactoring to converge the jbdiff, jardelta and pack optimizers and then started on the tests (I've not looked much at the processors).   Unfortunately, I have some problem with the JBdiff zip tests (both delta and patch).  Seems the lengths are not matching and I cannot figure out why.  Perhaps I messed something up.  I also have trouble with the pack200 tests but that one I believe to be due to bad data.  I'm going to refactor the test to be more like what you did for the JBdiff tests (mock repos etc) as that looks way easier to manage the data.  I'm hesitant to release the changes as they break the tests.  Bugzilla is not working for me right now so I can't create a bug report and attach a patch.  So here is a patch with what I have so far.  Take a look if you have time and see what you think.  In particular, if you can see where I've gone wrong with the jbdiff stuff that would be appreciated.


Jeff




Stefan Liebig <Stefan.Liebig@xxxxxxxxxxxx>
Sent by:
equinox-dev-bounces@xxxxxxxxxxx

11/10/2007 10:31 AM

Please respond to
Equinox development mailing list
<equinox-dev@xxxxxxxxxxx>


To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc
Subject
Re: [equinox-dev] new delta algorithm and tests







Yes, I can have a look at ´optimizing´ what we now have now. Which day did you mean with ´tomorrow´? If have already a few starting points, let´share them.
However, I am fighting currently with
https://bugs.eclipse.org/bugs/show_bug.cgi?id=209233. I would like to have that solved before I start refactoring.

Stefan


Jeff McAffer wrote:


I integrated a simplistic JAR delta optimizer and processor with Stefan's JBdiff stuff and added some tests.  More is needed in the area but this delta is based on comparisons of JAR entries.  The delta is encoded as a JAR containing the changes from the base.   Whole entries that changed are included in the delta.  This is very simple / efficient to compute but will likely produce larger deltas than jbdiff.  Note that since the delta is just  JAR of class files, it too can be packed! ;-)  Anyway, I also enhanced the tests.


One thing that remains is to unify the code.  Turns out that the pack200, jardelta and jbdiff optimizers, processors and tests have a ton of duplicated code.  Much of it is fussy stuff like making sure that streams are closed etc.  This should all be shared.  Stefan, you might want to take a stab at this?  Or I can look at it tomorrow...


Jeff




_______________________________________________
equinox-dev mailing list

equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list

equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev



_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev





_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
 

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev