File: README.md

package info (click to toggle)
golang-github-templexxx-xor 0.1.2-5~bpo9+1
  • links: PTS, VCS
  • area: main
  • in suites: stretch-backports
  • size: 108 kB
  • sloc: asm: 834; makefile: 2
file content (48 lines) | stat: -rw-r--r-- 936 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# XOR

XOR code engine in pure Go

more than 10GB/S per core

## Introduction:

1. Use SIMD (SSE2 or AVX2) for speeding up
2. ...

## Installation
To get the package use the standard:
```bash
go get github.com/templexxx/xor
```

## Documentation

See the associated [GoDoc](http://godoc.org/github.com/templexxx/xor)


## Performance

Performance depends mainly on:

1. SIMD extension
2. unit size of worker
3. 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?

1. https://github.com/xtaci/kcp-go -- A Production-Grade Reliable-UDP Library for golang