optimization

Dlaczego przetwarzanie posortowanej tablicy jest szybsze niż przetwarzanie niesortowanej tablicy?

Oto fragment kodu C++, który pokazuje bardzo dziwne zachowanie. Z jakiegoś dziwnego powodu, sortowanie danych w cudowny sposó ... przetwarzanie niesortowanej tablicy? Kod podsumowuje kilka niezależnych terminów, więc kolejność nie powinna mieć znaczenia.

Popraw wydajność INSERT-per-second SQLite

Optymalizacja SQLite jest trudna. Wydajność wkładek zbiorczych w aplikacji C może się wahać od 85 wkładek na sekundę do ponad ... Chętnie przyjmę propozycje innych scenariuszy, aby spróbować... I wkrótce będą kompilować podobne dane dla wybranych zapytań.

Poprawić wydajność INSERT-per-second SQLite?

Optymalizacja SQLite jest trudna. Wydajność wkładek zbiorczych w aplikacji C może się wahać od 85 wkładek na sekundę do ponad ... Chętnie przyjmę propozycje innych scenariuszy, aby spróbować... I wkrótce będą kompilować podobne dane dla wybranych zapytań.

Big O, Jak to obliczyć / przybliżyć?

Większość osób z dyplomem w CS na pewno wie, co Big O oznacza. Pomaga nam zmierzyć, jak (w)efektywny jest algorytm, a jeśli w ... optymalizacja jest źródłem wszelkiego zła, a optymalizacja bez uzasadnionej przyczyny powinna również zasługiwać na tę nazwę.

Najszybszy sposób określenia, czy pierwiastek kwadratowy liczby całkowitej jest liczbą całkowitą

Szukam najszybszego sposobu, aby określić, czy wartość long jest doskonałym kwadratem (tzn. jego pierwiastek kwadratowy jest ... urn false;. Ku mojemu zdziwieniu, to było (tylko trochę) wolniej. Jest tak, ponieważ granice tablic są sprawdzane w Javie.

Dlaczego kod C++ do testowania domysłów Collatza działa szybciej niż ręcznie napisany assembly?

Napisałem te dwa rozwiązania dla projektu Euler Q14 , w assembly i w C++. Implementują one identyczne podejście brute force ... avg 200 ms. W związku z tym, że nie jest to możliwe, nie jest to możliwe.]} @Veedrac C++: avg 81 ms z -O3, 305 ms z -O0.

Kod C++ do testowania domysłów Collatza szybciej niż ręcznie pisany assembly-dlaczego?

Napisałem te dwa rozwiązania dla projektu Euler Q14 , W assembly i w C++. Są to identyczne podejście brute force do testowan ... b asm avg 200 ms @hidefromkgb ASM optimized by @ Peter Cordes avg 145 ms @Veedrac C++ avg 81 ms with -O3, 305 ms z -O0

Zastąpienie 32-bitowego licznika pętli 64-bitowym wprowadza szalone odchylenia wydajności

Szukałem najszybszej drogi do popcount dużych tablic danych. Napotkałem bardzo dziwny efekt : Zmiana zmiennej pętli zunsigned ... em pętlę. Więc nawet jeśli rozwiążesz, nadal możesz zostać trafiony przez majora odchylenia wydajności. Całkiem interesujące.

Strategie optymalizacji wydajności w ostateczności [zamknięty]

Jest już wiele pytań dotyczących wydajności na tej stronie, ale wydaje mi się, że prawie wszystkie są bardzo specyficzne dla ... ma to zastosowanie. Dodam odpowiedź z własnymi wstępnymi sugestiami i czekam na inne społeczność Stack Overflow może myśleć.

Jak osiągnąć teoretyczne maksimum 4 flopów na cykl?

Jak można osiągnąć teoretyczną maksymalną wydajność 4 operacji zmiennoprzecinkowych (Podwójna precyzja) na cykl na nowoczesny ... ulsd xmm5, xmm3 mulsd xmm1, xmm3 mulsd xmm8, xmm3 addsd xmm10, xmm2 addsd xmm9, xmm2 addsd xmm13, xmm2 ...

