알고리즘/기본코드

[입출력]04. 입출력 방법별 소요 시간 비교

  • -

백준 사이트에 입출력 속도 비교하는 내용이 있는데 유용한 자료같다.

https://www.acmicpc.net/blog/view/56

 

입력 속도 비교

여러가지 언어와 입력 방법을 이용해서 시간이 얼마나 걸리는지 비교해 보았습니다. 방법: 첫째 줄에 정수의 개수 N (= 10,000,000), 둘째 줄부터 N개의 줄에 한 개의 자연수(10,000 이하)가 적힌 파일

www.acmicpc.net

 

 

https://www.acmicpc.net/blog/view/57

 

출력 속도 비교

여러가지 언어와 출력 방법을 이용해서 시간이 얼마나 걸리는지 비교해 보았습니다. 방법: 총 N개의 줄에 1부터 10,000,000까지의 자연수를 한 줄에 하나씩 출력하는 시간을 측정. 10번 측정해서 평

www.acmicpc.net

 

이중 Java와 관련된 내용만 뽑아보면 아래와 같다.

 

입력 측정 방법: 첫째 줄에 정수의 개수 N (= 10,000,000), 둘째 줄부터 N개의 줄에 한 개의 자연수(10,000 이하)가 적힌 파일을 입력받는데 걸리는 시간을 측정. 10번 측정해서 평균값으로 순위를 매김

순위 언어 입력 방법 평균(초)
6 Java BufferedReader, Integer.parseInt 0.6585
17 Java Scanner 4.8448

 

출력 측정 방법: 총 N개의 줄에 1부터 10,000,000까지의 자연수를 한 줄에 하나씩 출력하는 시간을 측정. 10번 측정해서 평균값으로 순위를 매김

순위 언어 출력방법 평균(초)
7 Java BufferedWriter, bf.write(i + "\n"); 0.9581
10 Java StringBuilder를 이용해 문자열 하나로 만든 다음, System.out.println(sb); 1.1881
11 Java BufferedWriter, bf.write(Integer.toString(i)); bf.newLine(); 1.2556
18 Java PrintWriter 1.954
43 Java System.out.println(i); 30.013

입력은 워낙 차이가 많이 나기 때문에 BufferedReader를 사용하는데 이견이 없다.

출력의 경우 BufferedWriter를 쓰면 단순 출력보다는 조금 빨라지는데 코드가 상대적으로 복잡해지기 때문에 간단히 StringBuilder에 println 조합으로도 충분해보인다.

'알고리즘 > 기본코드' 카테고리의 다른 글

[재귀]01. 재귀 함수  (2) 2024.12.03
[입출력]예제 풀어보기  (0) 2024.12.01
[입출력]03. 출력과 포멧  (1) 2024.11.29
[입출력]02. BufferedReader 활용  (0) 2024.11.28
[입출력]01. Scanner  (0) 2024.11.27
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.