Estou intrigado com o custo computacional do meu simulador. Tenho ele em duas linguagens: C++ e Fortran. Em C++ uso o Eclipse e em Fortran o Developer studio. Em Fortran uma simulação com 10000 pontos no tempo e 100 no espaço demora cerca de 10s. Em C++ demora cerca de 30s, quando não uso a biblioteca Eigen, e 3min quando a uso, mediante
#include <Eigen/Dense>
using namespace Eigen;
Preciso dela para o cálculo de autovalores e autovetores.
Não sei o que pode estar ocorrendo mas verifiquei alguns pontos importantes:
1) O arquivo .exe passa de menos de 1MB para 16MB quando incluo tal biblioteca, e a compilação passa de milissegundos para 12s.
2) Não consigo build and run com Release, somente Debug. Com Release dá erro.
3) Já rodei o executável fora do ambiente eclipse e fica sensivelmente mais rápido, no entanto, longe da rapidez do .exe gerado pelo Fortran.
4) Todo o meu código possui alocação dinâmica de vetores e matrizes. Só não sei se na biblioteca Eigen também é assim.
5) Salvei a pasta Eigen dentro de C:/MinGW/include.
Pergunta
Chris S
Fala pessoal,
Estou intrigado com o custo computacional do meu simulador. Tenho ele em duas linguagens: C++ e Fortran. Em C++ uso o Eclipse e em Fortran o Developer studio. Em Fortran uma simulação com 10000 pontos no tempo e 100 no espaço demora cerca de 10s. Em C++ demora cerca de 30s, quando não uso a biblioteca Eigen, e 3min quando a uso, mediante
#include <Eigen/Dense>
using namespace Eigen;
Preciso dela para o cálculo de autovalores e autovetores.
Não sei o que pode estar ocorrendo mas verifiquei alguns pontos importantes:
1) O arquivo .exe passa de menos de 1MB para 16MB quando incluo tal biblioteca, e a compilação passa de milissegundos para 12s.
2) Não consigo build and run com Release, somente Debug. Com Release dá erro.
3) Já rodei o executável fora do ambiente eclipse e fica sensivelmente mais rápido, no entanto, longe da rapidez do .exe gerado pelo Fortran.
4) Todo o meu código possui alocação dinâmica de vetores e matrizes. Só não sei se na biblioteca Eigen também é assim.
5) Salvei a pasta Eigen dentro de C:/MinGW/include.
Ficarei grato por sugestões ! =)
Forte abraço,
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.