반응형
String Operator다.
말이 어렵지..
그냥 string 에 string 더하는 연산..........
즉 "A" + "B" = "AB" 이거...
이거를 어떻게 진행하느냐.... 어렵지 않지... 고냥...
1
2
3
|
string A = "A";
string B = "B";
string C = A + C;
|
cs |
이게 끝........
이리 쉬운걸 왜 포스팅을............
근데 만약 이런 작업이 10000번을 수행한다면??
그래도 뭐 문제없이 작동은 된다... 하지만.... 시간이??
그래 10000번은 좀 기다린다 치자... 그러다면 100000번 해야한다면?
사실 이런 경우를 안만드는게 가장 베스트겠지... 하지만 굳이 수행해야한다면..??
stringbuilder를 사용하면 그나마 string Operator가 빠르게 수행된다.
예시를 보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
int length = 100000;
string A_STRING = string.Empty;
Stopwatch SW = new Stopwatch();
SW.Start();
for (int i = 0; i < length; i++)
{
A_STRING += "A";
}
SW.Stop();
Console.WriteLine("String Operator : " + SW.ElapsedMilliseconds.ToString());
SW = new Stopwatch();
StringBuilder B_STRING = new StringBuilder();
SW.Start();
for (int i = 0; i < length; i++)
{
B_STRING.Append("A");
}
SW.Stop();
Console.WriteLine("StringBuilder Operator : " + SW.ElapsedMilliseconds.ToString());
|
cs |
10만번 수행하는 경우다... 이러한 경우... 초가 어떻게 될까...
답은 이렇다
+ 연산을 수행할 시에는 1.7초가량이 걸리고...
stringbuilder의 경우 계산이 되지 않는다.
엄청난 차이이지 않을까.... 만약 50만번을 한다면??
+연산은 58초가 걸렸고.. stringbuilder 연산의 경우 0.001초가 걸렸다...
이제 stringbuilder를 써야하는 이유가 확실해졌다.....
반응형