Skip to content
forked from tools4j/nobark

A Java library with low latency zero gc data structures and utilities.

License

Notifications You must be signed in to change notification settings

tonykwok1992/nobark

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status Maven Central Javadocs

tools4j-nobark is a library with low latency zero gc data structures and utilities.

Conflation queues

A conflation queue is a queue with a safety mechanism to prevent overflow. Values are enqueued with a conflation key, and if a value with the same key already resides in the queue then the two values will be "conflated". Conflation in the simplest case means that the most recent value survives and replaces older values; some more advanced implementations support merging when conflation occurs.

more information

javadoc API

Event loops

The loop package provides interfaces and classes with simple building blocks for event loops based on executable steps. A Step is quite similar to a Java Runnable but it returns a value indicating whether substantial work was performed or not --- based on this value an IdleStrategy allows control over how intensively the event loop occupies the CPU.

javadoc API

Notes

The code makes use of the @Contended annotation for false sharing prevention. For best performance, this optimisation needs to be unlocked as follows:

java -XX:-RestrictContended ...

Gradle

dependencies {
    compile 'org.tools4j:tools4j-nobark:1.5'
}

Maven

<dependency>
    <groupId>org.tools4j</groupId>
    <artifactId>tools4j-nobark</artifactId>
    <version>1.5</version>
</dependency>

API Javadoc

Javadocs

About

A Java library with low latency zero gc data structures and utilities.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%