mirror of https://github.com/ginuerzh/gost
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
8 years ago | |
|---|---|---|
| .. | ||
| .gitattributes | 8 years ago | |
| .gitignore | 8 years ago | |
| LICENSE | 8 years ago | |
| README.md | 8 years ago | |
| avx2_amd64.s | 8 years ago | |
| nosimd.go | 8 years ago | |
| sse2_amd64.s | 8 years ago | |
| xor.go | 8 years ago | |
| xor_amd64.go | 8 years ago | |
| xor_other.go | 8 years ago | |
README.md
XOR
XOR code engine in pure Go
more than 10GB/S per core
see: https://github.com/templexxx/xorsimd
Introduction:
- Use SIMD (SSE2 or AVX2) for speeding up
- ...
Installation
To get the package use the standard:
go get github.com/templexxx/xor
Documentation
See the associated GoDoc
Performance
Performance depends mainly on:
- SIMD extension
- unit size of worker
- hardware ( CPU RAM etc)
Example of performance on my MacBook 2014-mid(i5-4278U 2.6GHz 2 physical cores). The 16MB per shards.
speed = ( shards * size ) / cost
| data_shards | shard_size | speed (MB/S) |
|---|---|---|
| 2 | 1KB | 64127.95 |
| 2 | 1400B | 59657.55 |
| 2 | 16KB | 35370.84 |
| 2 | 16MB | 12128.95 |
| 5 | 1KB | 78837.33 |
| 5 | 1400B | 58054.89 |
| 5 | 16KB | 50161.19 |
| 5 | 16MB | 12750.41 |
Who is using this?
- https://github.com/xtaci/kcp-go -- A Production-Grade Reliable-UDP Library for golang