speed of mpz_odd_p and lazy allocation
marc.glisse at inria.fr
Mon Aug 20 21:43:23 CEST 2012
On Mon, 20 Aug 2012, Gabriel Dos Reis wrote:
> On Mon, Aug 20, 2012 at 2:24 PM, Marc Glisse <marc.glisse at inria.fr> wrote:
>> This is perfectly fine, it is optimization n°2 for the case where the move
>> constructor throws, but the move assignment (swap) doesn't. It is unclear
>> whether this optimization will be implemented by any vendor. If mpz_init
>> allocates, it remains slow.
> What would be the basis for a vendor to assume that
> the elements from the old vector should be assigned
> as opposed to being copy constructed into the new vector?
Are you asking if it is legal to implement reserve() this way (after
detecting the right constructors/operators)? Or how we can guess if this
"optimization" is really an improvement?
More information about the gmp-devel