Skip to content

Commit b60f55d

Browse files
committed
Added SoA-like access (faster)
1 parent cb09c0e commit b60f55d

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

benchmark.h

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,22 @@
1717

1818
#include <iostream>
1919

20+
/* AoS-like access */
21+
// #ifdef SOA_BOOST
22+
// #define MEMBER_ACCESS(OBJ, MEMBER, INDEX) OBJ[INDEX].MEMBER()
23+
// #elif defined(SOA_MANUAL)
24+
// #define MEMBER_ACCESS(OBJ, MEMBER, INDEX) OBJ.MEMBER[INDEX]
25+
// #else
26+
// #define MEMBER_ACCESS(OBJ, MEMBER, INDEX) OBJ[INDEX].MEMBER
27+
// #endif
28+
29+
/* SoA-like access */
2030
#ifdef SOA_BOOST
21-
#define MEMBER_ACCESS(OBJ, MEMBER, INDEX) OBJ[INDEX].MEMBER()
31+
#define MEMBER_ACCESS(OBJ, MEMBER, INDEX) OBJ.MEMBER()[INDEX]
2232
#elif defined(SOA_MANUAL)
2333
#define MEMBER_ACCESS(OBJ, MEMBER, INDEX) OBJ.MEMBER[INDEX]
2434
#else
25-
#define MEMBER_ACCESS(OBJ, MEMBER, INDEX) OBJ[INDEX].MEMBER
35+
#define MEMBER_ACCESS(OBJ, MEMBER, INDEX) OBJ.MEMBER[INDEX]
2636
#endif
2737

2838
using Vector3D = Eigen::Vector3d;

0 commit comments

Comments
 (0)