E D R , A S I H C RSS

Profiling

Profiling(ν”„λ‘œνŒŒμΌλ§)은 μ›ν•˜λŠ” λΆ€λΆ„μ˜ ν”„λ‘œκ·Έλž¨ μ„±λŠ₯을 μΈ‘μ •ν•˜λŠ” μ„±λŠ₯ ν…ŒμŠ€νŠΈμ΄λ‹€.
----


1. μ†Œκ°œ

λ§Žμ€ 선인듀이 μ ˆλŒ€λ‘œ μ΅œμ ν™”λΌ μš°μ„ μ‹œ ν•˜μ§€ λ§λΌλŠ” 말씀 ν•˜μ§€λ§Œ ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λ©΄μ„œ, μš°λ¦¬κ°€ 많이 μ‹ κ²½ μ“°λŠ” 뢀뢄은 μ„±λŠ₯이닀.
~cpp 
μˆœκ°„μ— μ–Όλ§ˆλ‚˜ λ§Žμ€ μ‚¬μš©μžλΌ μˆ˜μš©ν• μˆ˜ μžˆλŠ”κ°€? 
μ‚¬μš©μžμ˜ μš”κ΅¬μ— μ–Όλ§ˆλ‚˜ λΉ λ₯Έ 응닡을 λ³΄μ΄λŠ”κ°€? 
μ€λ” 적은 λ©”λͺ¨λ¦¬λΌ, μ€λ” 적은 λ””μŠ€ν¬μ˜ μš©λŸ‰μ„ μ‚¬μš©ν• μˆ˜ μžˆλŠ”κ°€? 
...
이런 μ„±λŠ₯을 μ’Œμš°ν•˜λŠ” 것은 문제 상황에 μ μ ˆν•œ μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€. 그리고 μš°λ¦¬κ°€ κ°μ•ˆν•΄μ•Ό 할점은 이것이닀.

κ³Όμ—° μ–΄λ–€ 뢀뢄에 λŒ€ν•œ μ΅œμ ν™”λΌ ν•΄μ•Ό ν•  것인가?

μ΄νƒˆλ¦¬κ°€ κ²½μ œν•™μž νŒŒλ ˆν† λŠ” μ‚¬νšŒ μ „λ°˜μ„ κ΄€μ°°ν•˜λ©΄μ„œ λΆ€μ˜ νŽΈμ€‘, μžμ›μ˜ νŽΈμ€‘ ν†΅κ³„λΌ λΆ„μ„ν•΄μ„œ 20/80 법칙을 μ œμ‹œν•˜μ˜€λ‹€. 톡칭 20/80법칙, νŒŒλ ˆν†  법칙이라고 뢈리며 기타 μ—¬λŸ¬ 뢄야에도 ν­λ„“κ²Œ μ μš©λœλ‹€.

이런 νŒŒλ ˆν†  법칙은 ν”„λ‘œκ·Έλž¨μ—μ„œλ„ 적용될 수 μžˆλŠ” 법칙인데, 이런 식이닀. (λͺ‡%λŠ” μ€‘μš”ν•˜μ§€ μ•Šλ‹€. μ€‘μš”ν•œ 점은 인간이 보톡 μΈμ§€ν•˜λŠ” 것과 μ‹€μ œμ˜ λͺ¨μŠ΅μ΄ 차이가 μžˆλ‹€λŠ” 점이닀. )
{{|
ν”„λ‘œκ·Έλž¨μ˜ 80%의 λ¦¬μ†ŒμŠ€κ°€ 20%의 μ½”λ“œμ—μ„œ 쓰여진닀.
μ‹€ν–‰ μ‹œκ°„μ˜ 80%κ°€ λŒ€λž΅ 20%의 μ½”λ“œλΌ μ†Œλͺ¨ν•œλ‹€
80%의 λ©”λͺ¨λ¦¬λŠ” μ–΄λ–€ 20%의 μ½”λ“œμ—μ„œ μ“΄λ‹€.
80%의 disk 접근은 20%의 μ½”λ“œμ—μ„œ 이루어진닀.
80%의 μ†Œν”„νŠΈμ›¨μ–΄ μœ μ§€μ˜ λ…Έλ ₯은(maintenance effort)λŠ” 20%의 μ½”λ“œμ— μŸμ•„ 뢀어진닀.
|}}
ν”„λ‘œκ·Έλž¨μ΄ μ„±λŠ₯을 높이기 μœ„ν•΄μ„œ 이런 20%의 핡심 μ½”λ“œλΌ μΆ”μ •, 츑정을 ν†΅ν•΄μ„œ μ°Ύμ•„μ•Όν•œλ‹€.

Profiling(ν”„λ‘œνŒŒμΌλ§)은 μ›ν•˜λŠ” λΆ€λΆ„μ˜ ν”„λ‘œκ·Έλž¨ μ„±λŠ₯을 μΈ‘μ •ν•˜λŠ” μ„±λŠ₯ ν…ŒμŠ€νŠΈμ΄λ‹€.
(λ‹€λ₯Έ μ†Œκ°œκΈ€λ‘œ λ§ˆμ†Œ4μ›”ν˜ΈκΈ°μ‚¬ Python μ΅œμ ν™”λ‘ λΌ μΆ”μ²œν•œλ‹€.-링크깨쑌음)

2. Profiling 의 방법

2.1. μ›ν•˜λŠ” μ½”λ“œμ— μˆ˜ν–‰μ‹œκ°„μ„ μΈ‘μ •μ½”λ“œλΌ μ‚½μž…ν•΄μ„œ κ²°κ³ΌλΌ κ΄€μ°°

PerformanceTest C/C++을 μ΄μš©ν•œ μ„±λŠ₯ μΈ‘μ • μ½”λ“œ μž‘μ„±

2.2. μˆ˜ν–‰μ½”λ“œ μΈ‘μ • κ΄€λ ¨ 도ꡬ 이용

μ–Έμ–΄ κ΄€λ ¨ νŽ˜μ΄μ§€
C/C++ C++Profiling
Java JavaProfiling
----
컴퓨터뢄λ₯˜,ν”„λ‘œκ·Έλž˜λ°λΆ„λ₯˜
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:02
Processing time 0.0230 sec