C# 객체 생성 성능
파이프로 분리된 4개의 컬럼, 18만라인을 읽어서 List에 넣었더니... 한참걸린다.
아래를 객체생성 루프이다.
GC가 일어날때를 제외하고는 struct이 훨씬 빠르다.(물론 Object의 장점은 모두 없어진다.)
하지만, 생각했던 성능이 안나와서 텍스트를 라인별로 string 객체 ArrayList로 만들어 검색할때, 해당 구문이 있으면 객체로 만들어 리턴하게 했다.
아래를 객체생성 루프이다.
GC가 일어날때를 제외하고는 struct이 훨씬 빠르다.(물론 Object의 장점은 모두 없어진다.)
class Program { class MyObject { public string Col1 { set; get; } public string Col2 { set; get; } public string Col3 { set; get; } public string Col4 { set; get; } } struct MyStruct { public string Col1; public string Col2; public string Col3; public string Col4; } static void Main(string[] args) { { ArrayList mylist = new ArrayList(); DateTime p = DateTime.Now; for (int i = 0; i < 2000000; i++) { MyObject m = new MyObject(); m.Col1 = "1"; m.Col2 = "2"; m.Col3 = "3"; m.Col4 = "4"; mylist.Add(m); } TimeSpan diff = DateTime.Now - p; Console.WriteLine("걸린시간 : " + diff.Milliseconds); } { ArrayList mylist = new ArrayList(); DateTime p = DateTime.Now; for (int i = 0; i < 2000000; i++) { MyStruct m = new MyStruct(); m.Col1 = "1"; m.Col2 = "2"; m.Col3 = "3"; m.Col4 = "4"; mylist.Add(m); } TimeSpan diff = DateTime.Now - p; Console.WriteLine("걸린시간 : " + diff.Milliseconds); } } }
하지만, 생각했던 성능이 안나와서 텍스트를 라인별로 string 객체 ArrayList로 만들어 검색할때, 해당 구문이 있으면 객체로 만들어 리턴하게 했다.
댓글
댓글 쓰기