search query: @keyword benchmarking / total: 50
reference: 5 / 50
« previous | next »
Author:Kariniemi, Nicholas
Title:Clojure on Android: Challenges and Solutions
Publication type:Master's thesis
Publication year:2015
Pages:79      Language:   eng
Department/School:Perustieteiden korkeakoulu
Main subject:Mobile Computing - Services and Security   (T3010)
Supervisor:Nurminen, Jukka
Instructor:Hirvisalo, Vesa
Electronic version URL: http://urn.fi/URN:NBN:fi:aalto-201505142671
Location:P1 Ark Aalto  2787   | Archive
Keywords:clojure
android
benchmarking
startup
JVM
Java
Abstract (eng):Mobile operating systems are rapidly expanding into new areas and the importance of mobile apps is rising with them.
As the most popular mobile operating system, Android is at the forefront of this development.
However, while other mobile operating systems have introduced newer, officially-supported languages for app development, the only supported language for Android app development is an older dialect of Java.
Android developers are unable to take advantage of the features and styles available in alternative and more modern languages.

The Clojure language compiles to Android-compatible bytecode and is a promising language to fill this gap.
However, the development of Android apps with Clojure is hindered by performance concerns.
One recognized problem is the slow startup time of Clojure on Android apps.
Alternative "lean" Clojure compiler projects promise to improve Clojure performance including startup time.
However, the performance of Clojure on Android and the lean compiler projects has not been systematically analyzed and evaluated.

We benchmarked and analyzed the startup and run time performance of Android apps written in Clojure and compiled using both the standard Clojure compiler and experimental lean Clojure implementations.
In our experiments the run time performance of Clojure on Android is similar to that of Clojure on the desktop.
However, Clojure on Android apps take a significant amount of time to start, even on relatively new hardware and the latest Android versions.
Long startup times scale upwards quickly with larger apps and the problem is closely tied to the Clojure compiler implementation.
We also found that while the Skummet lean Clojure compiler project significantly reduces Clojure on Android startup times, more changes are necessary to make Clojure practical for general Android app development.
ED:2015-05-24
INSSI record number: 51323
+ add basket
« previous | next »
INSSI