Pytania otagowane jako performance

W przypadku pytań dotyczących pomiaru lub poprawy wydajności kodu i aplikacji.


5
Kiedy należy wywołać metodę SaveChanges () podczas tworzenia tysięcy obiektów Entity Framework? (jak podczas importu)
Prowadzę import, który będzie miał tysiące rekordów w każdym przebiegu. Szukam tylko potwierdzenia moich przypuszczeń: Który z poniższych jest najbardziej sensowny: Uruchom SaveChanges()każde AddToClassName()połączenie. Uruchom SaveChanges()co n liczbę AddToClassName()połączeń. Uruchomić SaveChanges()po wszystkim z AddToClassName()połączeniami. Pierwsza opcja jest prawdopodobnie wolna, prawda? Ponieważ będzie musiał przeanalizować obiekty EF w pamięci, wygenerować SQL …

4
Ogromna różnica wydajności (26x szybciej) podczas kompilacji dla 32 i 64 bitów
Próbowałem zmierzyć różnicę w używaniu a fori a foreachpodczas uzyskiwania dostępu do list typów wartości i typów referencyjnych. Do profilowania użyłem następującej klasy. public static class Benchmarker { public static void Profile(string description, int iterations, Action func) { Console.Write(description); // Warm up func(); Stopwatch watch = new Stopwatch(); // Clean …

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 …

5
Najszybszy sposób na powiększenie numpy tablicy numerycznej
Wymagania: Muszę utworzyć dowolnie dużą tablicę na podstawie danych. Mogę odgadnąć rozmiar (około 100-200) bez gwarancji, że tablica będzie pasować za każdym razem Gdy osiągnie ostateczny rozmiar, muszę wykonać na nim obliczenia numeryczne, więc wolałbym ostatecznie przejść do tablicy numpy 2-D. Szybkość jest krytyczna. Na przykład dla jednego z 300 …


10
Sposoby poprawy wydajności statusu git
Mam repozytorium 10 GB na komputerze z systemem Linux na NFS. Pierwszy raz git statuszajmuje 36 minut, a kolejny git status8 minut. Wygląda na to, że Git zależy od systemu operacyjnego do buforowania plików. Tylko pierwsze gitpolecenia podoba commit, statusże obejmuje pakiet / zapakować cały repo trwa bardzo długo na …
80 performance  git  nfs 


9
Jak uzyskać 100% użycie procesora z programu w C.
To dość interesujące pytanie, więc pozwól mi ustawić odpowiednią scenę. Pracuję w National Museum of Computing i właśnie udało nam się uruchomić super komputer Cray Y-MP EL z 1992 roku i naprawdę chcemy zobaczyć, jak szybko może działać! Zdecydowaliśmy, że najlepszym sposobem na zrobienie tego jest napisanie prostego programu w …
79 c  windows  linux  performance  cray 

3
Przestrzeń perm vs przestrzeń sterty
Po pierwsze, jaka jest różnica między przestrzenią trwałą a przestrzenią sterty (co i w jaki sposób maszyna JVM decyduje się na użycie każdej przestrzeni pamięci)? Po drugie, ale najważniejsze, jaki rodzaj współczynnika byłby zalecany dla standardowej aplikacji Java typu MVC?

2
Dlaczego oprawa jest wolniejsza niż zamknięcie?
Poprzedni plakat pytał Function.bind vs Closure in Javascript: jak wybrać? i otrzymałem tę odpowiedź częściowo, która wydaje się wskazywać, że wiązanie powinno być szybsze niż zamknięcie: Przechodzenie przez zakres oznacza, że ​​gdy dochodzi się do pobrania wartości (zmiennej, obiektu), która istnieje w innym zakresie, w związku z tym dodawany jest …

1
Dlaczego a.insert (0,0) jest znacznie wolniejszy niż [0: 0] = [0]?
Korzystanie z insertfunkcji listy jest znacznie wolniejsze niż uzyskiwanie tego samego efektu za pomocą przypisania plasterka: > python -m timeit -n 100000 -s "a=[]" "a.insert(0,0)" 100000 loops, best of 5: 19.2 usec per loop > python -m timeit -n 100000 -s "a=[]" "a[0:0]=[0]" 100000 loops, best of 5: 6.78 usec …

7
Idiomatyczny sposób rozróżnienia dwóch konstruktorów zero-arg
Mam taką klasę: struct event_counts { uint64_t counts[MAX_COUNTERS]; event_counts() : counts{} {} // more stuff }; Zwykle chcę domyślnie (zero) zainicjować countstablicę, jak pokazano. Jednak w wybranych lokalizacjach zidentyfikowanych przez profilowanie chciałbym powstrzymać inicjalizację tablicy, ponieważ wiem, że tablica wkrótce zostanie zastąpiona, ale kompilator nie jest wystarczająco inteligentny, aby to …

4
Dlaczego zip jest szybszy niż zip w Scali?
Napisałem kod Scali, aby wykonać elementową operację na kolekcji. Tutaj zdefiniowałem dwie metody, które wykonują to samo zadanie. Jedna metoda wykorzystuje, zipa druga wykorzystuje zipped. def ES (arr :Array[Double], arr1 :Array[Double]) :Array[Double] = arr.zip(arr1).map(x => x._1 + x._2) def ES1(arr :Array[Double], arr1 :Array[Double]) :Array[Double] = (arr,arr1).zipped.map((x,y) => x + y) …

1
Nieoczekiwany czas działania kodu HashSet
Więc pierwotnie miałem ten kod: import java.util.*; public class sandbox { public static void main(String[] args) { HashSet<Integer> hashSet = new HashSet<>(); for (int i = 0; i < 100_000; i++) { hashSet.add(i); } long start = System.currentTimeMillis(); for (int i = 0; i < 100_000; i++) { for (Integer …

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.