Sorgulanan suallar 'derleyici-optimizasyon'

Kompilyatorun optimallaşdırılması, kompilyatorun obyektin icrası vaxtı və ya ölçüsünü azaltmaq üçün uyğunlaşdırılmasını ehtiva edir. Bu kompilyator argumentləri (məsələn, CFLAGS, LDFLAGS), kompilyator plaginləri (məsələn DEHYDRA) və ya kompilyatora (məsələn, mənbə kodunun dəyişdirilməsi kimi) dəyişikliklərdən istifadə edilə bilər.
10
Cavablar

Niyə ayrı dövrlərdə stiqma takviyeleri kombinə edilmiş dövrə nisbətən daha sürətli?

Yığın yaddaşına a1, b1, c1 və d1 nöqtəsi qoyun və mənim rəqəmli kodumda aşağıdakı əsas loop var. const int n = 100000; (int j = 0; j <n; j ++) {a1 [j] + = b1 [j]; c1 [j] + = d1 [j]; } Bu dövr 10,000 dəfə yerinə yetirilir ...
17 dekabrda təyin olundu '11 saat 23:40 'da
12
Cavablar

GCC nə üçün a * a * a * a * a (a * a * a) * (a * a * a) optimallaşdırmır?

Mən elmi bir tətbiqdə sayısal optimallaşdırma edirəm. GCC'nin (a, 2) səs (a, 2) zəngini optimallaşdırdığını fərq etdim, lakin pow (a, 6) çağırışı optimallaşdırılmır və faktiki olaraq istehsalın əhəmiyyətli dərəcədə yavaşladığı kütləvi funksiya ...
21 İyun tarixində saat 21:49 'də təyin olundu
10
Cavablar

32-bit loop sayacını 64 bitlik dəyərlərlə əvəz etmək, çaşqınlıqlı performans sapmalarına gətirib çıxarır

Böyük data dizilerini açmaq üçün ən sürətli yolu axtarırdım. Mən çox qəribə bir təsirə məruz qalıb: işarələmədən uint64_t-dək dəyişən dəyişən mənim PC-də 50% azalma ilə nəticələndi. Qiymətləndirmə #include ...
01 Avq. '14 saat 13:33 'da
9
Cavablar

Tez beta: serialların çeşidlənməsi

Swift Beta'da alqoritmi tətbiq etdim və performansın çox pis olduğunu fərq etdim. Daha dərinləşərək, darboğazlardan birinin serialların çeşidlənməsi kimi sadə bir şey olduğunu başa düşdüm. Müvafiq hissə burada: n = 1000000 var ...
08 iyun 'da 2:53' də təyin olundu
3
Cavablar

Niyə C ++-da uçucu açar sözü istifadə edirik?

Mümkün dublikat: C ++: uçucu bir söz nə zaman sizə kömək etdi? Mən heç vaxt istifadə etməmişəm, amma insanlar nə üçün istifadə edirlər? O nə edir? Bir forum axtarırdıq, yalnız C # və ya Java'da tapdım.
14 dekabrda təyin olundu '10 saat 12:14 'da
2
Cavablar

C'de əməliyyatı nədir?

#include <stdio.h> uçucu int i; int main () {int c; (i = 0; i <3; i ++) {c = i i; printf ("% d \ n", c); } qayıt 0; } Yuxarıdakı proqramın çıxışı, istifadə edərək tərtib edilmiş ...
19 dekabrda təyin olundu '12 saat 9:48 'da
3
Cavablar

GCC niyə demək olar ki, eyni C kodu üçün belə kökündən fərqli bir quruluş yaratır?

Optimized ftol funksiyasını yazarkən, GCC 4.6.1-də çox qəribə davranışlar tapdım. Mənə ilk növbədə kodunuzu göstərin (aydınlıq üçün mən fərqləri qeyd etdim): fast_trunc_one, C: int fast_trunc_one (int i) {int mantissa, exponent, sign, r; ...
20 Aprel tarixində təyin olundu '12 saat 19:59 'da
10
Cavablar

SSE4.2 və AVX talimatları ilə Tensorflowu necə tərtib etmək olar?

Tensorflowun işlədiyini yoxlamaq üçün bir skript çalıştırdığından alınan bir mesajdır: I tensorflow / stream_executor / dso_loader.cc: 125] CUDA kitabxanasını libcublas.so.8.0 uğurla açdı. I tensorflow / stream_executor / dso_loader.cc: 125] successf .. .
23 dekabrda təyin olundu 2:16
2
Cavablar

Şek şəkillərində Nat tipi məhdudiyyətlər

Formal olaraq, Nat növü tip səviyyəsində təbii ədədləri kodlaşdırmaq üçün bir vasitədir. Bu, məsələn, sabit ölçülü siyahılar üçün istifadə olunur. Hətta tip səviyyəsində hesablamalar edə bilərsiniz, məsələn. N elementlərinin siyahısını əlavə edin ...
23 yanvar tarixində təyin olundu '14 saat 2:15 'də
5
Cavablar

Nə təkmilləşdirilmiş GCC 6 optimizer praktiki C ++ kodunu pozur?

GCC 6 yeni bir optimizer funksiyasına malikdir: bu, həmişə qeyri-sıfırdır və bunun əsasında optimallaşdırılır. Qiymətlər aralığının yayılması indi C ++ üzv funksiyalarının bu göstəricisinin sıfır olmayan olduğunu nəzərdə tutur. Bu aradan qaldırır ...
27 apreldə təyin olundu '16 saat 17:45 'də
2
Cavablar

Niyə lambdalar sadə funksiyaya görə kompilyator tərəfindən daha yaxşı optimallaşdırılır?

Nikolay Joztis öz kitabında The C ++ Standard Library (İkinci Sürüm) adlı kitabında lambdaların sadə funksiyaya görə kompilyator tərəfindən daha yaxşı optimallaşdırıldığını iddia edir. Bundan əlavə, C ++ kompilyatorları normal funksiyaları yerinə yetirən lambdaları daha yaxşılaşdırırlar. (Ölkələr ...
05 dekabr '12 saat 14:38 'da
5
Cavablar

Hansı bayraqları görmək üçün necə -march = yerli aktiv olacaq?

Mən C ++ tətbiqini GCC 4.3 ilə tərtib edirəm. Optimallaşdırma bayraqlarını manuel olaraq seçmək yerinə, mən teorik olaraq mən tərtib etdikləri hardware üçün tətbiq edilən bütün optimallaşdırma bayraqlarını əlavə etməlidir -march = doğma istifadə edirəm ...
29 Mart saat 12: 14-də təyin olundu
3
Cavablar

Bu göstərici isti dövründə qəribə bir deoptizasiyaya səbəb olur.

Bu yaxınlarda mən bir qəribə de-optimallaşdırma (ya da daha doğrusu, buraxılmış optimallaşdırma fürsəti) ilə tanış oldum. Bu funksiyanı üç bit tamsayıların dizilerini 8 bit tamsayılara effektiv şəkildə sıxmaq üçün düşünün. Bu c hər iteration ildə 16 ints unpacks ...
10 oct. '14 'də saat 11.38' də
11
Cavablar

Funksiyaya erkən dönmənin effektivliyi

Bu, çox vaxt təcrübəsiz bir proqramçı kimi gördüyüm bir vəziyyətdir və xüsusilə də optimallaşdırmağa çalışdığım iddialı, sürətli bir layihə üçün maraqlıyam. Əsas C-dillər üçün (C, objC, C ++, Java, C #, və s.) Və onların adi kompilyatorları ...
25 oktyabr təyin etdi . '11 'də 7:26' də
6
Cavablar

Niyə kompilyator çarpılmağa əlavə olaraq gözlənilən dövrü optimallaşdırır (və ya olmasa)?

Mysticial'in sualına parlaq cavab oxuduğunda ağıllara gələn sual: niyə bir ardıcıl aralıdan daha çox sıralanan bir sıra işləməlidir? Əlaqədar növlər üçün kontekst: const unsigned arraySize = 32768; int data [arrayS ...
30 İyun tarixində saat 20:48 'də təyin olundu