몇 시간에서 며칠까지 걸릴 수있는 몇 가지 긴 시뮬레이션을 수행 중이며 정보를 파일에 기록하고 있습니다. 파일은 수백 MB의 크기에 도달 할 수 있으며 내부에는 숫자 목록 만 있습니다. 나는 이것이 원래 발생하는 오버 헤드에 대해 정말로 우려하고있다. 나는이 방법을 사용하는 오버 헤드가 정말로 큰지 물어보고 싶습니다. 동일한 작업을 수행하는 다른 더 효율적인 방법이 있다면 그냥 정보를 기록하십시오.파일의 로그 정보 오버 헤드
저는 C++을 사용하고 있으며 파일을 기록하기 위해 fprintf의 일반적인 방법을 사용합니다. 오버 헤드를 설명하기 위해 비슷한 예제를 사용할 수 있다면 이번에는 파일을 사용하지 않고이 파일을 사용하는 것이 이상적입니다.
나는 몇 가지 테스트를했지만 오버 헤드는 파일의 크기와 직선적 성장 있을지 모른다. 내가 말하는 것은 1Gb 크기의 파일보다 1Mb 크기의 파일에 줄을 추가하는 것이 같지 않을 수도 있다는 것입니다. 누구든지 오버 헤드가 파일의 크기와 함께 증가하는 방법을 알고 있습니까?.
안녕하세요, 네가 대답 해 주신 데 대해 감사드립니다. 궁금한 점이 있거나 나중에 질문을하는 사용자에게 도움이 될 수 있는지에 대한 가이드 라인을 제공해 줄 수 있습니까? – Eduardo
"효율적"이라는 말은 다소 모호하지만 일반적으로 자원을 적게 사용하면서 더 많은 일을하려고합니다. 따라서 일반적으로 병목 현상에 중점을 둡니다. 디스크에 너무 많이 쓰고 있니? 적게 기록하십시오. 또는 적은 공간을 사용하는 이진 형식으로 로그인하십시오. 또는 디스크에 쓰지 마십시오. 램 디스크 나 네트워크 드라이브 등에 쓰기. – Nathan
또한 사용하지 않는 리소스에주의하십시오. 약간의 메모리 사용으로 프로세스가 CPU 기반입니까? 작업이 완료 될 때까지 모든 로그를 메모리에 저장할 수 있습니다. 프로세스는 메모리를 많이 사용하지만 CPU는 가벼운가요?디스크에 기록하기 전에 CPU 집약적 인 압축 도구를 통해 로깅을 파이프하십시오. – Nathan