Below the basics of CoralStore: Continue reading
All posts by cb
CoralLog FAQ
Below some frequently asked questions about CoralLog. Continue reading
CoralLog (Straight to the Point)
Below the basics of CoralLog:. Continue reading
CoralQueue (Straight to the Point)
Below the basics of CoralQueue: Continue reading
CoralThreads (Straight to the Point)
Below the basics of CoralThreads: Continue reading
Inter-thread communication within CoralReactor
CoralReactor was built on purpose, from the ground up, to be single-threaded. That means that no other thread besides the reactor thread should be executing any code or accessing any data belonging to servers and clients. This not only provides super-fast performance but also allows for much simpler code that does not have to worry about thread synchronization, lock contention, race-conditions, deadlocks, thread starvation and many other pitfalls of multithreaded programming. However there are common scenarios where other threads must interact with the reactor thread. In this article we analyze in detail how this is done, without breaking the single-threaded design principle and without creating any garbage. Continue reading
CoralBits (Straight to the Point)
CoralBits offers high-performance, powerful and easy-to-use libraries to build ultra-low-latency systems that produce zero garbage. Continue reading
Architecture Case Study #1: CoralReactor + CoralQueue
You need a high throughput application capable of handling thousands of client connections simultaneously but some client requests might take long to process for whatever reason. How can that be done in an efficient way without impacting other connected clients and without leaving the application unresponsive for new client connections? Continue reading
CoralStore Performance Numbers
CoralStore can write a 256-byte message to disk in around 159 nanoseconds through the FileStore
implementation. Moreover, by using the AsyncStore
you can get even lower latencies (60 nanoseconds) and variance, as the numbers on this article demonstrate. Continue reading