good morning!!!!

Skip to content
Snippets Groups Projects
  1. Dec 31, 2019
  2. Dec 19, 2019
  3. Nov 29, 2019
  4. Nov 25, 2019
  5. 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
  6. 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
  7. 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
  8. Nov 05, 2019
  9. Nov 04, 2019
  10. Nov 02, 2019
  11. Oct 23, 2019
  12. Oct 14, 2019
Loading