인프런 커뮤니티 질문&답변
16강 질문있습니다.
작성
·
11
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
package io.buffered;
import java.io.FileInputStream;
import java.io.IOException;
import static io.buffered.BufferedConst.BUFFER_SIZE;
import static io.buffered.BufferedConst.FILE_NAME;
public class ReadFileV2 {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream(FILE_NAME);
long startTime = System.currentTimeMillis();
byte[] buffer = new byte[BUFFER_SIZE];
int fileSize = 0;
int size;
while ((size = fis.read(buffer)) != -1) {
fileSize += size;
}
fis.close();
long endTime = System.currentTimeMillis();
System.out.println("File name: " + FILE_NAME);
System.out.println("File size: " + fileSize / 1024 / 1024 + "MB");
System.out.println("Time taken: " + (endTime - startTime) + "ms");
}
}
이 코드를 컴파일했을 때 Time taken이 6ms 언저리로 자꾸 나오는데 컴퓨터마다 다 다르게 찍히는 건가요? 강의에서는 1ms로 나와서 제가 타이핑을 잘못했나 싶어서 여쭤봅니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. lgh8079님.
코드를 작성하고 컴파일한 결과 시간 측정이 다르게 나오는 이유에 대해 고민이 있으신 것 같습니다. 시간 측정 결과는 여러 요인에 의해 영향을 받을 수 있습니다. 몇 가지 가능성을 살펴보겠습니다:
하드웨어 차이: 컴퓨터의 CPU 성능, 메모리 속도, 디스크 I/O 속도 등 하드웨어 사양에 따라 시간 측정 결과가 차이가 날 수 있습니다.
백그라운드 작업: 다른 애플리케이션이나 시스템 작업들이 백그라운드에서 실행 중이라면, I/O 작업에 영향을 미쳐 시간이 더 소요될 수 있습니다.
파일 시스템 상태: 파일 시스템의 상태나 파일 접근 속도 또한 시간 측정에 영향을 줄 수 있습니다. 예를 들어, 파일이 저장된 디스크의 상태 및 경로는 접근 시간을 변동시킬 수 있습니다.
파일 크기 및 내용: 읽어들이는 파일의 크기나 내용이 각 환경에서 다를 경우, 자연스럽게 처리 시간에도 차이가 생길 수 있습니다. 실험을 위해 사용된 파일이 강의에서 사용된 파일과 동일한지 확인해 주시기 바랍니다.
결론적으로, 컴퓨터 환경에 따라 시간 측정 결과가 달라질 수 있습니다. 이를 감안하여 코드를 작성하시면 좋을 것입니다.
비슷한 사례나 추가적인 팁, 트릭 등을 확인할 수 있는 기존 질문 답변을 아래의 링크를 통해 살펴보시길 추천드립니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





