Master Thesis Seminar: Java for mobile phone applications - a performance comparison with C

Date: December 12, 2005 (Monday) at 09:30

By: Birtukan Hunegnaw, d00, och Tobias Jönsson, d01

The performance of Java is many times brought up as its main drawback compared to native compiled languages like C and C++. This master thesis tries to answer the feasibility of implementing many of the mobile phone applications in Java as an alternative to C. The work has been carried out by investigating and comparing the memory consumption and execution performance using micro benchmarks for both C and Java and by evaluating the startup time performance. Two prototype applications, a calculator and a media player have also been implemented in Java, which are used to evaluate the performance against already existing C implementations. The results are based on C and Java implementations at Sony Ericsson and might differ on other C and Java implementations.

The results showed that the memory allocation is implemented more effective in Java than C, but the memory consumption for the prototype applications was difficult to measure in a fair manner and therefore any conclusion can not be made. The execution speed for Java was good, but did not really come up to the levels of C. The memory fragmentation affects the performance of C applications when the mobile phone is used. Garbage collection with compaction eliminates this problem in Java and the memory management seems to be Java’s strongest advantage. The perceived performance did not show any distinguishable differences between the prototype applications and the C applications. The main drawback for Java seems to be the startup time which was much longer than for the C applications. The conclusion is that by boosting up the startup time of Java applications, it is possible to implement many of the phone applications using Java while maintaining competitive performance.

Room: LUCAS-rummet (E:4130)

Last modified Dec 9, 2011 12:59 pm