Opened 9 years ago

Last modified 9 years ago

#9231 closed Bugs

Suboptimal assignment — at Initial Version

Reported by: Domagoj Šarić Owned by:
Milestone: To Be Determined Component: multiprecision
Version: Boost 1.54.0 Severity: Optimization
Keywords: Cc:

Description

Hi, we're using your MP library, with the cpp_int_backend and fixed sized numbers, along with the "Maybe Boost Hash" library to implement lightweight RSA signature verification (previously done with LibTomCrypt+LibTomMath), so first of all thanks for making this possible ;)

Unless otherwise stated, always assume I'm using MSVC10 32bit (with /Oxs /GL /LTCG) with the above use case (fixed size cpp_ints)...

Now, onto the issues ;D

I would expect do_assign() to simply evaluate to simply std::memcpy, however it does not:

  • it seems that the this->resize(other.size(), other.size()); call fails to resolve to a nop (check your code)
  • why are you using "checked std::copy" instead of a straigh std::memcpy?

ps. MSVC has a very nice debugger and disassembly window so I'll refrain from posting codegen in any of my tickets.

Change History (0)

Note: See TracTickets for help on using tickets.