-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix 'attempting to reference a deleted function' with MSVC #8258
Fix 'attempting to reference a deleted function' with MSVC #8258
Conversation
…ation error with MSVC for noexcept moveable BackwardBuilder
@niboshi remove |
Just for reference "Iteration on absl's tables is O(capacity), not O(size)." Can we measure how this change could impact performance? |
Another way around could be to |
Only if you want to implement move ctor manually. |
FYI, there are interesting sets of benchmarks about hashmap https://martin.ankerl.com/2019/04/01/hashmap-benchmarks-01-overview/ |
I will try to measure the effect on chainerX, from the links you posted, it actually seems that we could get more performance!! |
Actually only
|
@emcastillo @niboshi Any progress or suggestion? |
Sorry, I will look at it ASAP |
I just tested it with imagenet and resnet-50, performance remains exactly the same 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets fix Travis errors
Jenkins, test this please |
Jenkins CI test (for commit 4c78844, target branch master) succeeded! |
Jenkins, test this please |
Jenkins CI test (for commit 471e82c, target branch master) succeeded! |
Fixed #8192, Close #8193
This PR will suppress #8193.
noexcept(true) is not required for std::unordered_map, causing compilation error with MSVC for noexcept moveable BackwardBuilder. For more detail, please refers to microsoft/STL#165
So a simple fix is just replace
std::unordered_map
with noexcept guaranteed hash mapNote, according to https://www.ece.uvic.ca/~frodo/cppdraft/n4659/html/dcl.fct.def#delete-2
Deleted move assignment operator is still used, causing the program ill-formed, but seems both GCC and MSVC accept it.