Форум Статьи Контакты
Строительство — возведение зданий и сооружений, а также их капитальный и текущий ремонт, реконструкция, реставрация и реновация.

Тупиковая запись

Дата: 15-12-2020, 08:18 » Раздел: Статьи  » 

В программировании тупиковой записью (англ. 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, кроме последней, являются тупиковыми.

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


(голосов:0)

Пожожие новости
Комментарии

Ваше Имя:   Ваш E-Mail: