#include <chrono>#include <iostream>#include <Eigen/Dense>EIGEN_DONT_INLINEdoublesimple_function(Eigen::VectorXd&va,Eigen::VectorXd&vb){// this simple function computes the dot product of two vectors// of course it could be expressed more compactlydouble d =va.dot(vb);return d;}intmain(){int len =1000000;int num_repetitions =100;// generate two random vectorsEigen::VectorXd va =Eigen::VectorXd::Random(len);Eigen::VectorXd vb =Eigen::VectorXd::Random(len);double result;auto start =std::chrono::system_clock::now();for(auto i =0; i < num_repetitions; i++){ result =simple_function(va, vb);}auto end =std::chrono::system_clock::now();auto elapsed_seconds = end - start;std::cout <<"result: "<< result <<std::endl;std::cout <<"elapsed seconds: "<<elapsed_seconds.count()<<std::endl;}