This shows you the differences between two versions of the page.
sde:laboratoare:10 [2019/04/15 18:43] iuliana.marin |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laboratorul 10 - Profiling & Debugging ===== | ||
- | ===== Materiale ajutătoare ===== | ||
- | |||
- | *[[http://elf.cs.pub.ro/so/res/laboratoare/lab07-slides.pdf | lab010-slides.pdf]] | ||
- | ===== Latency Comparison Numbers ===== | ||
- | ^ Operation ^ Time (ns) ^ Notes ^ | ||
- | | ''L1 cache reference '' | 0.5 ns | | | ||
- | | ''Branch mispredict '' | 5 ns | | | ||
- | | ''L2 cache reference '' | 7 ns | 14x L1 cache | | ||
- | | ''Mutex lock/unlock '' | 25 ns | | | ||
- | | ''Main memory reference '' | 100 ns | 20x L2 cache, 200x L1 cache | | ||
- | | ''Compress 1K bytes with Zippy'' | 3,000 ns | | | ||
- | | ''Send 1K bytes over 1 Gbps network'' | 10,000 ns | 0.01 ms | | ||
- | | ''Read 4K randomly from SSD* '' | 150,000 ns | 0.15 ms | | ||
- | | ''Read 1 MB sequentially from memory'' | 250,000 ns | 0.25 ms | | ||
- | | ''Round trip within same datacenter '' | 500,000 ns | 0.5 ms | | ||
- | | ''Read 1 MB sequentially from SSD* '' | 1,000,000 ns | 1 ms, 4x memory| | ||
- | | ''Disk seek '' | 10,000,000 ns | 10 ms, 20x datacenter roundtrip| | ||
- | | ''Read 1 MB sequentially from disk '' | 20,000,000 ns | 20 ms, 80x memory, 20x SSD| | ||
- | | ''Send packet Caracal - NY - Caracal '' | 150,000,000 ns | 150 ms | | ||
- | |||
- | ===== Link-uri către secțiuni utile ===== | ||
- | |||
- | ==== Linux ==== | ||
- | * [[#profiler_si_tehnici de profiling|Profiler și tehnici de profiling]] | ||
- | * [[#unelte_de_profiling|Unelte de profiling]] | ||
- | * [[#utilizare_perf|Utilizare perf]] | ||
- | * [[#unelte_de_debugging|Unelte de debugging]] | ||
- | |||
- | |||
- | ===== Profiler și tehnici de profiling ===== | ||
- | Un *profiler* este un utilitar de analiză a *performanței* care ajută programatorul să determine punctele critice – *bottleneck* – ale unui program. Acest lucru se realizează prin investigarea comportamentului programului, evaluarea consumului de memorie și relația dintre modulele acestuia. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||