Skip to main content

Please review bugfix for ISSUE #77: Performance: should not sign MIDlets via external java process

2 replies [Last post]
Anonymous

Misha, team,

Could you please review a bugfix for the following issue:
ISSUE #77: Performance: should not sign MIDlets via external java
process.

http://fisheye4.cenqua.com/changelog/cqme/?cs=751

We've discussed this already. The JADTool sources were brought to our
repository, and there is no need to invoke JADTool in the external
process, anymore, and tehre is no need to user external JADTool at
all.

Performance improved up to 600%, which is not that bad! :)

I preserved the old JKSSigner, for compatibility, and it's available
via "Custom Signer" if somebody really needs it.

The new signer is called FastJKSSigner, and it's the default one.

Also, unnecessary synchronization in the execution server removed to
speed up signing when multiple devices are used in parallel.

Along the lines, also was fixed ISSUE #51: getNextApp.jad file remains
undeleted when the test execution is over (in exec. server).

Misha, I'd appreciate quick review, if possible. Dmitri wants to start
using this new signer in test export too.

Thanks,
--Vladimir

---------------------------------------------------------------------
To unsubscribe, e-mail: meframework-unsubscribe@cqme.dev.java.net
For additional commands, e-mail: meframework-help@cqme.dev.java.net

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Mikhail Gorshenev

Hi Vladimir,

(Just realized I didn't press the "send" button)

The changes look good. Go ahead with the check-in.

600% performance improvement sounds impressive.
How did you come up with this numner?

thanks,
Misha

Vladimir Sizikov wrote:
> Misha, team,
>
> Could you please review a bugfix for the following issue:
> ISSUE #77: Performance: should not sign MIDlets via external java
> process.
>
> http://fisheye4.cenqua.com/changelog/cqme/?cs=751
>
> We've discussed this already. The JADTool sources were brought to our
> repository, and there is no need to invoke JADTool in the external
> process, anymore, and tehre is no need to user external JADTool at
> all.
>
> Performance improved up to 600%, which is not that bad! :)
>
> I preserved the old JKSSigner, for compatibility, and it's available
> via "Custom Signer" if somebody really needs it.
>
> The new signer is called FastJKSSigner, and it's the default one.
>
> Also, unnecessary synchronization in the execution server removed to
> speed up signing when multiple devices are used in parallel.
>
> Along the lines, also was fixed ISSUE #51: getNextApp.jad file remains
> undeleted when the test execution is over (in exec. server).
>
> Misha, I'd appreciate quick review, if possible. Dmitri wants to start
> using this new signer in test export too.
>
> Thanks,
> --Vladimir
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: meframework-unsubscribe@cqme.dev.java.net
> For additional commands, e-mail: meframework-help@cqme.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: meframework-unsubscribe@cqme.dev.java.net
For additional commands, e-mail: meframework-help@cqme.dev.java.net

Vladimir Sizikov

Misha,

On Thu, Apr 26, 2007 at 03:07:35PM -0700, Mikhail Gorshenev wrote:
> Hi Vladimir,
>
> (Just realized I didn't press the "send" button)
>
> The changes look good. Go ahead with the check-in.

Thanks!!

> 600% performance improvement sounds impressive.
> How did you come up with this numner?

As with all performance measurements, there is no single right number,
since everything depends on configuration and environment.

Obviously, the most beneficial configuration for this fix would be
with "tests per bundle" = 1, and with very fast devices served by a
slow PC, and with quick tests.

I performed various runs, using my "device emulator", and actual MIDP
implementations.

Here are some numbers (running 141 tests):

1. "Instant tests" (test duration is 0ms):
- 2:06
- 0:21

2. "Fast tests" (typical test duration 100ms):
- 2:13
- 0:36

3. "Medium tests" (typical test duration 300ms)
- 2:41
- 1:04

4. "Medium tests in parallel" (300ms, 3 devices)
- 1:15
- 0:22

All runs are with 1 test per bundle.

In a typical TCK case (running with MIDP RI), the performance
improvement could be around 200%.

Obviously, if the test are very slow, or the device is very slow,
we'll see less and less improvements from fast bundle signing.

Thanks,
--Vladimir

> Vladimir Sizikov wrote:
> >Misha, team,
> >
> >Could you please review a bugfix for the following issue:
> >ISSUE #77: Performance: should not sign MIDlets via external java
> >process.
> >
> >http://fisheye4.cenqua.com/changelog/cqme/?cs=751
> >
> >We've discussed this already. The JADTool sources were brought to our
> >repository, and there is no need to invoke JADTool in the external
> >process, anymore, and tehre is no need to user external JADTool at
> >all.
> >
> >Performance improved up to 600%, which is not that bad! :)
> >
> >I preserved the old JKSSigner, for compatibility, and it's available
> >via "Custom Signer" if somebody really needs it.
> >
> >The new signer is called FastJKSSigner, and it's the default one.
> >
> >Also, unnecessary synchronization in the execution server removed to
> >speed up signing when multiple devices are used in parallel.
> >
> >Along the lines, also was fixed ISSUE #51: getNextApp.jad file remains
> >undeleted when the test execution is over (in exec. server).
> >
> >Misha, I'd appreciate quick review, if possible. Dmitri wants to start
> >using this new signer in test export too.
> >
> >Thanks,
> > --Vladimir
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: meframework-unsubscribe@cqme.dev.java.net
> >For additional commands, e-mail: meframework-help@cqme.dev.java.net
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: meframework-unsubscribe@cqme.dev.java.net
> For additional commands, e-mail: meframework-help@cqme.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: meframework-unsubscribe@cqme.dev.java.net
For additional commands, e-mail: meframework-help@cqme.dev.java.net