blob: bd77aa866c759e592fef38db6f11064ecaa3789d (
plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# swisstable
:warning: Currently, This library works on processors that support `AVX2` .
## links
- [Hackage](https://hackage.haskell.org/package/swisstable-0.1.0.1)
- [Instance definition of Data.HashTable.Class](https://github.com/nakaji-dayo/hs-swisstable-hashtables-class)
## Benchmark snapshot
### time
15564c4
```
benchmarking lookup(seq)/small/SwissTable
time 218.0 μs (217.3 μs .. 218.6 μs)
1.000 R² (0.999 R² .. 1.000 R²)
mean 218.5 μs (218.2 μs .. 218.8 μs)
std dev 1.074 μs (903.7 ns .. 1.357 μs)
benchmarking lookup(seq)/small/BasicHashTable
time 277.8 μs (277.5 μs .. 278.1 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 277.6 μs (277.0 μs .. 277.9 μs)
std dev 1.479 μs (906.2 ns .. 2.655 μs)
benchmarking lookup(rand)/small/SwissTable
time 386.7 μs (384.2 μs .. 390.1 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 394.0 μs (392.4 μs .. 395.4 μs)
std dev 5.017 μs (4.124 μs .. 6.518 μs)
benchmarking lookup(rand)/small/BasicHashTable
time 484.9 μs (483.8 μs .. 485.8 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 484.7 μs (484.2 μs .. 485.2 μs)
std dev 1.557 μs (1.294 μs .. 1.956 μs)
benchmarking insert(seq)/sized/small/SwissTable
time 1.271 ms (1.265 ms .. 1.278 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.245 ms (1.238 ms .. 1.252 ms)
std dev 24.58 μs (20.19 μs .. 29.61 μs)
benchmarking insert(seq)/sized/small/BasicHashTable
time 1.315 ms (1.311 ms .. 1.319 ms)
1.000 R² (1.000 R² .. 1.000 R²)
mean 1.321 ms (1.319 ms .. 1.322 ms)
std dev 5.360 μs (4.111 μs .. 6.704 μs)
```
### space
8557655
```
Case Allocated GCs
Swiss.insert 362,035,256 314
Data.HashTable.ST.Basic.insert 192,201,784 108
Swiss.insert sized 162,891,112 140
Data.HashTable.ST.Basic.insert sized 152,675,336 94
```
|