3 Replies Latest reply on May 10, 2006 10:19 AM by Clebert Suconic

    Benchmarks

    moran lev Newbie

      I did some benchmarks and it seems that the Jboss serialization is much slower than Java serialization.
      Did any one faced that issue?

        • 1. Re: Benchmarks
          Clebert Suconic Master

          Look at the benchmarks on the testsuite.

          if you measure from the first transaction, JavaSerialization is faster, since JBossSerialization needs to be loaded from the classLoader (ObjectOutputStream is already on the bootstrap).

          You should always consider a steady system. a First writeObject is a not a valid operation for the benchmark.

          There still be some usecases where JavaSerialization is faster (String intensive for example), but I'm still working on.


          (I updated this post since its original content due to a typo, please consider the latest post)

          • 2. Re: Benchmarks
            moran lev Newbie

            I found another issue with the jbossserialization,
            The ID of the objects in my system is defined as follow:
            class ID{

            long l;
            long l1;
            }
            When I run the benchmarks I found that jboss serialization is very slow for that class.
            Do you have any idea?

            • 3. Re: Benchmarks
              Clebert Suconic Master

              Just added a new testcase according using your suggestion.

              Update CVS, and execute /tests/org.jboss.serial.data.tests.TestIDTestCase

              JBoss = 90 milliseconds
              Java = 190 milliseconds

              This is a loop of 2500 writes, starting measuring the time after the i==500.

              The only thing I changed on my local sourcecode was at DataSerializatonTest

              public abstract class DataSerializationTest extends TestCase
              {
               public static final int THREADS=5;
               public static final int LOOPS=2500;
               public static final int START_MEASURE=500;
              
              
              


              So I could use 2500 writes starting measure at 500.