http://dbpedia.org/ontology/abstract
|
Loop splitting is a compiler optimization technique. It attempts to simplify a loop or eliminate dependencies by breaking it into multiple loops which have the same bodies but iterate over different contiguous portions of the index range.
, Розщеплення циклу (англ. loop splitting) — … Розщеплення циклу (англ. loop splitting) — оптимізація компілятора, яка намагається спростити цикл або усунути залежності в циклі, розбивши його на кілька частин, що мають одне і те саме тіло циклу і різні діапазони лічильника. Розглянемо, наприклад, такий код: int p = 10;for (int i=0; i<10; ++i){ y[i] = x[i] + x[p]; p = i;} Зауважимо, що p = 10 лише для першої ітерації, а для всіх інших ітерацій p = i - 1. Компілятор може скористатися цим, розмотавши (або «відщепивши») першу ітерацію циклу. Після застосування оптимізації код стане таким: y[0] = x[0] + x[10];for (int i=1; i<10; ++i){ y[i] = x[i] + x[i-1];} Новий код рівносильний попередньому, проте усуває необхідність у змінній р всередині тіла циклу. Вперше ця оптимізація з'явилася в GCC версії 3.4. Більш узагальнене розщеплення циклу додано в GCC 7.гальнене розщеплення циклу додано в GCC 7.
, Расщепление цикла (англ. loop splitting) — … Расщепление цикла (англ. loop splitting) — оптимизация компилятора, которая пытается упростить цикл или устранить зависимости в цикле, разбив его на несколько частей, имеющих одно и то же тело исходного цикла и различные диапазоны счётчика. Например, следующий код: int p = 10;for (int i=0; i<10; ++i){ y[i] = x[i] + x[p]; p = i;} в результате применения оптимизации преобразовывается в: y[0] = x[0] + x[10];for (int i=1; i<10; ++i){ y[i] = x[i] + x[i-1];} Новый код равносилен предыдущему, однако устраняет необходимость в переменной «р» внутри тела цикла. Впервые данная оптимизация появилась в GCC версии 3.4.ая оптимизация появилась в GCC версии 3.4.
|
http://dbpedia.org/ontology/wikiPageExternalLink
|
https://archive.org/details/optimizingcompil00alle_837/page/n208 +
, https://archive.org/details/optimizingcompil00alle_837 +
|
http://dbpedia.org/ontology/wikiPageID
|
611631
|
http://dbpedia.org/ontology/wikiPageLength
|
4480
|
http://dbpedia.org/ontology/wikiPageRevisionID
|
1050438254
|
http://dbpedia.org/ontology/wikiPageWikiLink
|
http://dbpedia.org/resource/Control_flow +
, http://dbpedia.org/resource/GNU_Compiler_Collection +
, http://dbpedia.org/resource/Category:Compiler_optimizations +
, http://dbpedia.org/resource/Morgan_Kaufmann_Publishers +
, http://dbpedia.org/resource/Compiler_optimization +
, http://dbpedia.org/resource/Loop_unwinding +
, http://dbpedia.org/resource/Academic_Press +
, http://dbpedia.org/resource/Elsevier +
|
http://dbpedia.org/property/cs1Dates
|
y
|
http://dbpedia.org/property/date
|
August 2019
|
http://dbpedia.org/property/wikiPageUsesTemplate
|
http://dbpedia.org/resource/Template:Cite_book +
, http://dbpedia.org/resource/Template:Use_dmy_dates +
, http://dbpedia.org/resource/Template:Reflist +
, http://dbpedia.org/resource/Template:Short_description +
, http://dbpedia.org/resource/Template:Compiler_optimizations +
|
http://purl.org/dc/terms/subject
|
http://dbpedia.org/resource/Category:Compiler_optimizations +
|
http://purl.org/linguistics/gold/hypernym
|
http://dbpedia.org/resource/Technique +
|
http://www.w3.org/ns/prov#wasDerivedFrom
|
http://en.wikipedia.org/wiki/Loop_splitting?oldid=1050438254&ns=0 +
|
http://xmlns.com/foaf/0.1/isPrimaryTopicOf
|
http://en.wikipedia.org/wiki/Loop_splitting +
|
owl:sameAs |
http://rdf.freebase.com/ns/m.02wdpr +
, http://yago-knowledge.org/resource/Loop_splitting +
, https://global.dbpedia.org/id/51FrA +
, http://uk.dbpedia.org/resource/%D0%A0%D0%BE%D0%B7%D1%89%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_%D1%86%D0%B8%D0%BA%D0%BB%D1%83 +
, http://dbpedia.org/resource/Loop_splitting +
, http://ru.dbpedia.org/resource/%D0%A0%D0%B0%D1%81%D1%89%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%86%D0%B8%D0%BA%D0%BB%D0%B0 +
, http://www.wikidata.org/entity/Q8507870 +
|
rdf:type |
http://dbpedia.org/class/yago/YagoPermanentlyLocatedEntity +
, http://dbpedia.org/class/yago/Abstraction100002137 +
, http://dbpedia.org/class/yago/WikicatCompilerOptimizations +
, http://dbpedia.org/class/yago/Event100029378 +
, http://dbpedia.org/class/yago/Act100030358 +
, http://dbpedia.org/class/yago/Optimization100260051 +
, http://dbpedia.org/class/yago/Improvement100248977 +
, http://dbpedia.org/class/yago/Change100191142 +
, http://dbpedia.org/class/yago/Action100037396 +
, http://dbpedia.org/class/yago/PsychologicalFeature100023100 +
, http://dbpedia.org/class/yago/ChangeOfState100199130 +
, http://dbpedia.org/ontology/TopicalConcept +
|
rdfs:comment |
Розщеплення циклу (англ. loop splitting) — … Розщеплення циклу (англ. loop splitting) — оптимізація компілятора, яка намагається спростити цикл або усунути залежності в циклі, розбивши його на кілька частин, що мають одне і те саме тіло циклу і різні діапазони лічильника. Розглянемо, наприклад, такий код: int p = 10;for (int i=0; i<10; ++i){ y[i] = x[i] + x[p]; p = i;} Зауважимо, що p = 10 лише для першої ітерації, а для всіх інших ітерацій p = i - 1. Компілятор може скористатися цим, розмотавши (або «відщепивши») першу ітерацію циклу. Після застосування оптимізації код стане таким: застосування оптимізації код стане таким:
, Loop splitting is a compiler optimization technique. It attempts to simplify a loop or eliminate dependencies by breaking it into multiple loops which have the same bodies but iterate over different contiguous portions of the index range.
, Расщепление цикла (англ. loop splitting) — … Расщепление цикла (англ. loop splitting) — оптимизация компилятора, которая пытается упростить цикл или устранить зависимости в цикле, разбив его на несколько частей, имеющих одно и то же тело исходного цикла и различные диапазоны счётчика. Например, следующий код: int p = 10;for (int i=0; i<10; ++i){ y[i] = x[i] + x[p]; p = i;} в результате применения оптимизации преобразовывается в: y[0] = x[0] + x[10];for (int i=1; i<10; ++i){ y[i] = x[i] + x[i-1];} Новый код равносилен предыдущему, однако устраняет необходимость в переменной «р» внутри тела цикла.имость в переменной «р» внутри тела цикла.
|
rdfs:label |
Расщепление цикла
, Розщеплення циклу
, Loop splitting
|