ËshtĂ« paraqitur backend-i TPDE-LLVM, qĂ« funksionon 10-20 herĂ« mĂ« shpejt se LLVM nĂ« modalitetin pa optimizim.

Hulumtë nga Universiteti Teknik i Mynihut publikuan një mjet TPDE dhe mbi të, një backend kompilatori për LLVM - TPDE-LLVM, që siguron gjenerimin e kodit makinerik për arkitekturën x86-64 dhe AArch64 bazuar në përfaqësimin e ndërmjetëm të kodit LLVM-IR. Gjatë testimeve, TPDE-LLVM rezultoi të ishte 10-20 herë më i shpejtë se backend-i i LLVM -O0 (gjeneratori i kodit pa optimizime) me të njëjtin nivel performancë të kodit makinerik dhe një rritje të madhësisë prej 10-30%. Kontributet e projektit janë publikuar nën licencën Apache 2.0.

TPDE-LLVM fillimisht ka si qĂ«llim tĂ« sigurojĂ« kompilim me vonesa minimale dhe njĂ« nivel cilĂ«sie qĂ« i pĂ«rket modit tĂ« ndĂ«rtimit pa optimizime (‘-O0’). Projekti ofron njĂ« utilitar pĂ«r ekzekutimin e veçantĂ« tĂ« tpde-llc, njĂ« bibliotekĂ« pĂ«r integrim nĂ« aplikacione (p.sh. pĂ«r realizimin e funksionalitetit JIT-kompilator) dhe patches pĂ«r integrim me Clang dhe Flang.

ËshtĂ« paraqitur backend-i TPDE-LLVM, qĂ« funksionon 10-20 herĂ« mĂ« shpejt se LLVM nĂ« modalitetin pa optimizim.

Projekti mund të përdoret si një komponent bazik për kompilimin JIT ose për krijimin e ndërtimeve të paoptimizuara. TPDE-LLVM përqendrohet vetëm në shpejtësinë e kompilimit dhe nuk përpiqet të konkurrojë me backend-et optimizuese të LLVM, të cilat në krahasim me TPDE-LLVM punojnë dukshëm më ngadalë, por lejojnë që të gjenerohet kod më i shpejtë dhe më kompakt (për rreth 2 herë më shpejt dhe 2 herë më i vogël në madhësi).

TPDE-LLVM përdor tre faza për të gjeneruar kodin:

  • Pastrimi dhe pĂ«rgatitja e reprezentimit tĂ« ndĂ«rmjetĂ«m LLVM;
  • Analiza e informacionit mbi ciklet dhe pĂ«rdorimin e variablave;
  • Formimi i kodit tĂ« makinerisĂ«.

ËshtĂ« paraqitur backend-i TPDE-LLVM, qĂ« funksionon 10-20 herĂ« mĂ« shpejt se LLVM nĂ« modalitetin pa optimizim.

Vlen të theksohet se me ndihmën e autorëve të TPDE, në degët e LLVM 19 dhe 20 janë shtuar optimizime që e kanë përshpejtuar punën e backend-it të zakonshëm LLVM me 18% në platformën x86-64 dhe me 13% në platformën ARM64. Sipas autorëve të TPDE, në të ardhmen me pak përpjekje mund të përshpejtohet backend-i i LLVM edhe për 10-20%, por rritja e mëtejshme e performancës do të kërkojë ndryshime të mëdha. Edhe me një rishikim të konsiderueshëm, është e pak probable që backend-i ekzistues i LLVM të mund të përshpejtohet 10 herë.

Në këtë etapë të zhvillimit, ndër objektivat e projektit TPDE është deklaruar sigurimi i mbështetjes për përfaqësimin e ndërmjetëm të kodit LLVM, i fituar nga frontend-i Clang në modet e optimizimit "-O0" dhe "-O1". Trajtimi i përfaqësimit të ndërmjetëm të krijuar në modin "-O2" nuk garantohet për momentin për shkak të mungesës së mbështetjes në TPDE për operacionet vektoriale. Pjesërisht mbështetet kodi ndërmjetëm nga Flang dhe kompajleri Rust.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster