Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop minio/sha256-simd in favor of crypto/sha256 for Go 1.21+ #161

Closed
rootulp opened this issue May 24, 2023 · 2 comments · Fixed by #264
Closed

Drop minio/sha256-simd in favor of crypto/sha256 for Go 1.21+ #161

rootulp opened this issue May 24, 2023 · 2 comments · Fixed by #264
Assignees
Labels
blocked dependencies Pull requests that update a dependency file

Comments

@rootulp
Copy link
Collaborator

rootulp commented May 24, 2023

See celestiaorg/celestia-app#1826 and multiformats/go-multihash#173

@rootulp
Copy link
Collaborator Author

rootulp commented May 24, 2023

Blocked on upgrading to Go 1.21

@rootulp rootulp changed the title Drop minio/sha256-simd Drop minio/sha256-simd in favor of crypto/sha256 for Go 1.21+ May 25, 2023
@rootulp
Copy link
Collaborator Author

rootulp commented Aug 10, 2023

Go 1.21 was released!

Screenshot 2023-08-10 at 1 42 53 PM

Source

@rootulp rootulp self-assigned this Aug 10, 2023
rootulp added a commit that referenced this issue Aug 11, 2023
rootulp added a commit that referenced this issue Aug 11, 2023
Closes #161
Blocked on #263

## Testing

The `BenchmarkEDSRoots` benchmark behaves similarly before and after
this PR. Since it is computing roots, I assume the SHA256 operations for
minio/sha256-simd and Go 1.21's crypto/sha256 perform similarly.

### Before

```
Running tool: /usr/local/go/bin/go test -benchmem -run=^$ -bench ^BenchmarkEDSRoots$ github.com/celestiaorg/rsmt2d

goos: darwin
goarch: arm64
pkg: github.com/celestiaorg/rsmt2d
BenchmarkEDSRoots/32x32x512_ODS-10         	    1063	   1169687 ns/op	 1791189 B/op	   34052 allocs/op
BenchmarkEDSRoots/64x64x512_ODS-10         	     392	   3056992 ns/op	 6203578 B/op	  133636 allocs/op
BenchmarkEDSRoots/128x128x512_ODS-10       	     100	  10686539 ns/op	26235561 B/op	  530437 allocs/op
BenchmarkEDSRoots/256x256x512_ODS-10       	      31	  42617637 ns/op	106996448 B/op	 2110469 allocs/op
BenchmarkEDSRoots/512x512x512_ODS-10       	       7	 158435357 ns/op	490824795 B/op	 8419427 allocs/op
PASS
ok  	github.com/celestiaorg/rsmt2d	9.528s
```

### After

```
Running tool: /usr/local/go/bin/go test -benchmem -run=^$ -bench ^BenchmarkEDSRoots$ github.com/celestiaorg/rsmt2d

goos: darwin
goarch: arm64
pkg: github.com/celestiaorg/rsmt2d
BenchmarkEDSRoots/32x32x512_ODS-10         	    1010	   1168943 ns/op	 1793211 B/op	   34052 allocs/op
BenchmarkEDSRoots/64x64x512_ODS-10         	     381	   3175877 ns/op	 6207691 B/op	  133636 allocs/op
BenchmarkEDSRoots/128x128x512_ODS-10       	     100	  10775309 ns/op	26243828 B/op	  530438 allocs/op
BenchmarkEDSRoots/256x256x512_ODS-10       	      32	  69096212 ns/op	107013057 B/op	 2110472 allocs/op
BenchmarkEDSRoots/512x512x512_ODS-10       	       7	 158312988 ns/op	490854710 B/op	 8419386 allocs/op
PASS
ok  	github.com/celestiaorg/rsmt2d	9.516s
```
0xchainlover pushed a commit to celestia-org/rsmt2d that referenced this issue Aug 1, 2024
0xchainlover pushed a commit to celestia-org/rsmt2d that referenced this issue Aug 1, 2024
Closes celestiaorg/rsmt2d#161
Blocked on celestiaorg/rsmt2d#263

## Testing

The `BenchmarkEDSRoots` benchmark behaves similarly before and after
this PR. Since it is computing roots, I assume the SHA256 operations for
minio/sha256-simd and Go 1.21's crypto/sha256 perform similarly.

### Before

```
Running tool: /usr/local/go/bin/go test -benchmem -run=^$ -bench ^BenchmarkEDSRoots$ github.com/celestiaorg/rsmt2d

goos: darwin
goarch: arm64
pkg: github.com/celestiaorg/rsmt2d
BenchmarkEDSRoots/32x32x512_ODS-10         	    1063	   1169687 ns/op	 1791189 B/op	   34052 allocs/op
BenchmarkEDSRoots/64x64x512_ODS-10         	     392	   3056992 ns/op	 6203578 B/op	  133636 allocs/op
BenchmarkEDSRoots/128x128x512_ODS-10       	     100	  10686539 ns/op	26235561 B/op	  530437 allocs/op
BenchmarkEDSRoots/256x256x512_ODS-10       	      31	  42617637 ns/op	106996448 B/op	 2110469 allocs/op
BenchmarkEDSRoots/512x512x512_ODS-10       	       7	 158435357 ns/op	490824795 B/op	 8419427 allocs/op
PASS
ok  	github.com/celestiaorg/rsmt2d	9.528s
```

### After

```
Running tool: /usr/local/go/bin/go test -benchmem -run=^$ -bench ^BenchmarkEDSRoots$ github.com/celestiaorg/rsmt2d

goos: darwin
goarch: arm64
pkg: github.com/celestiaorg/rsmt2d
BenchmarkEDSRoots/32x32x512_ODS-10         	    1010	   1168943 ns/op	 1793211 B/op	   34052 allocs/op
BenchmarkEDSRoots/64x64x512_ODS-10         	     381	   3175877 ns/op	 6207691 B/op	  133636 allocs/op
BenchmarkEDSRoots/128x128x512_ODS-10       	     100	  10775309 ns/op	26243828 B/op	  530438 allocs/op
BenchmarkEDSRoots/256x256x512_ODS-10       	      32	  69096212 ns/op	107013057 B/op	 2110472 allocs/op
BenchmarkEDSRoots/512x512x512_ODS-10       	       7	 158312988 ns/op	490854710 B/op	 8419386 allocs/op
PASS
ok  	github.com/celestiaorg/rsmt2d	9.516s
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant