This project is mirrored from https://github.com/nhooyr/websocket.
Pull mirroring updated .
- Aug 09, 2024
-
-
Ammar Bandukwala authored
-
Ammar Bandukwala authored
Update import path to github.com/coder/websocket
-
Ammar Bandukwala authored
vulncheck was using slices which is only in newer Go versions.
-
Ammar Bandukwala authored
This will create easily solved breakage on updates but I figure it's best to pull the band aid off as early as possible
-
- Apr 07, 2024
-
-
Anmol Sethi authored
-
Anmol Sethi authored
-
Anmol Sethi authored
-
Quinn Rivenwell authored
fix closenow race
-
Anmol Sethi authored
Context can be cancelled by parent. Doesn't indicate the CloseRead goroutine has exited.
-
Anmol Sethi authored
-
Anmol Sethi authored
See #326
-
Anmol Sethi authored
-
Anmol Sethi authored
-
- Apr 05, 2024
-
-
Anmol Sethi authored
Far simpler now. Sorry this took a while. Closes #427 Closes #429 Closes #434 Closes #436 Closes #437
-
Anmol Sethi authored
Not ideal but whatever, I'm going to rewrite all of this anyway.
-
Alexander Wang authored
-
- Mar 07, 2024
-
-
Anmol Sethi authored
Fix unaligned load error on 32-bit architectures Closes #432
-
Anmol Sethi authored
-
- Mar 05, 2024
-
-
Anmol Sethi authored
-
- Feb 26, 2024
-
-
Grigorii Khvatskii authored
On some 32-bit architectures, 64-bit atomic operations panic when the value is not aligned properly. In this package, this causes netConn operations to panic when compiling with GOARCH=386, since netConn does atomic operations with int64 values in the netConn struct (namely, with readExpired and writeExpired). This commit fixes this by moving readExpired and writeExpired to the beginning of the struct, which makes them properly aligned.
-
- Feb 22, 2024
-
-
Quinn Rivenwell authored
use simd masking for amd64&arm64
-
Anmol Sethi authored
-
-
Anmol Sethi authored
Standard library does this too. Unfortunate wish they just exposed it in the standard library. Perhaps we can isolate the specific code we need later.
-
Anmol Sethi authored
-
Anmol Sethi authored
I'm just not good enough at assembly. I added tests to confirm that @wdvxdr's implementation works correctly and matches the output of the basic masking loop.
-
Anmol Sethi authored
-
Anmol Sethi authored
-
Anmol Sethi authored
-
- Oct 26, 2023
-
-
Anmol Sethi authored
-
Anmol Sethi authored
-
Anmol Sethi authored
[qrvnl@dios ~/src/websocket] 130$ go test -bench=. ./wsjson/ goos: linux goarch: amd64 pkg: nhooyr.io/websocket/wsjson cpu: 12th Gen Intel(R) Core(TM) i5-1235U BenchmarkJSON/json.Encoder/8-12 14041426 72.59 ns/op 110.21 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/16-12 13936426 86.99 ns/op 183.92 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/32-12 11416401 115.3 ns/op 277.59 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/128-12 4600574 264.7 ns/op 483.55 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/256-12 2710398 433.9 ns/op 590.06 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/512-12 1588930 717.3 ns/op 713.82 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/1024-12 823138 1484 ns/op 689.80 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/2048-12 402823 2875 ns/op 712.32 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/4096-12 213926 5602 ns/op 731.14 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/8192-12 92864 11281 ns/op 726.19 MB/s 16 B/op 1 allocs/op BenchmarkJSON/json.Encoder/16384-12 39318 29203 ns/op 561.04 MB/s 19 B/op 1 allocs/op BenchmarkJSON/json.Marshal/8-12 10768671 114.5 ns/op 69.89 MB/s 48 B/op 2 allocs/op BenchmarkJSON/json.Marshal/16-12 10140996 113.9 ns/op 140.51 MB/s 64 B/op 2 allocs/op BenchmarkJSON/json.Marshal/32-12 9211780 121.6 ns/op 263.06 MB/s 64 B/op 2 allocs/op BenchmarkJSON/json.Marshal/128-12 4632796 264.2 ns/op 484.53 MB/s 224 B/op 2 allocs/op BenchmarkJSON/json.Marshal/256-12 2441511 473.5 ns/op 540.65 MB/s 432 B/op 2 allocs/op BenchmarkJSON/json.Marshal/512-12 1298788 896.2 ns/op 571.27 MB/s 912 B/op 2 allocs/op BenchmarkJSON/json.Marshal/1024-12 602084 1866 ns/op 548.83 MB/s 1808 B/op 2 allocs/op BenchmarkJSON/json.Marshal/2048-12 341151 3817 ns/op 536.61 MB/s 3474 B/op 2 allocs/op BenchmarkJSON/json.Marshal/4096-12 175594 7034 ns/op 582.32 MB/s 6548 B/op 2 allocs/op BenchmarkJSON/json.Marshal/8192-12 83222 15023 ns/op 545.30 MB/s 13591 B/op 2 allocs/op BenchmarkJSON/json.Marshal/16384-12 33087 39348 ns/op 416.39 MB/s 27304 B/op 2 allocs/op PASS ok nhooyr.io/websocket/wsjson 32.934s
-
Anmol Sethi authored
-
Anmol Sethi authored
-
Anmol Sethi authored
json.Encoder is 42% faster than json.Marshal thanks to the memory reuse. goos: linux goarch: amd64 pkg: nhooyr.io/websocket/wsjson cpu: 12th Gen Intel(R) Core(TM) i5-1235U BenchmarkJSON/json.Encoder-12 3517579 340.2 ns/op 24 B/op 1 allocs/op BenchmarkJSON/json.Marshal-12 2374086 484.3 ns/op 728 B/op 2 allocs/op Closes #409
-
Anmol Sethi authored
-
Anmol Sethi authored
-
Anmol Sethi authored
-
Anmol Sethi authored
-
Anmol Sethi authored
-