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?

  • Works directly with Java classes via annotations. No additional layers of intermediate DTO classes.
  • Implemented using runtime bytecode generation to be compatible with dynamically created classes.
  • Stable binary format with backward binary compatibility.
  • Support of the scheme evolution: changeable versions, added or removed fields, etc.
  • 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.
  • Provides little endian format for JVM intrinsics.
  • Support of unsafe mode for the best performance.
  • Cyclic references of any complexity.
  • UTF-8, UTF-16 and ISO8859-1 encoding.
  • Compatible even with complex collections, generics and nullable values.

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

Add ActiveSerializer to your project

You can add ActiveSerializer to your project by importing its Maven repository.
These docs cover the most recent ActiveSerializer release which is v3.0, published Nov 12, 2020 (see on GitHub or Maven ).

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, visit ActiveJ website.