An intelligent AMQP proxy with AMQP connection and channel pooling/reusing. Allows e.g. PHP clients to keep long lived connections to upstream servers, increasing publishing speed with a magnitude or more.
In the AMQP protocol, if you open a connection the client and the server has to exchange 7 TCP packages. If you then want to publish a message you have to open a channel which requires 2 more, and then to do the publish you need at least one more, and then to gracefully close the connection you need 4 more packages. In total 15 TCP packages, or 18 if you use AMQPS (TLS). For clients that can't for whatever reason keep long-lived connections to the server this has a considerable latency impact.
etcd client for crystal lang implemented as a thin wrapper over etcd's gRPC-HTTP gateway.
This client was developed against etcd v3.3, to use a higher version, set api_version arg to an appropriate version prefix when instantiating the client.
A small bugfix release to support Crystal 0.36.
A neat library and DSL for creating graphics using SVG
A template project for web applications using Lucky.
- PRNGs implementations
- Random sampling (single/double precision)
- Cumulative Distribution Functions (single/double precision)
random = Alea::Random.new random.normal # => -0.36790519967553736 : Float64 # Append '32' to call the single-precision version random.normal32 # => 0.19756398 : Float32
Checkout a short blog post explaining the changeset: