Skip to content

PerformanceJSON

xcesco edited this page Nov 28, 2017 · 1 revision

Kritpon was build with perfomance in mind. This is the reason that prompted me to use Annotation Processor. As already state, Kripton use Jackon parser/serializer at low level to transform Java bean in persistence format like JSON, CBOR, YAML, PROPERTIES.

The Xml parser/serializer was taken from xmlpull.org.

At the moment, only JSON performances are tested. To accomplish this, benchmark application of [LoganSquare] was extended (https://github.com/bluelinelabs/LoganSquare) with the aim to evaluate Kripton Performance on different devices.

You will find compiled version of Kripton Benchmark on Play store.

QR code

Kripton Library Benchmark

Direct link

Get it on Google Play

You will find original benchmark demo LoganSquare/BenchmarkDemo.

The results are fantastic!!!!

Krypton wins in almost many tests (although in some cases it is very close to the second)!

The reason to use Kripton instead of other persistence libraries is that no other library allow you to manage persistence through JSON, XML, etc, SQLite and SharedPreferences with an unique and coherent set of annotation and interfaces.

How to read numbers

There are some test both for serialization and deserialization. Each test is repeated 20 times. For each library there's a bar. Kripton's bar color is yellow. For each test you will find mediumn, max time and min execution time. The bar rapresents medium values. Lower, obiousily is better.

Nexus 10 - Android 5.1 (OS API Level 22)

Parse result (lower is better)

Nexus10_parse

Serialize result (lower is better)

Nexus10_serialize

MiPad (it has same tegra soc like Nexus 9) - Android 4.4 (OS API Level 19)

Parse result (lower is better)

MiPad_Parse

Serialize result (lower is better)

MiPad_Serialize

Nexus 7 - Android 5.1 (OS API Level 22)

Parse result (lower is better)

Nexus7_parse

Serialize result (lower is better)

Nexus7_serialize

Samsung S3 Mini - Android 4.1 (OS API Level 16)

Parse result (lower is better)

s3mini_parse_1 s3mini_parse_2

Serialize result (lower is better)

s3mini_serialize_1 s3mini_serialize_2

Table of Contents

Query definition

Features

Relations

Multithread supports

Modularization

Annotations for data convertion

Annotations for SQLite ORM

Annotations for shared preferences

Clone this wiki locally