Pytania otagowane jako optimization

Optymalizacja to działanie polegające na ulepszeniu metody lub projektu. W programowaniu optymalizacja zwykle przyjmuje formę zwiększenia prędkości algorytmu lub zmniejszenia wymaganych zasobów. Innym znaczeniem optymalizacji są numeryczne algorytmy optymalizacji stosowane w uczeniu maszynowym.

3
Dlaczego kod miałby aktywnie zapobiegać optymalizacji wywołań końcowych?
Tytuł pytania może być trochę dziwny, ale chodzi o to, że o ile wiem, nic nie przemawia przeciwko optymalizacji wywołań ogonowych. Jednak podczas przeglądania projektów open source natknąłem się już na kilka funkcji, które aktywnie próbują powstrzymać kompilator przed optymalizacją wywołań ogonowych, na przykład implementację CFRunLoopRef, która jest pełna takich …

2
W ArrayBlockingQueue, po co kopiować końcowe pole składowe do lokalnej zmiennej końcowej?
W programie ArrayBlockingQueuewszystkie metody, które wymagają blokady, kopiują ją do finalzmiennej lokalnej przed wywołaniem lock(). public boolean offer(E e) { if (e == null) throw new NullPointerException(); final ReentrantLock lock = this.lock; lock.lock(); try { if (count == items.length) return false; else { insert(e); return true; } } finally { …

6
Optymalizacja witryn internetowych opartych na Kohana pod kątem szybkości i skalowalności
Witryna, którą zbudowałem z Kohana, została wczoraj zatłoczona ogromnym ruchem, co spowodowało, że cofnąłem się o krok i oceniłem część projektu. Jestem ciekawy, jakie są standardowe techniki optymalizacji aplikacji opartych na Kohanie? Interesuje mnie też benchmarking. Czy muszę skonfigurować Benchmark::start()i Benchmark::stop()dla każdej metody kontrolera, aby zobaczyć czasy wykonywania dla wszystkich …

5
Java Integer compareTo () - po co używać porównania a odejmowania?
Znalazłem tę java.lang.IntegerimplementacjęcompareTo metody wygląda następująco: public int compareTo(Integer anotherInteger) { int thisVal = this.value; int anotherVal = anotherInteger.value; return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1)); } Pytanie brzmi, po co używać porównania zamiast odejmowania: return thisVal - anotherVal;

2
Próbuję zrozumieć opcję gcc -fomit-frame-pointer
Poprosiłem Google o podanie znaczenia gccopcji -fomit-frame-pointer, która przekierowuje mnie do poniższego oświadczenia. -fomit-frame-pointer Nie trzymaj wskaźnika ramki w rejestrze dla funkcji, które go nie potrzebują. Pozwala to uniknąć instrukcji zapisywania, konfigurowania i przywracania wskaźników ramek; udostępnia również dodatkowy rejestr w wielu funkcjach. Uniemożliwia również debugowanie na niektórych komputerach. Zgodnie …



3
Optymalizacja funkcji celu R z wolniejszym Rcpp, dlaczego?
Obecnie pracuję nad metodą bayesowską, która wymaga wielu kroków optymalizacji wielomianowego modelu logit dla każdej iteracji. Korzystam z Optim () do przeprowadzania tych optymalizacji, a funkcja celu napisana w R. Profilowanie wykazało, że Optim () jest głównym wąskim gardłem. Po przekopaniu znalazłem pytanie, w którym sugerują, że przekodowanie funkcji celu …
16 c++  r  optimization  rcpp 




1
Wydajny algorytm obcięcia łańcucha, sekwencyjnie usuwający równe prefiksy i sufiksy
Limit czasu na test: 5 sekund Limit pamięci na test: 512 megabajtów Otrzymujesz ciąg sdługości n( n≤ 5000). Możesz wybrać dowolny właściwy prefiks tego łańcucha, który jest również jego sufiksem, i usunąć albo wybrany prefiks, albo odpowiedni sufiks. Następnie możesz zastosować analogiczną operację do wynikowego ciągu i tak dalej. Jaka …

3
czy mogę wyłączyć optymalizację, aby zmienne zawarte w zamknięciach nie były „zoptymalizowane”
Jako produkt uboczny optymalizacji kodu wykonywanej przez nowoczesne przeglądarki, podczas debugowania nie można „zobaczyć” wszystkich zmiennych, które „faktycznie” są w zakresie. Jest to dobrze znane i zostało poruszone w poprzednim pytaniu tutaj na SO . Ta funkcja, choć z pewnością przydatna w produkcji, bardzo mnie denerwuje podczas opracowywania, ale spowalnia …

5
Jak „skopiować” macierz bez tworzenia tymczasowej macierzy w pamięci, która spowodowała przepełnienie pamięci?
Przypisując macierz do znacznie większej przydzielonej pamięci, Matlab w jakiś sposób powieli ją podczas „kopiowania”, a jeśli matryca do skopiowania jest wystarczająco duża, nastąpi przepełnienie pamięci. To jest przykładowy kod: main_mat=zeros(500,500,2000); n=500; slice_matrix=zeros(500,500,n); for k=1:4 parfor i=1:n slice_matrix(:,:,i)=gather(gpuArray(rand(500,500))); end main_mat(:,:,1+(k-1)*n:1+(k-1)*n+n-1)=slice_matrix; %This is where the memory will likely overflow end Każdy …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.