C++의 텍스트 파일과 동일한 크기의 5 ~ 6 개의 큰 배열을 작성해야합니다. 모든 배열을 텍스트 파일에 쓰기 위해 하나의 "for 루프"만 사용하고 있습니다. 다음은 내가 사용하고있는 코드입니다. 여기C++의 텍스트 파일에 배열 쓰기
ofstream kx_ecl("COARSE_PERMX.GRDECL");
ofstream ky_ecl("COARSE_PERMY.GRDECL");
ofstream kz_ecl("COARSE_PERMZ.GRDECL");
ofstream ntg_c("COARSE_NTG.GRDECL");
ofstream phi_c("COARSE_PORO.GRDECL");
ofstream multbv("MULTBRV.GRDECL");
kx_ecl<<"PERMX"<<endl;
ky_ecl<<"PERMY"<<endl;
kz_ecl<<"PERMZ"<<endl;
ntg_c<<"NTG"<<endl;
phi_c<<"PORO"<<endl;
multbv<<"MULTBRV"<<endl;
for (i=0;i<N;i++) {
kx_ecl<<new_KX[i]<<endl;
ky_ecl<<new_KY[i]<<endl;
kz_ecl<<new_KZ[i]<<endl;
ntg_c<<new_NTG[i]<<endl;
phi_c<<new_por[i]<<endl;
multbv<<MULTBRV[i]<<endl;
}
kx_ecl<<"/";
ky_ecl<<"/";
kz_ecl<<"/";
ntg_c<<"/";
phi_c<<"/";
multbv<<"/";
kx_ecl.close();
ky_ecl.close();
kz_ecl.close();
ntg_c.close();
phi_c.close();
multbv.close();
내 질문은 I 출력 하나 개별적으로 하나 그들 각각의 경우에 루프 많은이 있거나 그대로두고한다면 그것은 더 빨리이다. 또한 for 루프를 사용하지 않고 파일에 배열을 쓰는 방법이 있습니까? 파일에 대한 출력이 내 코드의 실제 계산과 비교하여 많은 시간이 걸리기 때문에 묻습니다.
필자가 볼 수있는 유일한 차이점은 각 파일이 한꺼번에 순차적으로 생성된다는 것입니다. 예, 일부 파일은 더 빨리 작성되지만 총 시간은 동일하게 유지되어야합니다. –
이 컨텍스트에서 "더 빠름"을 묻는 것은 의미가 없습니다. 그것은 여러 가지 요인에 달려 있습니다. 그러나 일반적으로 다른 모든 파일이 순차적으로 하나의 파일을 순차적으로 쓰고 다음 파일을 연속적으로 쓰는 등 CPU와 디스크 캐싱이 향상되고 검색 시간과 파일 조각화를 줄일 수 있습니다. 또는 파일이 너무 작아서 이러한 효과가 나타나지 않는다면 어떤 방법이 더 빠릅니까? – hyde