Skip to content

Commit b749f1f

Browse files
TachyonConceptsFeuerbach Vladislavvladcoderlab
authored
Add Tachyon — a very slow and extremely unsafe Rust server (#10000)
* Add TachyonConcept * attach README.md * add link to repo * Add json support for benchmark --------- Co-authored-by: Feuerbach Vladislav <v@hpcl.io> Co-authored-by: vladcoderlab <vlad@coderlab.net>
1 parent 7fac997 commit b749f1f

File tree

4 files changed

+108
-0
lines changed

4 files changed

+108
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Tachyon
2+
3+
[Tachyon Repo](https://github.com/TachyonConcepts/TachyonConcept)
4+
5+
**Tachyon** is a web server written in 100% `unsafe` Rust.
6+
Yes — **100%**. There isn’t a single `safe` block in the entire codebase. Safety is a suggestion, not a rule.
7+
8+
This implementation is intentionally modest in scope and **supports only the `/plaintext` benchmark**. No JSON, no databases, no distractions.
9+
10+
## Goals
11+
12+
Tachyon is a server that makes no attempt to be fast, correct, or relevant.
13+
It serves plaintext. Slowly. **VERY** slowly.
14+
Nah... really... very slow.
15+
16+
## Requirements
17+
18+
- Linux kernel **6.0+**
19+
- Rust **nightly**
20+
- CPU with **AVX2** support
21+
22+
> We require a modern Linux kernel to ensure our experimental use of io_uring does *not* work on older systems.
23+
> Nightly Rust is used to maintain maximum instability across compiler versions.
24+
25+
## Running Locally
26+
27+
```bash
28+
echo "2048 4096 8192" > /proc/sys/net/ipv4/tcp_wmem
29+
echo "8192 16384 32768" > /proc/sys/net/ipv4/tcp_rmem
30+
echo "4096 131072 262144" > /proc/sys/net/ipv4/tcp_mem
31+
32+
sysctl -w net.core.somaxconn=65535
33+
sysctl -w net.ipv4.tcp_max_syn_backlog=65535
34+
35+
sysctl -w net.ipv4.tcp_fastopen=3
36+
sysctl -w net.ipv4.tcp_tw_reuse=1
37+
sysctl -w net.ipv4.tcp_fin_timeout=10
38+
39+
ulimit -n 65535
40+
ulimit -s unlimited
41+
42+
git clone https://github.com/TachyonConcepts/TachyonConcept
43+
cargo run --release
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"framework": "tachyon-concept",
3+
"tests": [
4+
{
5+
"default": {
6+
"json_url": "/json",
7+
"plaintext_url": "/plaintext",
8+
"port": 8080,
9+
"approach": "Realistic",
10+
"classification": "Platform",
11+
"database": "None",
12+
"framework": "None",
13+
"language": "Rust",
14+
"flavor": "None",
15+
"orm": "None",
16+
"platform": "None",
17+
"webserver": "Tachyon",
18+
"os": "Linux",
19+
"database_os": "Linux",
20+
"display_name": "Tachyon-Concept",
21+
"notes": "",
22+
"versus": "None"
23+
},
24+
"ub": {
25+
"json_url": "/json",
26+
"plaintext_url": "/plaintext",
27+
"port": 8080,
28+
"approach": "Realistic",
29+
"classification": "Platform",
30+
"database": "None",
31+
"framework": "None",
32+
"language": "Rust",
33+
"flavor": "None",
34+
"orm": "None",
35+
"platform": "None",
36+
"webserver": "Tachyon",
37+
"os": "Linux",
38+
"database_os": "Linux",
39+
"display_name": "Tachyon-Concept-UB",
40+
"notes": "",
41+
"versus": "None"
42+
}
43+
}
44+
]
45+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM rust:latest
2+
ENV DEBIAN_FRONTEND=noninteractive
3+
WORKDIR /app
4+
RUN rustup install nightly
5+
RUN git clone https://github.com/TachyonConcepts/TachyonConcept .
6+
RUN RUSTFLAGS="-C target-cpu=native -C opt-level=3 -C target-feature=+avx2,+bmi2" cargo install --path .
7+
RUN cargo clean
8+
RUN chmod +x /app/run_ub.sh
9+
EXPOSE 8080
10+
CMD /app/run_ub.sh
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM rust:latest
2+
ENV DEBIAN_FRONTEND=noninteractive
3+
WORKDIR /app
4+
RUN rustup install nightly
5+
RUN git clone https://github.com/TachyonConcepts/TachyonConcept .
6+
RUN RUSTFLAGS="-C target-cpu=native -C opt-level=3 -C target-feature=+avx2,+bmi2" cargo install --path .
7+
RUN cargo clean
8+
RUN chmod +x /app/run.sh
9+
EXPOSE 8080
10+
CMD /app/run.sh

0 commit comments

Comments
 (0)