{'fraction_non_alphanumeric': 0.028059236165237724, 'fraction_numerical': 0.004676539360872954, 'mean_word_length': 5.263414634146342, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Comparative performance analysis of mobile runtimes on Intel XScale® technology

Mobile Runtime Environments such as Java*2 Micro Edition (J2ME*) and Microsoft WinCE.NET* Compact Framework* are becoming standard managed application execution environments on memory constrained devices. A variety of implementations exists, and so too are a variety of systems they could run on, and finally a variety of workloads. It becomes important to understand how they compare.In this paper we describe comparative performance analysis of mobile runtimes on products with Intel XScale® micro-architecture. We were interested in a number of comparisons. These include CLDC vs. CDC workloads, Interpreters vs. JIT compilers, and J2ME vs. Native applications. In addition we compare runtimes when memory subsystem improves and MHz varies.We find that when comparing how mobile runtimes utilize the underlying micro-architecture, multiple implementations have similar stall analysis. We find that JIT (Just-In-Time) compilers are about 4-6 times faster than interpreters. For a class of applications we measured, J2ME apps were about two times slower than their C counterparts. We find that memory subsystem improvements have minor impact on interpreters but have much more impact on JIT compilers.