Najszybszy sposób na wyświetlenie wszystkich liczb pierwszych poniżej N

To najlepszy algorytm, jaki mogłem wymyślić. def get_primes(n): numbers = set(range(n, 1, -1)) primes = [] while ... rrect sum of all numbers below 2 million >>> 529 in get_primes(1000) False >>> 529 in get_primes(530) True

Deoptymizacja programu dla rurociągu w procesorach z rodziny Intel Sandybridge

Od tygodnia męczę się nad tym zadaniem i mam nadzieję, że ktoś poprowadzi mnie na właściwą drogę. Zacznę od instrukcji instru ... i uczyli się więcej. Należy pamiętać, że jest to pytanie o architekturę komputera, a nie o to, jak zwolnić C++ w Generale.

Najszybszy rodzaj stałej długości 6 int array

Odpowiadając na inne pytanie o przepełnienie stosu ( to jedno ) natknąłem się na interesujący sub-problem. Jaki jest najszybs ... uje się 6 testów). To daje każdemu swapowi średnio 4 cykle. Nazywam to niesamowicie szybkim. Jakieś inne możliwe ulepszenia ?

Lista Planetoid

Tak, Wiem, że ten temat był już poruszany ( tutaj, Proszę., Proszę., tutaj ), ale z tego co wiem, wszystkie rozwiązania, po ... result.append(el) return result flatten(L) Czy to najlepszy model? Czy coś przeoczyłem? Dowolne problemy?

Jak sprawdzić, które wtyczki zwalniają Vima?

Czy istnieje sposób na profilowanie wtyczek Vima? Mój MacVim staje się wolniejszy i wolniejszy, gdy otwieram duży .py. Wiem, ... , która wtyczka jest winowajcą, ale czy istnieje szybszy sposób? Mój dotvim jest tutaj: https://github.com/charlax/dotvim

Co to jest copy elision I return value optimization?

Co to jest copy elision? Co to jest (nazwana) optymalizacja wartości zwrotnej? Co to oznacza? W jakich sytuacjach mogą wystą ... pytania, prawdopodobnie szukasz wstęp. przegląd techniczny znajduje się norma odniesienia. Zobacz typowe przypadki tutaj .

Dlaczego kolejność pętli wpływa na wydajność podczas iteracji na tablicy 2D?

Możliwy duplikat:która z tych dwóch pętli for jest bardziej efektywna pod względem czasu i wydajności pamięci podręcznej ... c int x[4000][4000]; for (j = 0; j < 4000; j++) { for (i = 0; i < 4000; i++) { x[j][i] = i + j; } } }

Jaki jest najbardziej "pythoniczny" sposób iteracji listy w kawałkach?

Mam skrypt Pythona, który przyjmuje jako wejście listę liczb całkowitych, które muszę pracować z czterema liczbami całkowitym ... s[3] ints[0:4] = [] Nadal nie czuję się dobrze. :-/ Podobne pytanie: Jak podzielić listę na równe kawałki w Pythonie?

Trudne pytanie o wywiad Google

Mój przyjaciel szuka pracy. Jedno z pytań z wywiadu dało mi do myślenia, chciałem tylko trochę informacji zwrotnej. Istnieją ... 0 = 4 2^0 * 5^1 = 5 2^3 * 5^0 = 8 2^1 * 5^1 = 10 2^4 * 5^0 = 16 2^2 * 5^1 = 20 2^0 * 5^2 = 25 Nie widzę wzoru. Twoje myśli?

Dlaczego transpozycja matrycy 512x512 jest znacznie wolniejsza niż transpozycja matrycy 513x513?

Po przeprowadzeniu kilku eksperymentów na kwadratowych matrycach o różnych rozmiarach, pojawił się wzór. Niezmiennie, transpo ... izacje) różnica jest podobna: Rozmiar 512 - średni 2.19 ms Rozmiar 513 - średnia 0.57 ms Dlaczego to się dzieje?