This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Unusually slow compilation in VS2019 v16.1.4 Eigen 3.3.7

Tags: None
(comma "," separated)
xDreamer
Registered Member
Posts
1
Karma
0
Hi Folks,
I recently upgraded an existing project to VS2019 v16.1.4 and Eigen 3.3.7. The debug compilation time is about a minute and 40 seconds, but the release build with /O2 and /Ob2 switches is taking more than an hour and a half. The release build on the previous environment with VS2017 v15.7 and Eigen 3.3.5 was about 3 or 4 minutes.

I ran the compilation with /d2cgsummary https://devblogs.microsoft.com/cppblog/visual-studio-2017-throughput-improvements-and-advice/ switch to find out which part of the code is taking most of the compilation time, here is a section of the output de-mangled:

Code Generation Summary
Total Function Count: 14809
Elapsed Time: 6250.830 sec
Total Compilation Time: 9063.127 sec
Average time per function: 0.612 sec
Anomalistic Compile Times: 20

"public: static void __cdecl Eigen::internal::copy_using_evaluator_DefaultTraversal_CompleteUnrolling<class Eigen::internal::generic_dense_assignment_kernel<struct Eigen::internal::evaluator<class Eigen::Matrix<double,3,3,0,3,3> >,struct Eigen::internal::evaluator<class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > >,struct Eigen::internal::assign_op<double,double>,0>,0,9>::run(class Eigen::internal::generic_dense_assignment_kernel<struct Eigen::internal::evaluator<class Eigen::Matrix<double,3,3,0,3,3> >,struct Eigen::internal::evaluator<class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > >,struct Eigen::internal::assign_op<double,double>,0> & __ptr64)": 295.986 sec, 2053 instrs

"public: static void __cdecl Eigen::internal::generic_product_impl<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,struct Eigen::DenseShape,struct Eigen::DenseShape,3>::evalTo<class Eigen::Matrix<double,3,3,0,3,3> >(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::Matrix<double,3,3,0,3,3> const & __ptr64,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > const & __ptr64)": 270.717 sec, 2582 instrs

"void __cdecl Eigen::internal::call_assignment_no_alias<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0>,struct Eigen::internal::assign_op<double,double> >(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0> const & __ptr64,struct Eigen::internal::assign_op<double,double> const & __ptr64)": 265.779 sec, 2582 instrs

"protected: class Eigen::Matrix<double,3,3,0,3,3> & __ptr64 __cdecl Eigen::PlainObjectBase<class Eigen::Matrix<double,3,3,0,3,3> >::_set_noalias<class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0> >(class Eigen::DenseBase<class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0> > const & __ptr64) __ptr64": 264.965 sec, 2584 instrs

"protected: __cdecl Eigen::PlainObjectBase<class Eigen::Matrix<double,3,3,0,3,3> >::PlainObjectBase<class Eigen::Matrix<double,3,3,0,3,3> ><class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0> >(class Eigen::DenseBase<class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0> > const & __ptr64) __ptr64": 260.545 sec, 2584 instrs

"public: __cdecl Eigen::Matrix<double,3,3,0,3,3>::Matrix<double,3,3,0,3,3><class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0> >(struct Eigen::EigenBase<class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0> > const & __ptr64) __ptr64": 257.790 sec, 2584 instrs

"public: static void __cdecl Eigen::internal::Assignment<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0>,struct Eigen::internal::assign_op<double,double>,struct Eigen::internal::Dense2Dense,void>::run(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,0> const & __ptr64,struct Eigen::internal::assign_op<double,double> const & __ptr64)": 257.360 sec, 2582 instrs

"public: static void __cdecl Eigen::internal::Assignment<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1>,struct Eigen::internal::assign_op<double,double>,struct Eigen::internal::Dense2Dense,void>::run(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1> const & __ptr64,struct Eigen::internal::assign_op<double,double> const & __ptr64)": 256.423 sec, 2536 instrs

"void __cdecl Eigen::internal::call_dense_assignment_loop<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1>,struct Eigen::internal::assign_op<double,double> >(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1> const & __ptr64,struct Eigen::internal::assign_op<double,double> const & __ptr64)": 255.710 sec, 2536 instrs

