Skip to content

Commit 175d0c0

Browse files
authored
ZeroMQ vs Aeron: Best for Market Data? Performance (Latency & Throughput) (#475)
1 parent 7556422 commit 175d0c0

24 files changed

+2176
-30
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# New Video - https://youtu.be/J6YVX7E5QPE
1+
# New Video - https://youtu.be/wP1wz6MhxcI
22

3-
[<img src="assets/263.png?raw=true">](https://youtu.be/J6YVX7E5QPE)
3+
[<img src="assets/264.png?raw=true">](https://youtu.be/wP1wz6MhxcI)
44

55
# Consulting
66

assets/263.png

-570 KB
Binary file not shown.

assets/264.png

571 KB
Loading

docs/contents.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,3 +185,4 @@
185185
- [256 - Terraform AWS VPC Tutorial - Public, Private, and Isolated Subnets](../lessons/256)
186186
- [258 - Redis vs Valkey performance](../lessons/258)
187187
- [259 - Rust vs C++ Performance: Can Rust Actually Be Faster?](../lessons/259)
188+
- [260 - ZeroMQ vs Aeron: Best for Market Data? Performance (Latency & Throughput)](../lessons/260)

lessons/247/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Actix vs Axum vs May vs Ntex
2+
3+
Actix vs Axum vs Rocket vs Warp

lessons/247/compose.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
services:
3+
postgres:
4+
image: postgres:17.6
5+
ports:
6+
- 5432:5432
7+
environment:
8+
POSTGRES_USER: myapp
9+
POSTGRES_DB: store
10+
POSTGRES_PASSWORD: devops123
11+
networks:
12+
- private
13+
14+
networks:
15+
private:

lessons/247/may-app/Cargo.lock

Lines changed: 21 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lessons/247/may-app/Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
[package]
22
name = "may-app"
33
version = "0.1.0"
4-
edition = "2021"
4+
edition = "2024"
55

66
[dependencies]
7-
mimalloc = { version = "0.1", default-features = false }
8-
may = { version = "0.3", default-features = false }
7+
mimalloc = { version = "0.1.48", default-features = false }
8+
may = { version = "0.3.51", default-features = false }
99
may_minihttp = "0.1"
10-
may_postgres = { git = "https://github.com/Xudong-Huang/may_postgres.git", default-features = false }
11-
num_cpus = "1.16"
12-
serde = {version = "1.0", default-features = false }
13-
serde_json = {version = "1.0", default-features = false }
10+
may_postgres = { git = "https://github.com/Xudong-Huang/may_postgres", default-features = false }
11+
num_cpus = "1.17.0"
12+
serde = { version = "1.0.219", default-features = false }
13+
serde_json = { version = "1.0.143", default-features = false }
1414
yarte = { version = "0.15", features = ["bytes-buf", "json"] }
1515
buf-min = { version = "0.7", features = ["bytes"] }
1616

lessons/264/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# ZeroMQ vs Aeron: Best for Market Data? Performance (Latency & Throughput)
2+
3+
You can find tutorial [here](https://youtu.be/wP1wz6MhxcI).
4+
5+
## Commands
6+
7+
```bash
8+
/usr/local/bin/aeronmd \\
9+
-Daeron.threading.mode=DEDICATED \\
10+
-Daeron.conductor.buffer.size=16m \\
11+
-Daeron.driver.event.log=disabled \\
12+
-Daeron.driver.idle.strategy=busy_spin \\
13+
-Daeron.print.configuration=true
14+
15+
## 1st Test
16+
CHANNEL="aeron:udp?endpoint=10.0.89.94:40123" SLEEP_INTERVAL_US="2000" STAGE_INTERVAL_US="2000000" DECREMENT_INTERVAL_US="1" /usr/local/bin/aeron-publisher
17+
CHANNEL="aeron:udp?endpoint=10.0.89.94:40123" /usr/local/bin/aeron-subscriber
18+
19+
# 2nd Test
20+
CHANNEL="tcp://*:5555" SLEEP_INTERVAL_US="2000" STAGE_INTERVAL_US="2000000" DECREMENT_INTERVAL_US="1" /usr/local/bin/zeromq-publisher
21+
CHANNEL="tcp://10.0.65.17:5555" /usr/local/bin/zeromq-subscriber
22+
```

lessons/264/app/.clang-format

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Generated from CLion C/C++ Code Style settings
2+
---
3+
Language: Cpp
4+
BasedOnStyle: Google
5+
AccessModifierOffset: -4
6+
AlignConsecutiveAssignments: false
7+
AlignConsecutiveDeclarations: false
8+
AlignOperands: true
9+
AlignTrailingComments: false
10+
AlwaysBreakTemplateDeclarations: Yes
11+
BraceWrapping:
12+
AfterCaseLabel: false
13+
AfterClass: false
14+
AfterControlStatement: false
15+
AfterEnum: false
16+
AfterFunction: false
17+
AfterNamespace: false
18+
AfterStruct: false
19+
AfterUnion: false
20+
AfterExternBlock: false
21+
BeforeCatch: false
22+
BeforeElse: false
23+
BeforeLambdaBody: false
24+
BeforeWhile: false
25+
SplitEmptyFunction: true
26+
SplitEmptyRecord: true
27+
SplitEmptyNamespace: true
28+
BreakBeforeBraces: Custom
29+
BreakConstructorInitializers: AfterColon
30+
BreakConstructorInitializersBeforeComma: false
31+
ColumnLimit: 0
32+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
33+
ContinuationIndentWidth: 8
34+
IncludeCategories:
35+
- Regex: '^<.*'
36+
Priority: 1
37+
- Regex: '^".*'
38+
Priority: 2
39+
- Regex: '.*'
40+
Priority: 3
41+
IncludeIsMainRegex: '([-_](test|unittest))?$'
42+
IndentCaseLabels: true
43+
IndentWidth: 4
44+
InsertNewlineAtEOF: true
45+
MacroBlockBegin: ''
46+
MacroBlockEnd: ''
47+
MaxEmptyLinesToKeep: 2
48+
NamespaceIndentation: All
49+
SpaceAfterCStyleCast: true
50+
SpaceAfterTemplateKeyword: false
51+
SpaceBeforeRangeBasedForLoopColon: false
52+
SpaceInEmptyParentheses: false
53+
SpacesInAngles: false
54+
SpacesInConditionalStatement: false
55+
SpacesInCStyleCastParentheses: false
56+
SpacesInParentheses: false
57+
TabWidth: 4

0 commit comments

Comments
 (0)