Skip to content

Commit

Permalink
Fix #4258 - add JLBH performance test to documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
j4sm1ne96 committed Jul 13, 2022
1 parent e190e3b commit 497db3c
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1837,6 +1837,18 @@ private static final int MASHALLABLE_VERSION = 1;
----
<1> You will have to remove this line if the class extends `AbstractBytesMarshallable`


=== JLBH Benchmark Performance

To explore the efficiency of the examples above, this link:https://github.com/OpenHFT/Chronicle-Wire/blob/develop/src/test/java/net/openhft/chronicle/wire/TriviallyCopyableJLBH.java[TrivallyCopyableJLBH.java] test was created.
As can be seen on lines 18-26, we have the ability to switch between running the TriviallyCopyable House (“House1”), the BinaryWire House (“House2”) or 'UNKNOWN'. Important to note is that trivially copyable objects were used in order to improve java serialisation speeds. For further understanding on trivially copyable objects, refer to link:https://dzone.com/articles/how-to-get-c-speed-in-java-serialisation[this article].
This shows that we can serialise and then de-serialise 100,000 messages a second. The Trivially Copyable version is even faster, especially at the higher percentiles.

.Benchmark Performance Between TriviallyCopyable and BinaryWire
image::jlbhBenchmark.png[buffer,600,400]
* Microseconds to both serialise and deserialise a message


=== Platform support

Chronicle Wire supports `Java 8`, `Java 11` and `C++`.
Expand Down
Binary file added jlbhBenchmark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 497db3c

Please sign in to comment.