"void __cdecl Eigen::internal::call_assignment_no_alias<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1>,struct Eigen::internal::assign_op<double,double> >(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1> const & __ptr64,struct Eigen::internal::assign_op<double,double> const & __ptr64)": 254.447 sec, 2536 instrs

"protected: void __cdecl Eigen::PlainObjectBase<class Eigen::Matrix<double,3,3,0,3,3> >::_init1<class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > >(class Eigen::DenseBase<class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > > const & __ptr64) __ptr64": 252.345 sec, 2118 instrs

"public: static void __cdecl Eigen::internal::dense_assignment_loop<class Eigen::internal::generic_dense_assignment_kernel<struct Eigen::internal::evaluator<class Eigen::Matrix<double,3,3,0,3,3> >,struct Eigen::internal::evaluator<class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > >,struct Eigen::internal::assign_op<double,double>,0>,0,2>::run(class Eigen::internal::generic_dense_assignment_kernel<struct Eigen::internal::evaluator<class Eigen::Matrix<double,3,3,0,3,3> >,struct Eigen::internal::evaluator<class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > >,struct Eigen::internal::assign_op<double,double>,0> & __ptr64)": 250.120 sec, 2053 instrs

"protected: class Eigen::Matrix<double,3,3,0,3,3> & __ptr64 __cdecl Eigen::PlainObjectBase<class Eigen::Matrix<double,3,3,0,3,3> >::_set_noalias<class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > >(class Eigen::DenseBase<class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > > const & __ptr64) __ptr64": 244.179 sec, 2132 instrs

"public: __cdecl Eigen::internal::product_evaluator<class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1>,3,struct Eigen::DenseShape,struct Eigen::DenseShape,double,double>::product_evaluator<class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1>,3,struct Eigen::DenseShape,struct Eigen::DenseShape,double,double>(class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1> const & __ptr64) __ptr64": 241.834 sec, 2169 instrs

"public: __cdecl Eigen::internal::evaluator<class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1> >::evaluator<class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1> >(class Eigen::Product<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,1> const & __ptr64) __ptr64": 241.424 sec, 2169 instrs

"public: __cdecl Eigen::Matrix<double,3,3,0,3,3>::Matrix<double,3,3,0,3,3><class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > >(class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > const & __ptr64) __ptr64": 240.796 sec, 2132 instrs

"public: static void __cdecl Eigen::internal::Assignment<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,struct Eigen::internal::assign_op<double,double>,struct Eigen::internal::Dense2Dense,void>::run(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > const & __ptr64,struct Eigen::internal::assign_op<double,double> const & __ptr64)": 237.743 sec, 2118 instrs

"void __cdecl Eigen::internal::call_dense_assignment_loop<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,struct Eigen::internal::assign_op<double,double> >(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > const & __ptr64,struct Eigen::internal::assign_op<double,double> const & __ptr64)": 237.545 sec, 2118 instrs

"void __cdecl Eigen::internal::call_assignment_no_alias<class Eigen::Matrix<double,3,3,0,3,3>,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const >,struct Eigen::internal::assign_op<double,double> >(class Eigen::Matrix<double,3,3,0,3,3> & __ptr64,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_difference_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_identity_op<double>,class Eigen::Matrix<double,3,3,0,3,3> > const ,class Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::Product<class Eigen::Matrix<double,3,1,0,3,1>,class Eigen::Transpose<class Eigen::Matrix<double,3,1,0,3,1> const >,0> const ,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,3,0,3,3> const > const > const > const & __ptr64,struct Eigen::internal::assign_op<double,double> const & __ptr64)": 232.960 sec, 2118 instrs

Serialized Initializer Count: 10
Serialized Initializer Time: 0.011 sec

RdrReadProc Caching Stats
Functions Cached: 803
Retrieved Count: 1223009
Abandoned Retrieval Count: 0
Abandoned Caching Count: 31
Wasted Caching Attempts: 0
Functions Retrieved at Least Once: 798
Functions Cached and Never Retrieved: 5
Most Hits:
"public: struct __m128d const __cdecl Eigen::internal::scalar_sum_op<double,double>::packetOp<struct __m128d>(struct __m128d const & __ptr64,struct __m128d const & __ptr64)const __ptr64": 440974

