WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

В программировании тупиковой записью (англ. Dead Store) называется присваивание значения локальной переменной, если это значение не читается никакой из последующих инструкций. Тупиковые записи занимают процессорное время и память, не принося никакой пользы. Они могут быть обнаружены с помощью статического анализа кода.

Пример кода с тупиковой записью на языке Java:

// 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>(); // Это присваивание является тупиковой записью, так как ArrayList никогда не читается.
   list = getList();
   System.out.println(list)
 }

 private static List<String> getList() {
   return new ArrayList<String>("hello");
 }
}

В этом примере был создан экземпляр объекта ArrayList<String>, но он ни разу не использовался. Вместо этого переменной, которая ссылалась на него, была присвоена ссылка на другой объект. Область памяти, которая была выделена при объявлении списка ArrayList, должна быть освобождена, например, с помощью сборщика мусора.

Пример кода с тупиковой записью на языке JavaScript:

function func(a, b) {
    var x;
    var i = 300;
    while (i--) {
        x = a + b; // тупиковая запись
    }
}

В этом примере происходит многократная перезапись одной и той же локальной переменной в цикле. В то время как использоваться в программе после этого цикла может только значение, записанное на последней итерации. Таким образом, все записи в переменную x, кроме последней, являются тупиковыми.

В оптимизирующем компиляторе удалением тупиковых записей может заниматься оптимизация удаления мёртвого кода[1] либо оптимизация удаления тупиковых записей (англ. Dead Store Elimination)[2].

Примечания

  1. HTML5, and Real World Site Performance: Seventh IE9 Platform Preview Available for Developers. Архивировано 29 января 2013 года.
  2. Майкл Ховард, Дэвид Лебланк Writing secure code

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии