Pinboard (jm)
https://pinboard.in/u:jm/public/
recent bookmarks from jmConversant ConcurrentQueue and Disruptor BlockingQueue2016-03-07T11:24:20+00:00
https://github.com/conversant/disruptor
jmdisruptor blocking-queues queues queueing data-structures algorithms java conversant concurrency performancehttps://pinboard.in/https://pinboard.in/u:jm/b:502056282b58/The Injector: A new Executor for Java2015-05-08T16:33:16+00:00
http://belliottsmith.com/injector/
jmThis honestly fits a narrow niche, but one that is gaining in popularity. If your messages take > 100μs to process, or your worker threads are consistently saturated, the standard ThreadPoolExecutor is likely perfectly adequate for your needs. If, on the other hand, you’re able to engineer your system to operate with one application thread per physical core you are probably better off looking at an approach like the LMAX Disruptor. However, if you fall in the crack in between these two scenarios, or are seeing a significant portion of time spent in futex calls and need a drop in ExecutorService to take the edge off, the injector may well be worth a look.
]]>performance java executor concurrency disruptor algorithms coding threads threadpool injectorhttps://pinboard.in/https://pinboard.in/u:jm/b:b2f16d258d53/Reactor hits GA2013-11-12T13:39:16+00:00
https://spring.io/blog/2013/11/12/it-can-t-just-be-big-data-it-has-to-be-fast-data-reactor-1-0-goes-ga
jm
Reactor provides the necessary abstractions to build high-throughput, low-latency--what we now call "fast data"--applications that absolutely must work with thousands, tens of thousands, or even millions of concurrent requests per second. Modern JVM applications must be built on a solid foundation of asynchronous and reactive components that efficiently manage the execution of a very large number of tasks on a very small number of system threads. Reactor is specifically designed to help you build these kinds of applications without getting in your way or forcing you to work within an opinionated pattern.
Featuring the LMAX Disruptor ringbuffer, the JavaChronicle fast persistent message-passing queue, Groovy closures, and Netty 4.0. This looks very handy indeed....]]>disruptor reactive-programming reactor async libraries java jvm frameworks spring netty fast-datahttps://pinboard.in/https://pinboard.in/u:jm/b:40b56ea65db9/[#CASSANDRA-5582] Replace CustomHsHaServer with better optimized solution based on LMAX Disruptor2013-09-03T22:29:45+00:00
https://issues.apache.org/jira/browse/CASSANDRA-5582
jmdisruptor cassandra java p99 latency speed performance concurrency via:kellabytehttps://pinboard.in/https://pinboard.in/u:jm/b:70d101c721e7/Log4j 2: Performance close to insane2013-07-20T22:37:07+00:00
http://www.tuicool.com/articles/MBFRRz
jm“One nice little detail I should mention is that both Async Loggers and Async Appenders fix something that has always bothered me in Log4j-1.x, which is that they will flush the buffer after logging the last event in the queue . With Log4j-1.x, if you used buffered I/O, you often could not see the last few log events, as they were still stuck in the memory buffer. Your only option was setting immediateFlush to true, which forces disk I/O on every single log event and has a performance impact.
With Async Loggers and Appenders in Log4j-2.0 your log statements are all flushed to disk, so they are always visible, but this happens in a very efficient manner.”
]]>logging java performance async disruptor low-latencyhttps://pinboard.in/https://pinboard.in/u:jm/b:414139609e59/Log4j2 Asynchronous Loggers for Low-Latency Logging - Apache Log4j 22013-04-25T21:49:30+00:00
http://logging.apache.org/log4j/2.x/manual/async.html#Performance
jmdisruptor coding java log4j logging async performancehttps://pinboard.in/https://pinboard.in/u:jm/b:5e34e6502b2e/Single Producer/Consumer lock free Queue step by step2013-03-18T23:34:21+00:00
http://psy-lob-saw.blogspot.co.uk/2013/03/single-producerconsumer-lock-free-queue.html?m=1
jmdisruptor coding java jvm martin-thompson lock-free volatile atomic queue data-structureshttps://pinboard.in/https://pinboard.in/u:jm/b:457c8ffc41a7/InfoQ: Lock-free Algorithms2012-04-30T16:07:47+00:00
http://www.infoq.com/presentations/Lock-free-Algorithms
jmlock-free locking mutexes algorithms lmax disruptor infoq slides presentations qcon javahttps://pinboard.in/https://pinboard.in/u:jm/b:8b73716da342/How does LMAX's disruptor pattern work? - Stack Overflow2011-11-23T09:52:35+00:00
http://stackoverflow.com/questions/6559308/how-does-lmaxs-disruptor-pattern-work
jmvia:filippo servers seda queueing concurrency disruptor patterns latency trading performance ring-buffershttps://pinboard.in/https://pinboard.in/u:jm/b:388ee9929e15/