강좌 & 팁
글 수 2,412
2014.11.16 16:52:01 (*.231.234.96)
40975
문득 이런 생각이 들었습니다.
문자열에서 숫자로 변환하는게 빠른지 숫자에서 문자열로 변환하는게 빠른지가 궁금해졌습니다.
말그대로 테스트는 이렇습니다.
String -> int : String.valueOf(1);
int -> String : Integer.valueOf("1");
테스트는 for문을 사용하여 10000번의 루프를 돌면서 변환 하도록 하는 아주 간단한 프로그램 입니다.
컴퓨터 사양은 아래와 같습니다.
CPU : i7 3.40GHz
메모리:8G
Java : 1.7_50 32bit
[소스]
public class StringVsInt { public static void main(String[] args) { testIntString(); testStringToInt(); } public static void testIntString() { System.out.println("----------------------------"); long startTime = System.nanoTime(); for (int i = 0; i < 10000; i++) { String data = String.valueOf(1); } long endTime = System.nanoTime(); long lTime = endTime - startTime; System.out.println("Int to String TIME : " + lTime/1000000.0 + "(ms)"); System.out.println("----------------------------\n"); } public static void testStringToInt() { System.out.println("----------------------------"); long startTime = System.nanoTime(); for (int i = 0; i < 10000; i++) { int data = Integer.valueOf("1"); } long endTime = System.nanoTime(); long lTime = endTime - startTime; System.out.println("String to Int TIME : " + lTime/1000000.0 + "(ms)"); System.out.println("----------------------------\n"); } }
[실행 결과]
테스트한 결과 숫자를 문자열로 변환하는게 더 빠르게 나왔습니다.
시간으로 봤을때 얼마 걸리지는 않지만, 왠만하면 숫자값으로만 사용하도록 프로그램을 해야 겠네요..^^;
다음 시간은 ARM7에서는 어떤 결과가 나오는지 알아보도록 하겠습니다.
감사합니다.