Closed Coresummer closed 1 year ago
I've used OpenMP for aggregation. It seems faster. https://github.com/herumi/bls-go-binary/blob/Coresummer-dev/bls/bls_mt.go
But this code does not run on Mac (the OpenMP option is different).
I think that it is better to divide the given array into two or four parts and apply blsAggregateSignature. I'll try it if I have time.
Add bls-go-binary/bls/bls.go/AggregateMT() function. By following execution time data on Raspberry pi4(4GB)
AggregateMT seems stably faster than regular Aggregate function.
Note: this function doesn't work faster than regular Appgregate() on high spec CPU like Corei7-10710U or Corei9-9900k Probably the reason why is because of the overhead of multi-threading is bigger than its benefit on such high clock cpu. Haven't try on Xeon(something 128 threads cpu), but I got a good feeling about that it might work also faster than the regular Aggregation function.