proost opened a new pull request, #179:
URL: https://github.com/apache/datasketches-go/pull/179

   In deserialization, current temp allocation happens. we can reduce that. 
   And we can reduce two loops into one loop.
   
   ## ItemsSketch
   
   main:
   ```
   goos: darwin
   goarch: arm64
   pkg: github.com/apache/datasketches-go/frequencies
   cpu: Apple M4 Pro
   BenchmarkItemsSketchFromSlice
   BenchmarkItemsSketchFromSlice/int64/items=48
   BenchmarkItemsSketchFromSlice/int64/items=48-12               1298882        
       908.8 ns/op       880.28 MB/s        2096 B/op          7 allocs/op
   BenchmarkItemsSketchFromSlice/int64/items=192
   BenchmarkItemsSketchFromSlice/int64/items=192-12               327068        
      3683 ns/op         842.75 MB/s        7856 B/op          7 allocs/op
   BenchmarkItemsSketchFromSlice/int64/items=768
   BenchmarkItemsSketchFromSlice/int64/items=768-12                78704        
     15302 ns/op         805.14 MB/s       30896 B/op          7 allocs/op
   BenchmarkItemsSketchFromSlice/string/items=48
   BenchmarkItemsSketchFromSlice/string/items=48-12               770403        
      1510 ns/op         618.69 MB/s        3632 B/op         55 allocs/op
   BenchmarkItemsSketchFromSlice/string/items=192
   BenchmarkItemsSketchFromSlice/string/items=192-12              201334        
      6039 ns/op         622.92 MB/s       13872 B/op        199 allocs/op
   BenchmarkItemsSketchFromSlice/string/items=768
   BenchmarkItemsSketchFromSlice/string/items=768-12               48657        
     24591 ns/op         621.44 MB/s       54704 B/op        775 allocs/op
   PASS
   ```
   
   PR:
   ```
   goos: darwin
   goarch: arm64
   pkg: github.com/apache/datasketches-go/frequencies
   cpu: Apple M4 Pro
   BenchmarkItemsSketchFromSlice
   BenchmarkItemsSketchFromSlice/int64/items=48
   BenchmarkItemsSketchFromSlice/int64/items=48-12               1419704        
       845.1 ns/op       946.62 MB/s        1712 B/op          6 allocs/op
   BenchmarkItemsSketchFromSlice/int64/items=192
   BenchmarkItemsSketchFromSlice/int64/items=192-12               342088        
      3459 ns/op         897.38 MB/s        6320 B/op          6 allocs/op
   BenchmarkItemsSketchFromSlice/int64/items=768
   BenchmarkItemsSketchFromSlice/int64/items=768-12                82773        
     14514 ns/op         848.81 MB/s       24752 B/op          6 allocs/op
   BenchmarkItemsSketchFromSlice/string/items=48
   BenchmarkItemsSketchFromSlice/string/items=48-12               803619        
      1447 ns/op         645.27 MB/s        3248 B/op         54 allocs/op
   BenchmarkItemsSketchFromSlice/string/items=192
   BenchmarkItemsSketchFromSlice/string/items=192-12              207325        
      5827 ns/op         645.62 MB/s       12336 B/op        198 allocs/op
   BenchmarkItemsSketchFromSlice/string/items=768
   BenchmarkItemsSketchFromSlice/string/items=768-12               50332        
     23517 ns/op         649.84 MB/s       48560 B/op        774 allocs/op
   PASS
   ```
   
   
   
   ## LongsSketch
   
   main:
   ```
   goos: darwin
   goarch: arm64
   pkg: github.com/apache/datasketches-go/frequencies
   cpu: Apple M4 Pro
   BenchmarkLongsSketchFromSlice
   BenchmarkLongsSketchFromSlice/items=48
   BenchmarkLongsSketchFromSlice/items=48-12             2753096               
429.0 ns/op      1864.97 MB/s        2064 B/op          7 allocs/op
   BenchmarkLongsSketchFromSlice/items=192
   BenchmarkLongsSketchFromSlice/items=192-12             774289              
1511 ns/op        2053.71 MB/s        7824 B/op          7 allocs/op
   BenchmarkLongsSketchFromSlice/items=768
   BenchmarkLongsSketchFromSlice/items=768-12             208054              
5727 ns/op        2151.25 MB/s       30864 B/op          7 allocs/op
   PASS
   ```
   
   
   PR:
   ```
   goos: darwin
   goarch: arm64
   pkg: github.com/apache/datasketches-go/frequencies
   cpu: Apple M4 Pro
   BenchmarkLongsSketchFromSlice
   BenchmarkLongsSketchFromSlice/items=48
   BenchmarkLongsSketchFromSlice/items=48-12             3277532               
352.7 ns/op      2268.47 MB/s        1296 B/op          5 allocs/op
   BenchmarkLongsSketchFromSlice/items=192
   BenchmarkLongsSketchFromSlice/items=192-12             978699              
1265 ns/op        2453.94 MB/s        4752 B/op          5 allocs/op
   BenchmarkLongsSketchFromSlice/items=768
   BenchmarkLongsSketchFromSlice/items=768-12             247640              
4888 ns/op        2520.38 MB/s       18576 B/op          5 allocs/op
   PASS
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to