You can take a look at CoralLog , developed by Coral Blocks (with which I am associated), which produces zero garbage and has an average latency of 53 nanoseconds when registering a 64-byte message. In terms of throughput, it can log 2.6 million 64-byte messages per second with time stamps and 3.5 million 64-byte messages per second without time stamps. Full test results can be seen here .
If you reduce the message size to 16 bytes, you can record 5.2 million messages per second without a time stamp.
The following is a simple throughput test:
package com.coralblocks.corallog.bench; import java.io.File; import java.nio.ByteBuffer; import com.coralblocks.corallog.AsyncThread; import com.coralblocks.corallog.Log; import com.coralblocks.corallog.Logger; public class PerformanceTest4 { public static void main(String[] args) throws Exception { int batchSize = Integer.parseInt(args[0]); int passes = Integer.parseInt(args[1]); int msgSize = Integer.parseInt(args[2]); byte[] msgBytes = new byte[msgSize];
source share