top of page

​What is ByteClap?

Library for C # made for use with Unity™
Provides functions for building a static serializer

"Feel limitations on speeding up applications"
"Want to reduce the amount of communication data"
"Unsatisfactory with the function of the standard serializer"
To solve such a problem ByteClap was born.

EXECUTION SPEED

Works much faster than BinaryFormatter and JsonUtility.

Further speeding up is possible depending on tuning.

DATA SIZE

Output binary data with only minimal information

It can output in Json format, XML format, and even smaller than BinaryFormatter

VARIOUS FUNCTIONS

Version control function of data and dealing with polymorphism

There are many data types that can be converted by standard

1. Conversion of very small object (having only one int field) executed 1,000,000 times(unit: seconds)

2. Conversion of small object(having fields of multiple primitive types) executed 1,000,000 times(unit: seconds)

3. Conversion of large object(having fields such as strings and arrays) executed 1,000,000 times(unit: seconds)

Unprecedented overwhelming speed

Please see the graph below
It is a comparison result of several standard Serializer

and ByteClap execution times.

As a result of sincerity pursuing speed, we were able to make it so fast.

There is no trick
Just simple, it's fast

Speed
DataSize

It is uncompressed,

but this size

Serializing ByteClap does not output extra data.
So even though it is uncompressed, this size

If the data size is small, not only saving of storage but also 
reduction of data writing time to storage, 
saving of transmitted and received data amount, 
shortening of data transmission / reception time, 
suppression of power consumption for data transmission and reception,

etc... 
Effect can be expected.

3. Size comparison of serialization results of large object(having fields such as strings and arrays) (unit: Byte)

2. Size comparison of serialization results of small object(having fields of multiple primitive types) (unit: Byte)

1. Size comparison of serialization results of very small object (having only one int field) (unit: Byte)

ByteClap

Ultrafast Speed * Lightweight Data * Various Functions

Best Serializer

Functions

3'. Conversion of large object(having fields such as strings and arrays) executed 1,000,000 times(unit: seconds)

To further higher speed

You can further speed up by tuning ByteClap properly.

The graph below shows the result of performance tuning

added to above No. 3 (large object conversion result).

Can not believe it?
But it is a reality.

* Performance tuning: Use intermediate processors (all fields are in intermediate byte mode), add all fields as fixed length, reuse the byte array at serialization, reuse instances at deserialization

NOTE: The results of these measurements show the results we conducted in our environment, but the execution speed depends on the runtime environment. It does not necessarily guarantee that this result will be obtained.

Output in the same byte order regardless of execution environment

ByteClap is designed to output data in the specified byte order regardless of the architecture of the execution environment. So you can reliably perform data communication with the server and data transfer to other terminals. The byte order that can be output is little endian and big endian.

Standard support for various data types

Have you ever been suffering from restrictions on data types supported by the serializer?
For ByteClap, it corresponds to various data types, such as Dictionary and other collections, UnityEngine's Vector2 and Rect, and so on.
Furthermore, you can easily add data types yourself, so you will not be bothered by restrictions on data types.

Please see here for "List of Standard Supported Data Types".

It can convert regardless of the modifier applied to the field

You can convert any accessibility fields, as well as readonly variables and static variables. Therefore, you do not need to change qualifiers, scopes, object design etc for serialization processing.

Polymorphism support

ByteClap can also support polymorphism.
By writing a simple program, The data type at serialization can be reproduced during deserialization.

Data layout version control

ByteClap can handle even if the members of the data type to be serialized are changed due to the version upgrade of your program.
Byte data outputted in the past layout can be converted to the latest layout and read out.

Further speed up and distributed processing load by intermediate conversion function

The intermediate conversion function is a technique that reduces the work of serializing / deserializing the entire object by performing conversion processing only on the variables used, thus speeding up the processing.

Using ByteClap you can easily define classes corresponding to intermediate transformation.

Easy to customize as it is a static serializer

Unlike many common serializers that use dynamic code analysis / generation technology such as reflection, ByteClap employs a static serializer scheme that describes the information required for serialization as a program.
This makes it easy to write various customizations and fine tunings as a program.

More powerful with extensions

ByteClap plans to release various extended functions such as encryption, tamper check, and data compression in the future.
These features will help you make your program even more powerful and attractive.

For a list of functions planned to be developed, please click here.

Please reload

Achieve the impossible
Unparalleled power 
for realization

Not only is it fast and the data size is small.
A sophisticated variety of functions

will strongly support your program development.

ByteClap

Contact Us

ありがとうございます!メッセージを送信しました。

bottom of page