매우 일반적입니다 c++
질문입니다. (그들은 같은 일을)은 다음 두 블록을 고려 :임시 변수가 포함 된 한 줄짜리 줄을 여러 줄로 나눠서 성능에 영향을 줄 수 있습니까?
v_od=((x-wOut*svd.matrixV().topLeftCorner(p,Q).adjoint()).cwiseAbs2().rowwise().sum()).array().sqrt();
및
MatrixXd wtemp=(x-wOut*svd.matrixV().topLeftCorner(p,Q).adjoint());
v_od=(wtemp.cwiseAbs2().rowwise().sum()).array().sqrt();
지금 첫 번째 구조
이보다 효율적으로 느낀다. 그러나 사실, 또는 C++ 컴파일러 같은 것들을 컴파일 할 것이라고 (나는 컴파일러가 좋은 가정하고 모든 안전한 최적화 플래그가 설정되어 있습니다.) 인수에 대한
wtemp
가벼운 크기, 매트릭스 모든 100k 요소와 함께)?
나는 이것에 대한 일반적인 답은 '벤치마킹이며 다시 우리에게 와야한다'는 것을 알고있다. 하지만 나는 일반적인 대답을 원한다.
"하지만 일반적인 답을 원합니다." 이 질문에 대한 일반적인 대답이 '벤치마킹 및 다시 돌아 오는 것'인 이유는 무엇입니까? – Borgleader
나는 모든 관행을 벤치마킹 할 필요가 없다는 점을 채택 할 실천 지침을 찾고 있습니다. .. – user189035
제목을 편집했습니다. 괜찮습니다. 나는 지금 그것이 훨씬 더 좋게 들리고 당신이 의미하는 바를 정확히 묻는 것 같아요. 동의하지 않으면 다시 편집 해주십시오. – quetzalcoatl