Eigen matrix multiplication is much less efficient than for loop traversal
#include <Eigen/Dense> #include <iostream> #include <random> #include <chrono> int main() { const int num_points = 300000000; Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic> init_points(num_points, 3); Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic> transformed_points(num_points, 3); std::mt19937 rng(42); std::uniform_real_distribution<float> dist(-100.0f, 100.0f); for (int i = 0; i < num_points; ++i) { init_points(i, 0) = dist(rng); // x init_points(i, 1) = dist(rng); // y init_points(i, 2) […]