https://github.com/dotnet/BenchmarkDotNet
์ ๋ํฐ ๋ฅ ํ๋กํ์ผ๋ง์ ์ข๋ค.
๊ทผ๋ฐ ํน์ ํจ์๊ฐ ๋ฌด๊ฒ๋ค! ๋ผ๊ณ ํ๋ ๊ฑธ ์์๋๋ค ํ๋๋ผ๋
ํด๋น ํจ์๋ง ์ฃฝ์ด๋ผ ๋๋ ค์ ์ค์ ๋ถํ๋ฅผ ์ธก์ ํด๋ผ ํ์๋ ์ฌ์ ํ ์์.
๊ทธ๋ด ๋ ์ด๋ฐ ๊ฑธ ์จ๋ณด๋ฉด ์ด๋จ๊น?
(๋ณธ๊ฒฉ ์ฝํ์ด ๋ฉํธ)
(์ฑ๊ธ๋ฒ๊ธ ์๋ ๋ฌํฝ์ด๊ฐ ๋๋ฅผ ๋ณด๋ ๊ฒ ๊ฐ๋ค. ์ด์ฌํ ๋ฌ๋ ค๋ดค์ ๋๋ คํฐ์ง ๋ถ์ํ ๋ฌํฝ์ด...)
BenchmarkDotNet์ ๋ชจ๋ ๋ฐํ์์์ ๋ฒค์น ๋งํฌ๋ฅผ ์๋์ผ๋ก ์คํํ๊ณ ์ธก์ ์ ์ง๊ณํ๋ฉฐ ๊ฐ์ฅ ์ค์ํ ์ ๋ณด๊ฐ์๋ ์์ฝ ํ
์ด๋ธ์ ์ธ์ํฉ๋๋ค.
์ธก์ ๋ ๋ฐ์ดํฐ๋ ํ๋กฏ(?)์ ํฌํจํ์ฌ ๋ค๋ฅธ ํ์ (md, html, csv, xml, json ๋ฑ)์ผ๋ก ๋ด๋ณด๋ผ ์ ์์ต๋๋ค.
์ ์๋ฐ ์กด๋ ์ข๋ฌธ๊ฐ ํ์ธํ๊ฒ ์ข๊ฒ ์๊ฒผ๋ค ๊ทธ์น?
๊ทผ๋ฐ ์ฐ๋ฆฌ์๊ฒ ํ์ํ ๊ฑด ๊ทธ๋ฅ ms ๋ ๋ฉ๋ชจ๋ฆฌGC์ซ์ ๋๊ฐ๋ฉด ๋๋ค. ์ด๋ด๊ฑด ํจ์คํ์.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
์ฌ์ฉ๋ฒ
๋๊ฒ ๊ฐ๋ฉด ์์. ์ค์นํ๊ณ ์ถ์ ํ๋ก์ ํธ์ ๊ฝ์.
๋จ ๋ค๋ฅธ ๊ฒ๋ค (์ด ๋๊ฒ์ด ํ์๋ก ํ๋๊ฒ ์ข ๋ง์)์ด ์์ฒญ ๊น๋ฆฌ๋๊น, ๊ฐ๊ธ์ ๋ณ๋์ ํ๋ก์ ํธ ํ๋ ํ์ ๊ฝ๋๊ฒ ์ข๊ฒ ์ง?
(๊ตต๊ณ ํผํผํ ๋๊ฒ์ด ๊ฝํ๋ฒ๋ ท...!)
๋ ํ๋ก์ ํธ ํ๋ ํ์ ์ค์นํจ (ํ๋ก์ ํธ ์ถ๊ฐ๋ ์๋ฃจ์ ์ฐํด๋ฆญ > ํ๋ก์ ํธ ์ถ๊ฐ ํ๋ฉด ๋จ)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
์ฌ์ฉ๋ฒ
1. ์ธก์ ํ ์ฝ๋๋ฅผ ์ง ๋ค
2. ํด๋น ํ๋ก์ ํธ๋ฅผ ๋ฆด๋ฆฌ์ฆ ๋น๋๋ก ๋ฝ์๋ด์ exe๋ก ๋ง๋ ๋ค.
3. cmd๋ก ํด๋น exe๋ฅผ ์คํํ๋ค.
์ฐจ๊ทผ์ฐจ๊ทผ ๊ทธ๋ฆผ์ผ๋ก ๋ณด์!
์ธก์ ํ ํจ์ 2๊ฐ์, ๋ฉ์ธ์ ๊ฐ์ง ์ฝ๋๋ฅผ ์ง ๋ค.
๋น-๋ ํ๋ค. ์๋ฃจ์ ์ ์ฒด ๋น๋ํ ํ์ ์์์ ์ฃผ์.
๋จ ๋ฐ๋์ ๋ฆด๋ฆฌ์ฆ ๋ชจ๋์ฌ์ผ ํจ. ๋๋ฒ๊ทธ ๋ชจ์ผ๋ฉด ๋ฒค์น๋งํฌ ๋ท๋ท์ด ๋นผ์ ์ก ์๋ฌ ๋.
๋น๋ํ์ผ๋ EXE ํ์ผ์ด ์๊ฒผ๊ฒ ์ง? (๊ฒฝ๋ก์ ์ฃผ์)
์๋ CMD ์ผ๊ณ , ๊ฒฝ๋ก๋ก ๊ฐ์ exe ํ์ผ ์ด๋ฆ ์ณ์ ์คํํ์
(๋ CMD๊ฐ ์ ์ผ ์ด๋ ต๋๋ผ. ์ผ์ผ์ด ์น๊ธฐ ์ซ์ผ๋ฉด exe ํ์ผ ๋๋๊ทธ ํด์ CMD์ ๋จ์ด๋จ๋ ค๋ ๋จ)
๊ทธ๋ผ ์ด๋ ๊ฒ ์ธก์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
๊ณฑ์ ์ด ๋๋์ ๋ณด๋ค ๋๋ฆฌ๋ค๊ณ ๋์๋๋ฐ (ใทใทใท?)
์ด๊ฑด ๊ฐ์ฒด ํ๋ ์์ฑํ๋ ์ฝ๋ (๋ฉ๋ชจ๋ฆฌ ๋ณด๋ ค๊ณ ๋ฃ์์) ๋๋ฌธ์ผ ์๋ ์์. ์ฌํผ ๋๋ค๋ ๊ฑธ ํ์ธํ์.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
์ค์ ํธ
์ ๊ทธ๋ผ ๋ง๋ ๋ง๊ณ ํ๋ ๋ง์ ํด๋์ค VS ๊ตฌ์กฐ์ฒด GC ๋๊ฒฐ์ด๋ค!
๋ฒกํฐ2๋ฅผ ์์ํ๋๋ฐ, ํ๋๋ ํด๋์ค ํ๋๋ ๊ตฌ์กฐ์ฒด๋ก ๋ง๋ค์๋ค.
์ด๊ฑธ 1๋ง๊ฐ ์์ฑํด๋ณด๋ ๊ฐ๋จํ ์ฝ๋์.
๊ฒฐ๊ณผ๋ ์ด๋ ๊ฒ ๋์ด.
ํด๋์ค ๊ฒ๋๊ฒ ๋๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ๋ ์ค์ง๊ฒ ๋ง์ด ๋จน๋๋ฐ (์ฌ๊ธฐ ๋จน์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ณง GC ๋ ๊ฒ๋ค ์)
๊ตฌ์กฐ์ฒด๋ ์ฉ์ฉ ๋ ์๋ค๋๊ณ ๋ฉ๋ชจ๋ฆฌ๋ ์ถ๊ฐ๋ก ๋จน์ง ์์๋ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
(๋ ์ด๊ฑฐ๋ณด๊ณ ํ๊ณผ ์คํ๋ ๋ชจ๋ฅด๋ ํ๊ธ ๊ฑธ ๊ฑฐ ๊ฐ์๋ฐ,ย ๊ทธ๋ฅ ์์๋ฅผ ๋ ๊ฒ์)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
๊ฒฐ๋ก : ์ธ์์ ์ข์ ๊ฑฐ ๋ง์ผ๋ ๊ณ ๋ฏผํ์ง ๋ง๊ณ ์ธก์ ํ์.
๊ทผ๋ฐ ์ ๋ํฐ ํ๋กํ์ผ๋ฌ๋ง ์ ๋ด๋ ์ฌ๋งํ๊ฑด ๋ค ํด๊ฒฐ๋จ ใ
์ด๋ด๊ฑฐ ์ธก์ ํ๊ณ ์์ผ๋ฉด ์ธ์ ์ ๊ฐ์ ๋ ํ๋ก์ ํธ 3๋ ๋จ.
์ด์ ํ ์คํธ ๊ฐ์๋ ๊ทธ๋ ๊ณ ......๊ฒ์์ ๋ง๋ค๊ณ ์ถ์๊ฒ ์๋๋ผ ๊ทธ๋ฅ ๋์งํ๋ฉด์ ๊ด์ฌ๋ ๋ฐ๋๊ฒ์ ์ํ๋๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๊ฑด ๊ธฐ๋ถํ์ผ๊น.......
๊ด์ฌ๋ณ์ด ๋ง๋๋ฏ
์ธ๋๊ฒ๊ฐค์ ์ด๊ฒ ๋ฌธ์ ์ ์๋๊ฐ ์ด์ฐ๋ซ๋ ๋์์ฃผ๋ ค๋ ๊ธ์ธ๋ฐ ์์กด๊ฐ์ด ์กด๋๋ฎ์์ ๋ค๋ฐ์์์ด์ ๋จ๋ค๊น์์๋ผ๋ ๊ฐ์์ ์์กด๊ฐ ์ฑ์ฐ๋ ค๋ ์๋ค์ด ๋๋ถ๋ถ ๊ทธ๋์ ์ธ๋๊ฒ๊ฒ ๋๋ฌ์ค๋ ๊ฐ๋ฐ์๋ค ์ง๊ฒํ๊ณ ๋ ๋์ง
์ง๊ฒํ๊ณ ๋ ๋์ผ ์ ์์ธ๋ฐ ๊พธ์คํ ๋ฑํํ๋๊ฑฐ ๋ณด๋ฉด ๋ง๋๊ฑฐ ์๋? ใ ใ ใ
๋์งํ๋ฉด์ ๊ด์ฌ๋ฐ๋๊ฒ ๋จผ ์ฃ๋ผ๊ณ ์ฐก์ฐก๋ ๋ณ์ ๋ค๋์๋ผ
ํ๋ ์๊ธฐ์ ์ง์ค ์ํ๊ณ ๋งํ๋ ์ฌ๋ ๊ผฌ๋ผ์ง๊ฐ ์ด๋ค์ง๋ถํฐ ํ์ ํ๋ ค๋ ์ ํ์ ์ธ ํ๊ตญ์ธ
์ด๊ฑฐ ์ข๋ค. ใ ใ
ํญ์ ์ข์ ๊ธ ๋กํ ๋งฅ ์ฌ์ฉ์๋ ์๋๋ค ใ ใ
์์ง ์ด๋ฉ ๊ฐ์ด๋ณด๋ผ ๋ญ ์๋ฆฐ์ง ๋ชจ๋ฅด๊ฒ ์ด์ค...
์ฐธ์กฐ
https://m.dcinside.com/board/programming/1222199
์ข์ ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค ใ ใ - dc App