omq 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +11 -3
- data/lib/omq/version.rb +1 -1
- data/lib/omq.rb +3 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 02d85dfeec36f9d537cdfac7512a4a5edbfbe95145ae9583e8f5428a43a2548d
|
|
4
|
+
data.tar.gz: 1598f1cdecdc0523cf4263a72318f0500b1bd9dccb46da703817fd0b30c74315
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ee523b073066febf851dc2427b8ddd86c62bc44580a3a9c4283a4d72345ee52048e07a396da1db0de7265f7a641ac6aafe02827542a2786833c8e78b0a25bebf
|
|
7
|
+
data.tar.gz: 88933632f2e57c092090af0a322772db4431af55f85f4e9f41c21df2aa88d68bc9641ef3691a6826335b89b8b030275576b978ebf9f558a22ab4a329da5c3bbe
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -7,7 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
Pure Ruby implementation of the [ZMTP 3.1](https://rfc.zeromq.org/spec/23/) wire protocol ([ZeroMQ](https://zeromq.org/)) using the [Async](https://github.com/socketry/async) gem. No native libraries required.
|
|
9
9
|
|
|
10
|
-
> **
|
|
10
|
+
> **167k msg/s** inproc | **42k msg/s** ipc | **32k msg/s** tcp
|
|
11
|
+
>
|
|
12
|
+
> **15 µs** inproc latency | **62 µs** ipc | **88 µs** tcp
|
|
13
|
+
>
|
|
14
|
+
> Ruby 4.0 + YJIT on a Linux VM on a 2019 MacBook Pro (Intel)
|
|
11
15
|
|
|
12
16
|
---
|
|
13
17
|
|
|
@@ -25,7 +29,7 @@ Modern Ruby has closed the gap:
|
|
|
25
29
|
|
|
26
30
|
- **YJIT** — JIT-compiled hot paths close the throughput gap with C extensions
|
|
27
31
|
- **Fiber Scheduler** — non-blocking I/O without callbacks or threads (`Async` builds on this)
|
|
28
|
-
- **`
|
|
32
|
+
- **`io-stream`** — buffered I/O with read-ahead, from the Async ecosystem
|
|
29
33
|
|
|
30
34
|
When [CZTop](https://github.com/paddor/cztop) was written, none of this existed. Today, a pure Ruby ZMTP implementation is fast enough for production use — and you get `gem install` with no compiler toolchain, no system packages, and no segfaults.
|
|
31
35
|
|
|
@@ -109,7 +113,11 @@ end
|
|
|
109
113
|
| Routing | `DEALER`, `ROUTER` | bidirectional |
|
|
110
114
|
| Exclusive pair | `PAIR` | bidirectional |
|
|
111
115
|
|
|
112
|
-
All classes live under `OMQ::`.
|
|
116
|
+
All classes live under `OMQ::`. For the purists, `ØMQ` is an alias:
|
|
117
|
+
|
|
118
|
+
```ruby
|
|
119
|
+
req = ØMQ::REQ.new(">tcp://localhost:5555")
|
|
120
|
+
```
|
|
113
121
|
|
|
114
122
|
## Performance
|
|
115
123
|
|
data/lib/omq/version.rb
CHANGED
data/lib/omq.rb
CHANGED