Copying has been replaced with the compiler optimised Clone trait.
Unnecessary variables have been removed where possible.
Constructors have been improved, to take ownership of variables rather than references and copies.
Additional Comments
The speedup is about 5-10% for bls381 signing and verifying and will likely be similar for other curves and protocols.
The compiler optimises out unnecessary memory allocations in clone() resulting in an optimised copy for stack allocated items (which is nearly all structs used in amcl). Thus overall memory consumption should equivalent or at least very comparable.
What has been changed
Clone
trait.Additional Comments
bls381
signing and verifying and will likely be similar for other curves and protocols.clone()
resulting in an optimised copy for stack allocated items (which is nearly all structs used inamcl
). Thus overall memory consumption should equivalent or at least very comparable.