Zsákutca belépés

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. december 19-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

A programozásban a zsákutca rekord ( eng.  Dead Store ) egy érték hozzárendelése egy helyi változóhoz, ha ezt az értéket a következő utasítások egyike sem olvassa be. A holtpontos írások CPU-időt és memóriát foglalnak el, és nem csinálnak semmit. Statikus kódelemzéssel fedezhetők fel .

Példakód Java zsákutcás bejegyzéssel:

// DeadStoreExample.java import java.util.ArrayList ; import java.util.List ; public class DeadStoreExample { public static void main ( String [] args ) { List < String > list = new ArrayList < String > (); // Ez a hozzárendelés csonk, mivel az ArrayList soha nem kerül beolvasásra. lista = getList (); Rendszer . ki . println ( lista ) } private static List < String > getList () { return new ArrayList < String > ( "hello" ); } }

Ebben a példában egy ArrayList<String> objektumot példányosítottak, de soha nem használtak. Ehelyett az arra hivatkozó változóhoz egy másik objektumra való hivatkozást rendeltek. Az ArrayList deklarálásakor lefoglalt memóriaterületet fel kell szabadítani, például a szemétgyűjtő segítségével .

Példakód zsákutcával a JavaScriptben:

függvény func ( a , b ) { var x ; var i = 300 ; míg ( i -- ) { x = a + b ; // zsákutca bejegyzés } }

Ez a példa ugyanazt a helyi változót többször felülírja egy ciklusban . Míg a ciklus után csak az utolsó iterációban írt érték használható a programban . Így minden írás az x változóra, kivéve az utolsót, zsákutca.

Egy optimalizáló fordítóprogramban a zsákutca rekordok eltávolítása történhet a holt kód eltávolításának optimalizálásával [1] vagy a zsákutca rekordok eltávolításának optimalizálásával ( eng.  Dead Store Elimination ) [2] .

Jegyzetek

  1. HTML5, és a Real World Site Performance: A hetedik IE9 platform előnézete elérhető a fejlesztők számára (hivatkozás nem érhető el) . Letöltve: 2021. augusztus 7. Az eredetiből archiválva : 2013. január 29. 
  2. Michael Howard, David Leblanc Biztonságos kód írása  (nem elérhető link)