{"action":"created","issue":{"url":"https://api.github.com/repos/openMVG/openMVG/issues/1347","repository_url":"https://api.github.com/repos/openMVG/openMVG","labels_url":"https://api.github.com/repos/openMVG/openMVG/issues/1347/labels{/name}","comments_url":"https://api.github.com/repos/openMVG/openMVG/issues/1347/comments","events_url":"https://api.github.com/repos/openMVG/openMVG/issues/1347/events","html_url":"https://github.com/openMVG/openMVG/issues/1347","id":336744643,"node_id":"MDU6SXNzdWUzMzY3NDQ2NDM=","number":1347,"title":"Eigen Alignment","user":{"login":"NikolausDemmel","id":479562,"node_id":"MDQ6VXNlcjQ3OTU2Mg==","avatar_url":"https://avatars1.githubusercontent.com/u/479562?v=4","gravatar_id":"","url":"https://api.github.com/users/NikolausDemmel","html_url":"https://github.com/NikolausDemmel","followers_url":"https://api.github.com/users/NikolausDemmel/followers","following_url":"https://api.github.com/users/NikolausDemmel/following{/other_user}","gists_url":"https://api.github.com/users/NikolausDemmel/gists{/gist_id}","starred_url":"https://api.github.com/users/NikolausDemmel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NikolausDemmel/subscriptions","organizations_url":"https://api.github.com/users/NikolausDemmel/orgs","repos_url":"https://api.github.com/users/NikolausDemmel/repos","events_url":"https://api.github.com/users/NikolausDemmel/events{/privacy}","received_events_url":"https://api.github.com/users/NikolausDemmel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-06-28T19:11:06Z","updated_at":"2018-07-08T14:16:38Z","closed_at":null,"author_association":"NONE","body":"When working with the code I was wondering about how Eigen alignment is dealt with in OpenMVG.\r\n\r\nFor example, in https://github.com/openMVG/openMVG/blob/master/src/openMVG/types.hpp in the definition of `Hash_Map` the variant using `std::map` uses `Eigen::aligned_allocator`, but the variant using `std::unordered_map` does not. Briefly checking the usages of `Hash_Map`, it seems there might actually not be any instances where the alignment would actually be needed.\r\n\r\nIt seems the only types where `EIGEN_MAKE_ALIGNED_OPERATOR_NEW` is used are `TrifocalTensorModel` and `PointFeature` (+sub classes). The former does not appear in a hash map. The latter does, but it seems to me the alignment is actually not needed for `PointFeature`, since it has a single `Vec2f` member, which does not seem to be a vectorizable fixed-size Eigen type (size is 8 byte, which is no multiple of 16, see https://eigen.tuxfamily.org/dox/group__TopicFixedSizeVectorizable.html).\r\n\r\nSo is the aligned_allocator needed for `std::map`? And if so, why is it not used for `std::unordered_map`?"},"comment":{"url":"https://api.github.com/repos/openMVG/openMVG/issues/comments/403290811","html_url":"https://github.com/openMVG/openMVG/issues/1347#issuecomment-403290811","issue_url":"https://api.github.com/repos/openMVG/openMVG/issues/1347","id":403290811,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMzI5MDgxMQ==","user":{"login":"pmoulon","id":3235050,"node_id":"MDQ6VXNlcjMyMzUwNTA=","avatar_url":"https://avatars1.githubusercontent.com/u/3235050?v=4","gravatar_id":"","url":"https://api.github.com/users/pmoulon","html_url":"https://github.com/pmoulon","followers_url":"https://api.github.com/users/pmoulon/followers","following_url":"https://api.github.com/users/pmoulon/following{/other_user}","gists_url":"https://api.github.com/users/pmoulon/gists{/gist_id}","starred_url":"https://api.github.com/users/pmoulon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmoulon/subscriptions","organizations_url":"https://api.github.com/users/pmoulon/orgs","repos_url":"https://api.github.com/users/pmoulon/repos","events_url":"https://api.github.com/users/pmoulon/events{/privacy}","received_events_url":"https://api.github.com/users/pmoulon/received_events","type":"User","site_admin":false},"created_at":"2018-07-08T14:16:38Z","updated_at":"2018-07-08T14:16:38Z","author_association":"MEMBER","body":"@NikolausDemmel Any new comment?"}}
{"actor":{"display_login":"pmoulon"}}