good morning!!!!

Skip to content
Snippets Groups Projects
  1. Feb 09, 2020
  2. Dec 31, 2019
  3. Dec 19, 2019
  4. Nov 29, 2019
  5. Nov 25, 2019
  6. Nov 09, 2019
    • Anmol Sethi's avatar
      Cleanup grammar in README · 58ab202e
      Anmol Sethi authored
      58ab202e
    • Anmol Sethi's avatar
      fa825fdc
    • Anmol Sethi's avatar
      Add gobwas/ws and gorilla/websocket to mask benchmarks · edda9c63
      Anmol Sethi authored
      On average, we are 1.75x faster than both now 🚀
      
      goos: linux
      goarch: amd64
      pkg: nhooyr.io/websocket
      Benchmark_mask/2/basic-8         	263923018	         4.55 ns/op	 439.76 MB/s
      Benchmark_mask/2/nhooyr-8        	200203578	         6.00 ns/op	 333.32 MB/s
      Benchmark_mask/2/gorilla-8       	241622557	         4.95 ns/op	 404.38 MB/s
      Benchmark_mask/2/gobwas-8        	200392592	         6.05 ns/op	 330.69 MB/s
      Benchmark_mask/3/basic-8         	207684956	         5.78 ns/op	 519.07 MB/s
      Benchmark_mask/3/nhooyr-8        	169297215	         7.10 ns/op	 422.49 MB/s
      Benchmark_mask/3/gorilla-8       	205775799	         5.81 ns/op	 516.23 MB/s
      Benchmark_mask/3/gobwas-8        	165921662	         7.23 ns/op	 415.06 MB/s
      Benchmark_mask/4/basic-8         	167034886	         7.18 ns/op	 557.30 MB/s
      Benchmark_mask/4/nhooyr-8        	287656454	         4.30 ns/op	 931.11 MB/s
      Benchmark_mask/4/gorilla-8       	166140434	         7.30 ns/op	 547.57 MB/s
      Benchmark_mask/4/gobwas-8        	138138087	         8.73 ns/op	 458.20 MB/s
      Benchmark_mask/8/basic-8         	121179904	         9.92 ns/op	 806.67 MB/s
      Benchmark_mask/8/nhooyr-8        	199632992	         6.07 ns/op	1318.60 MB/s
      Benchmark_mask/8/gorilla-8       	100000000	        10.8 ns/op	 739.65 MB/s
      Benchmark_mask/8/gobwas-8        	157898031	         7.54 ns/op	1061.27 MB/s
      Benchmark_mask/16/basic-8        	73648268	        16.5 ns/op	 971.56 MB/s
      Benchmark_mask/16/nhooyr-8       	186871615	         6.38 ns/op	2506.61 MB/s
      Benchmark_mask/16/gorilla-8      	72374540	        16.6 ns/op	 964.36 MB/s
      Benchmark_mask/16/gobwas-8       	127698723	         9.36 ns/op	1709.99 MB/s
      Benchmark_mask/32/basic-8        	40010325	        29.8 ns/op	1073.76 MB/s
      Benchmark_mask/32/nhooyr-8       	168590156	         7.12 ns/op	4494.72 MB/s
      Benchmark_mask/32/gorilla-8      	67282072	        17.7 ns/op	1808.59 MB/s
      Benchmark_mask/32/gobwas-8       	120038877	         9.96 ns/op	3213.55 MB/s
      Benchmark_mask/128/basic-8       	10134963	       118 ns/op	1082.74 MB/s
      Benchmark_mask/128/nhooyr-8      	100000000	        11.8 ns/op	10852.23 MB/s
      Benchmark_mask/128/gorilla-8     	45452385	        26.4 ns/op	4853.64 MB/s
      Benchmark_mask/128/gobwas-8      	57188290	        20.8 ns/op	6153.80 MB/s
      Benchmark_mask/512/basic-8       	 2707371	       442 ns/op	1159.38 MB/s
      Benchmark_mask/512/nhooyr-8      	37049421	        32.4 ns/op	15785.82 MB/s
      Benchmark_mask/512/gorilla-8     	19006171	        62.8 ns/op	8150.01 MB/s
      Benchmark_mask/512/gobwas-8      	21394864	        55.8 ns/op	9169.49 MB/s
      Benchmark_mask/4096/basic-8      	  346566	      3467 ns/op	1181.46 MB/s
      Benchmark_mask/4096/nhooyr-8     	 5170425	       232 ns/op	17648.07 MB/s
      Benchmark_mask/4096/gorilla-8    	 2963664	       405 ns/op	10105.59 MB/s
      Benchmark_mask/4096/gobwas-8     	 2989596	       402 ns/op	10192.40 MB/s
      Benchmark_mask/16384/basic-8     	   86671	     13833 ns/op	1184.38 MB/s
      Benchmark_mask/16384/nhooyr-8    	 1332649	       889 ns/op	18436.40 MB/s
      Benchmark_mask/16384/gorilla-8   	  763900	      1556 ns/op	10527.53 MB/s
      Benchmark_mask/16384/gobwas-8    	  764034	      1553 ns/op	10548.60 MB/s
      PASS
      ok  	nhooyr.io/websocket	64.091s
      
      Results from a 8 GB 8 core Haswell VM on GCP.
      v1.7.4
      edda9c63
  7. Nov 07, 2019
    • Anmol Sethi's avatar
      Merge pull request #171 from nhooyr/fast-xor · c781bdf5
      Anmol Sethi authored
      Optimize masking with math/bits
      c781bdf5
    • Anmol Sethi's avatar
      Elminate BCE in mask algorithm · 15d0a18f
      Anmol Sethi authored
      Thanks again to @renthraysk
      
      This provides another significant speedup.
      
      benchmark                        old MB/s     new MB/s     speedup
      Benchmark_mask/2/fast-8          405.48       513.25       1.27x
      Benchmark_mask/3/fast-8          518.93       661.92       1.28x
      Benchmark_mask/4/fast-8          1207.10      1252.39      1.04x
      Benchmark_mask/8/fast-8          1708.82      1655.63      0.97x
      Benchmark_mask/16/fast-8         3418.58      3051.25      0.89x
      Benchmark_mask/32/fast-8         5789.43      5813.31      1.00x
      Benchmark_mask/128/fast-8        12819.53     14804.50     1.15x
      Benchmark_mask/512/fast-8        18247.06     21659.50     1.19x
      Benchmark_mask/4096/fast-8       19802.31     23885.68     1.21x
      Benchmark_mask/16384/fast-8      20896.97     25081.11     1.20x
      15d0a18f
  8. Nov 06, 2019
    • Anmol Sethi's avatar
      Rename xor to mask · 3b6e614d
      Anmol Sethi authored
      3b6e614d
    • Anmol Sethi's avatar
      Optimize fastXOR with math/bits · a13f5dc8
      Anmol Sethi authored
      See https://github.com/golang/go/issues/31586#issuecomment-550040882
      
      Thanks @renthraysk
      
      benchmark                      old MB/s     new MB/s     speedup
      BenchmarkXOR/2/fast-8          470.88       492.61       1.05x
      BenchmarkXOR/3/fast-8          602.24       719.25       1.19x
      BenchmarkXOR/4/fast-8          718.82       1186.64      1.65x
      BenchmarkXOR/8/fast-8          1027.60      1718.71      1.67x
      BenchmarkXOR/16/fast-8         1413.31      3430.46      2.43x
      BenchmarkXOR/32/fast-8         2701.81      5585.42      2.07x
      BenchmarkXOR/128/fast-8        7757.97      13432.37     1.73x
      BenchmarkXOR/512/fast-8        15155.03     18797.79     1.24x
      BenchmarkXOR/4096/fast-8       20689.95     20334.61     0.98x
      BenchmarkXOR/16384/fast-8      21687.87     21613.94     1.00x
      
      Now its faster than basic XOR at every byte size greater than 2 on
      little endian amd64 machines.
      a13f5dc8
    • Anmol Sethi's avatar
      Add more sizes to BenchmarkXOR · 2f8f69cf
      Anmol Sethi authored
      2f8f69cf
  9. Nov 05, 2019
  10. Nov 04, 2019
  11. Nov 02, 2019
  12. Oct 23, 2019
Loading