Sunday, September 21, 2008

How Fast Is LWUIT? Check For Yourself

Performance is one of the main points of focus when working on small devices, speed and memory size are remarkably important and often contradictory requirements. Its very hard to deal with customer complaints of performance since this sort of behavior is very subjective to perception and hard to quantify, often devices would slow down during networking operations (since they grant the native network thread higher priority and ignore Java's thread priorities). On many occasions we would get complaints relating to a specific device performance and it would be very hard for us to see what specifically is taking time to perform on the given device.

To this extent we chose to develop LWUITSpeed which tries to stress a device VM as much as possible and produce a summary for performance on a given device. This summary can be reviewed and particular points of low performance for the device can be optimized, this tool is great both for optimizing LWUIT and has been used to optimize our native VM graphics libraries as well.

We hope you too can make use of this tool both to evaluate LWUITs performance and align your expectations for the performance of a specific device, this tool is now open source in the LWUIT source control repository.

7 comments:

  1. Got the source code from LWUIT Subversion but I'm having some trouble to build. Main issue is with Sprint dependency. Is there a binary version available?

    ReplyDelete
  2. Thank you for the tip. After changing the platform to WTK 2.5.2 I was able to run the app on the emulator and deploy the it on a Sony Ericson k850i with score of 842.

    Obfuscation only worked at level 8 though. At highest level I got a preverification failure.

    ReplyDelete
  3. For the verification errors check your proguard version. The NetBeans default is 3.7 which is buggy for some cases, 4.0 worked best for some and 4.2 worked for others.

    ReplyDelete
  4. See my pc version(swing porting) vs. your phone.
    My pc is slower than yours.
    http://awtswing.tistory.com/69

    ReplyDelete
  5. The screenshot in the post is from the Sprint Toolkit running on my laptop. Sprint Toolkit is much faster than the current WTK since its based on the current PhoneME JIT VM.

    ReplyDelete
  6. Hi
    I just tested my phone, the score is 150, a terrible score!
    What can I do next?
    How can I improve the LWUIT's performance in my phone?

    Thanks for your advise!

    Mike

    ReplyDelete
  7. On my phone( nokia5230) is 583. I think LWUIT should be improved performance first.

    ReplyDelete