Valgrind: Porovnání verzí

Smazaný obsah Přidaný obsah
Bez shrnutí editace
Řádek 2:
 
== Přehled ==
Valgrind je v podstatě [[virtuální stroj]] používající [[JIT]] (Just-In-Time) techniky, včetně [[Dynamická rekompilace|dynamické rekompilace]]. Nic z původního programu nelze spustit přímo na procesoru počítače. Místo toho Valgrind nejprve přeloží program do dočasné, jednodušší formy tzv. Intermediate reprezentace (IR), která je procesorově neutrální, na základě formy [[SSA]]. Přestože by mohlo být použito dynamického překladu (to znamená, že hostitelský a cílový procesor jsou z různých architektur), není tomu tak.{{Fakt/dne|20100405222254}} Valgrind překompiluje binární kód běžící na hostitelském a cílovém (nebo simulovaném) procesoru stejné architektury.
 
V těchto transformacích se ztrácí značné množství výkonu. Kód běžící s Valgrindem a „žádným“ nástrojem (který nedělá nic s IR) běží 4 až 5 krát pomaleji, nežporoti normálněnormálnímu zpuštění. Uložení ve formě IR (místo [[strojový kód|strojového kódu]]) je však vhodnější pro měření,. usnadňuje psaní nástrojů a pro většinu projektů neznamená zpomalení při ladění velký problém.
 
== Nástroje ==