World's fastest JVM-based serializer

What is ActiveSerializer?

ActiveSerializer is the fastest Java serializer in the world. At the same time, it is extremely powerful and features full support of Java subclasses, collections (including Maps), and also specialized collections like HPPC.
ActiveSerializer is one of the ActiveJ technologies, but it has minimal third-party dependencies and can be used as a stand-alone component.

Why ActiveSerializer?

Streamlined serialization

Works directly with Java classes via annotations. No additional layers of intermediate DTO classes, which significantly speeds up the code and makes it easy-to-use.

Compatibility

Implemented using runtime bytecode generation to be compatible with dynamically created classes. For example, with intermediate POJOs created via ActiveCodegen library.

Handy utilities

Stable binary format with backward binary compatibility for efficient long-term code support. Support for the scheme evolution: changeable versions, added or removed fields, etc.

Usability

Can be easily extended - you can write your own plugins for specific classes. Includes special hints for even more efficient code: String formats, nullable, varlen, etc.

Convenient and powerful

ActiveSerializer is a ground-breaking bytecode generator of fast and space-efficient serializers. It is incredibly powerful and works even with complicated objects utilizing a simple and intuitive DSL.
public static class Person {
    public Person(@Deserialize("age") int age,
    			  @Deserialize("name") String name) {
    	this.age = age;
    	this.name = name;
    }

    @Serialize(order = 0)
    public int age;

    @Serialize(order = 1)
    public final String name;
}

Benchmarks

We’ve measured ActiveSerializer performance using a well-known benchmark tool. All the results are represented as nanoseconds per operation (each operation consists of creation, serialization, and deserialization).

Serializer
ActiveSerializer speed mode - 458 ns/op
ActiveSerializer default mode - 499 ns/op
Colfer (second world's fastest serializer) - 577 ns/op
ActiveSerializer (speed mode)
458 ns/op
ActiveSerializer (default mode)
499 ns/op
Colfer (second world's fastest serializer)
577 ns/op

Adding ActiveSerializer to your project

Import ActiveSerializer Maven repository into your project. ActiveSerializer uses ActiveCodegen library that is based on ObjectWeb ASM library. These dependencies will be automatically integrated into your project. ActiveSerializer also utilizes HPPC (optional).

<dependency>
    <groupId>io.active</groupId>
    <artifactId>activej-serializer</artifactId>
    <version>1.0</version>
</dependency>

Project background

ActiveSerializer is one of the ActiveJ technologies that also include cloud solutions, lightning-fast bytecode generators, dependency injection and other advanced libraries that make up the ActiveJ platform. To learn more about ActiveJ ecosystem, visit website of ActiveJ platform.