"struct __m128d __cdecl Eigen::internal::padd<struct __m128d>(struct __m128d const & __ptr64,struct __m128d const & __ptr64)": 221808

"public: static __int64 __cdecl Eigen::internal::variable_if_dynamic<__int64,3>::value(void)": 24159

"public: class Eigen::Matrix<double,3,3,0,3,3> const & __ptr64 __cdecl Eigen::EigenBase<class Eigen::Matrix<double,3,3,0,3,3> >::derived(void)const __ptr64": 19398

"void __cdecl Eigen::internal::ignore_unused_variable<__int64>(__int64 const & __ptr64)": 17448

"public: static __int64 __cdecl Eigen::internal::variable_if_dynamic<__int64,1>::value(void)": 16524

"public: class Eigen::Matrix<double,3,1,0,3,1> const & __ptr64 __cdecl Eigen::EigenBase<class Eigen::Matrix<double,3,1,0,3,1> >::derived(void)const __ptr64": 12846

"public: static __int64 __cdecl Eigen::internal::variable_if_dynamic<__int64,4>::value(void)": 12623

"public: static __int64 __cdecl Eigen::DenseStorage<double,9,3,3,0>::cols(void)": 11086

"public: static __int64 __cdecl Eigen::DenseStorage<double,9,3,3,0>::rows(void)": 10969

"protected: __cdecl Eigen::internal::noncopyable::~noncopyable(void) __ptr64": 10950

Least Hits:
"public: __int64 __cdecl Eigen::PlainObjectBase<class Eigen::Matrix<double,1,3,1,1,3> >::rows(void)const __ptr64": 0

"public: __int64 __cdecl Eigen::PlainObjectBase<class Eigen::Matrix<double,1,3,1,1,3> >::cols(void)const __ptr64": 0

"public: __int64 __cdecl Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,1,0,3,1> const > const ,class Eigen::Matrix<double,3,1,0,3,1> const >::cols(void)const __ptr64": 0

"public: __int64 __cdecl Eigen::CwiseBinaryOp<struct Eigen::internal::scalar_product_op<double,double>,class Eigen::CwiseNullaryOp<struct Eigen::internal::scalar_constant_op<double>,class Eigen::Matrix<double,3,1,0,3,1> const > const ,class Eigen::Matrix<double,3,1,0,3,1> const >::rows(void)const __ptr64": 0

"double __cdecl Eigen::numext::conj<double>(double const & __ptr64)": 0

"public: __int64 __cdecl Eigen::TransposeImpl<class Eigen::Block<class Eigen::Matrix<double,3,3,0,3,3> const ,-1,1,0> const ,struct Eigen::Dense>::innerStride(void)const __ptr64": 1

"public: static __int64 __cdecl Eigen::DenseStorage<double,3,1,3,1>::cols(void)": 1

"public: __int64 __cdecl Eigen::TransposeImpl<class Eigen::Block<class Eigen::Matrix<double,3,3,0,3,3> const ,-1,1,0> const ,struct Eigen::Dense>::outerStride(void)const __ptr64": 1

"public: __int64 __cdecl Eigen::TransposeImpl<class Eigen::Block<class Eigen::Matrix<double,4,4,0,4,4> const ,-1,1,0> const ,struct Eigen::Dense>::outerStride(void)const __ptr64": 1

"public: __int64 __cdecl Eigen::TransposeImpl<class Eigen::Block<class Eigen::Matrix<double,4,4,0,4,4> const ,-1,1,0> const ,struct Eigen::Dense>::innerStride(void)const __ptr64": 1

"public: __int64 __cdecl Eigen::MapBase<class Eigen::Block<class Eigen::Matrix<double,3,1,0,3,1>,-1,1,0>,0>::rows(void)const __ptr64": 1


I was wondering if anyone faced the same problem.
Any thoughts?

Thanks


Bookmarks



Who is online

Registered users: Bing [Bot], Evergrowing, Google [Bot], rblackwell