I ported the code to MS Visual Studion 2015 and while storing large structures, I found that the slot storage as declared below was buggy (or not portable).
sizeof(std::aligned_storage<sizeof(T), alignof(T)>) is "1"
sizeof(std::aligned_storage<sizeof(T), alignof(T)>::type) was the proper size of my type "T".
I suspect that the type you tested were small enough to fit in the "padding" to prevent false sharing.
Hi,
I ported the code to MS Visual Studion 2015 and while storing large structures, I found that the slot storage as declared below was buggy (or not portable).
I fixed it by declaring as:
sizeof(std::aligned_storage<sizeof(T), alignof(T)>) is "1" sizeof(std::aligned_storage<sizeof(T), alignof(T)>::type) was the proper size of my type "T".
I suspect that the type you tested were small enough to fit in the "padding" to prevent false sharing.