Hochwasser/README.md

43 lines
1.5 KiB
Markdown
Raw Normal View History

2019-01-22 11:12:29 +01:00
<h1 align="center" >🌊🌊🌊 Hochwasser 🌊🤽🌊</h1>
<p align="center"><img src="benchmarks/hochwasser_shuffle_vs_ordered.gif"/></p>
2019-01-10 23:01:12 +01:00
Highly efficient client for [Pixelflut]:
Faster than [sturmflut]! (In some benchmarks at least)
2019-01-10 23:01:12 +01:00
Can currently only send a single picture though.
[pixelflut]: https://cccgoe.de/wiki/Pixelflut
[sturmflut]: https://github.com/TobleMiner/sturmflut
## benchmark
The following benchmark was run on a max-spec X280 against version [d4c574b].
2019-01-10 23:10:44 +01:00
I could not figure out what the performance bottleneck is, but it doesn't seem
to be CPU limited, as turbo-boost doesn't kick in.
2019-01-10 23:01:12 +01:00
To reproduce, run the following commands in separate shells:
```sh
iperf -s -p 1337
go run main.go -image benchmark/test.png -connection 10
```
![screenshot: 55 Gbps of hochwasser](benchmarks/benchmark_x280.png)
55 Gbps on average! 🌊🌊🌊
[sturmflut] (`./sturmflut 127.0.0.1:1337 benchmark/test.png -t 10`, version `8ec6ee9`) managed to get 48 Gpbs throughput on this system.
2019-01-10 23:10:44 +01:00
> Hint: Benchmarking throughput against the [pixelnuke][pixelflut_gh] server is
pointless, as performance is then CPU-limited to ~1 Gbps by the server.
2019-01-10 23:01:12 +01:00
Using [iperf] removes the server limitation.
2019-01-10 23:10:44 +01:00
This also means that these metrics of several Gbps are far higher than
realworld scenarios.
2019-01-10 23:01:12 +01:00
[d4c574b]: https://github.com/SpeckiJ/Hochwasser/commit/d4c574be103a7bad69349f29402694f51058184c
2019-01-10 23:10:44 +01:00
[pixelflut_gh]: https://github.com/defnull/pixelflut
2019-01-10 23:01:12 +01:00
[iperf]: https://iperf.fr/
## future ideas
For future ideas check [IDEAS](https://github.com/SpeckiJ/Hochwasser/blob/master/IDEAS.md)