023. String Operator
반응형

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를 써야하는 이유가 확실해졌다.....

 

TestProject.zip
0.08MB

반응형