gxhash 3.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gxhash might be problematic. Click here for more details.

@@ -0,0 +1,3 @@
1
+ [build]
2
+ rustflags = ["-C", "target-cpu=native"]
3
+ rustdocflags = ["-C", "target-cpu=native"]
@@ -0,0 +1 @@
1
+ *.tex linguist-detectable=false
@@ -0,0 +1,89 @@
1
+ name: Benchmark
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ env:
7
+ CARGO_TERM_COLOR: always
8
+
9
+ jobs:
10
+ benchmark-x86:
11
+ name: Benchmark X86
12
+ runs-on: buildjet-2vcpu-ubuntu-2204
13
+
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ - name: Update rust
18
+ run: rustup update
19
+
20
+ - name: Benchmark
21
+ run: cargo bench --bench throughput --features bench-plot
22
+
23
+ - uses: actions/upload-artifact@v3
24
+ with:
25
+ name: benches
26
+ path: benches/throughput/x86_64.svg
27
+
28
+ benchmark-x86-avx2:
29
+ name: Benchmark X86 AVX2
30
+ runs-on: buildjet-2vcpu-ubuntu-2204
31
+
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+
35
+ - name: Switch to nightly rust
36
+ run: rustup default nightly
37
+
38
+ - name: Benchmark
39
+ run: cargo bench --bench throughput --features bench-plot,hybrid
40
+
41
+ - uses: actions/upload-artifact@v3
42
+ with:
43
+ name: benches
44
+ path: benches/throughput/x86_64-hybrid.svg
45
+
46
+ benchmark-arm:
47
+ name: Benchmark ARM
48
+ runs-on: buildjet-2vcpu-ubuntu-2204-arm
49
+
50
+ steps:
51
+ - uses: actions/checkout@v4
52
+
53
+ - name: Update rust
54
+ run: rustup update
55
+
56
+ - name: Benchmark
57
+ run: cargo bench --bench throughput --features bench-plot
58
+
59
+ - uses: actions/upload-artifact@v3
60
+ with:
61
+ name: benches
62
+ path: benches/throughput/aarch64.svg
63
+
64
+ commit:
65
+ name: Commit & Push
66
+ runs-on: buildjet-2vcpu-ubuntu-2204
67
+ needs: [benchmark-x86, benchmark-x86-avx2, benchmark-arm]
68
+
69
+ permissions:
70
+ contents: write
71
+
72
+ steps:
73
+ - uses: actions/checkout@v4
74
+
75
+ - name: Download Benchmark Results
76
+ uses: actions/download-artifact@v3
77
+ with:
78
+ name: benches
79
+ path: benches/throughput
80
+
81
+ - name: Commit & Push Benchmark Results
82
+ uses: stefanzweifel/git-auto-commit-action@v5
83
+ with:
84
+ file_pattern: '*.svg'
85
+ commit_message: Update Benchmark Results
86
+ commit_user_name: Benchmark Bot
87
+ commit_user_email: benchmark-bot@noreply.com
88
+ commit_author: Benchmark Bot <benchmark-bot@noreply.com>
89
+
@@ -0,0 +1,62 @@
1
+ name: Build & Test
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+
9
+ env:
10
+ CARGO_TERM_COLOR: always
11
+
12
+ jobs:
13
+ build_test_x86:
14
+ name: Build & Test X86
15
+ runs-on: ubuntu-latest
16
+
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+
20
+ - name: Rust version
21
+ run: cargo rustc -- --version
22
+
23
+ - name: Build
24
+ run: cargo build --release
25
+
26
+ - name: Test
27
+ run: cargo test --release
28
+
29
+ build_test_x86_avx2:
30
+ name: Build & Test X86 AVX2
31
+ runs-on: ubuntu-latest
32
+
33
+ steps:
34
+ - uses: actions/checkout@v3
35
+
36
+ - name: Switch to nightly rust
37
+ run: rustup default nightly
38
+
39
+ - name: Rust version
40
+ run: cargo rustc -- --version
41
+
42
+ - name: Build
43
+ run: cargo build --release --features hybrid
44
+
45
+ - name: Test
46
+ run: cargo test --release --features hybrid
47
+
48
+ build_test_arm:
49
+ name: Build & Test ARM
50
+ runs-on: macos-latest
51
+
52
+ steps:
53
+ - uses: actions/checkout@v3
54
+
55
+ - name: Rust version
56
+ run: cargo rustc -- --version
57
+
58
+ - name: Build
59
+ run: cargo build --release
60
+
61
+ - name: Test
62
+ run: cargo test --release
@@ -0,0 +1,66 @@
1
+ name: Cross Compile
2
+
3
+ on:
4
+ # Trigger when merged on main
5
+ push:
6
+ branches: [ "main" ]
7
+ pull_request:
8
+ branches: [ "main" ]
9
+ # Manual trigger
10
+ workflow_dispatch:
11
+
12
+ env:
13
+ CARGO_TERM_COLOR: always
14
+ RUSTFLAGS: "-C target-feature=+aes,+vaes,+avx2"
15
+
16
+ jobs:
17
+
18
+ build_x86:
19
+ name: Build
20
+
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ include:
25
+ - from: ubuntu-latest
26
+ target: "aarch64-apple-darwin"
27
+ allow_failure_hybrid: true
28
+ - from: ubuntu-latest
29
+ target: "aarch64-unknown-linux-gnu"
30
+ allow_failure_hybrid: true
31
+ - from: ubuntu-latest
32
+ target: "aarch64-unknown-linux-musl"
33
+ allow_failure_hybrid: true
34
+ - from: ubuntu-latest
35
+ target: "i686-unknown-linux-gnu"
36
+ allow_failure_hybrid: true
37
+ - from: ubuntu-latest
38
+ target: "x86_64-pc-windows-msvc"
39
+ allow_failure_hybrid: true # Supposed to work as hybrid but not tested yet
40
+ - from: ubuntu-latest
41
+ target: "x86_64-unknown-linux-gnu"
42
+ allow_failure_hybrid: false
43
+ - from: macos-latest
44
+ target: "aarch64-apple-darwin"
45
+ allow_failure_hybrid: true
46
+ - from: macos-latest
47
+ target: "x86_64-unknown-linux-gnu"
48
+ allow_failure_hybrid: true # Supposed to work as hybrid but not tested yet
49
+
50
+ runs-on: ${{ matrix.from }}
51
+
52
+ steps:
53
+ - uses: actions/checkout@v3
54
+
55
+ - name: Install target
56
+ run: rustup target add ${{ matrix.target }}
57
+
58
+ - name: Build
59
+ run: cargo build --release --target ${{ matrix.target }}
60
+
61
+ - name: Switch to nightly rust
62
+ run: rustup default nightly
63
+
64
+ - name: Build Hybrid
65
+ continue-on-error: ${{ matrix.allow_failure_hybrid }}
66
+ run: cargo build --release --features hybrid --target ${{ matrix.target }}
@@ -0,0 +1,31 @@
1
+ name: Rust Version Compatibility
2
+
3
+ on:
4
+ # Trigger when merged on main
5
+ push:
6
+ branches: [ "main" ]
7
+ # Manual trigger
8
+ workflow_dispatch:
9
+
10
+ env:
11
+ CARGO_TERM_COLOR: always
12
+
13
+ jobs:
14
+
15
+ build_test_x86:
16
+ name: Build & Test X86
17
+ runs-on: ubuntu-latest
18
+
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ version: ["1.65", "1.72", "1.78"]
23
+
24
+ steps:
25
+ - uses: actions/checkout@v3
26
+
27
+ - name: Install ${{ matrix.version }}
28
+ run: rustup toolchain install ${{ matrix.version }}
29
+
30
+ - name: Build
31
+ run: cargo +${{ matrix.version }} build --release
@@ -0,0 +1,27 @@
1
+ # Generated by Cargo
2
+ # will have compiled files and executables
3
+ debug/
4
+ target/
5
+
6
+ # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
7
+ # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
8
+ Cargo.lock
9
+
10
+ # These are backup files generated by rustfmt
11
+ **/*.rs.bk
12
+
13
+ # MSVC Windows builds of rustc generate these, which store debugging information
14
+ *.pdb
15
+ article/*.log
16
+ article/*.out
17
+ article/*.fls
18
+ article/*.toc
19
+ article/*.fdb_latexmk
20
+ article/*.synctex.gz
21
+ article/*.aux
22
+ article/*.blg
23
+ article/*.bbl
24
+
25
+ .idea/**/*
26
+
27
+ .venv/
@@ -0,0 +1,10 @@
1
+ cff-version: 1.2.0
2
+ message: "If you use this software, please cite it as below."
3
+ authors:
4
+ - family-names: Giniaux
5
+ given-names: Olivier
6
+ orcid: https://orcid.org/1234-5678-9101-1121
7
+ title: "GxHash: A High-Throughput, Non-Cryptographic Hashing Algorithm Leveraging Modern CPU Capabilities"
8
+ version: 1.0.0
9
+ doi: 10.5281/zenodo.8368254
10
+ date-released: