Podczas przeglądu kodu z pracownikiem Microsoft natrafiliśmy na dużą część kodu wewnątrz try{}bloku. Ona i przedstawiciel IT zasugerowali, że może to mieć wpływ na wydajność kodu. W rzeczywistości zasugerowali, że większość kodu powinna znajdować się poza blokami try / catch i że należy sprawdzać tylko ważne sekcje. Pracownik Microsoft dodał …
Często chcę sprawdzić, czy podana wartość pasuje do wartości na liście (np. Podczas sprawdzania poprawności): if (!acceptedValues.Any(v => v == someValue)) { // exception logic } Ostatnio zauważyłem, że ReSharper prosi mnie o uproszczenie tych zapytań, aby: if (acceptedValues.All(v => v != someValue)) { // exception logic } Oczywiście jest …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Zamknięte 5 lat temu . Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Czy są jakieś funkcje Ruby / Python, …
Utworzyłem polecenie SQL, które używa INNER JOIN na 9 stołach, w każdym razie to polecenie zajmuje bardzo dużo czasu (ponad pięć minut). Więc mój lud zaproponował mi zmianę INNER JOIN na LEFT JOIN, ponieważ wydajność LEFT JOIN jest lepsza, pomimo tego, co wiem. Po jego zmianie szybkość zapytania znacznie się …
Czy istnieje różnica w wydajności (w wyroczni) między Select * from Table1 T1 Inner Join Table2 T2 On T1.ID = T2.ID I Select * from Table1 T1, Table2 T2 Where T1.ID = T2.ID ?
Zapytanie działa szybko: DECLARE @SessionGUID uniqueidentifier SET @SessionGUID = 'BCBA333C-B6A1-4155-9833-C495F22EA908' SELECT * FROM Report_Opener WHERE SessionGUID = @SessionGUID ORDER BY CurrencyTypeOrder, Rank koszt poddrzewa: 0,502 Ale umieszczenie tego samego kodu SQL w procedurze przechowywanej przebiega powoli i przy zupełnie innym planie wykonania CREATE PROCEDURE dbo.ViewOpener @SessionGUID uniqueidentifier AS SELECT * …
Powiedzmy, że określam składnik outputText w następujący sposób: <h:outputText value="#{ManagedBean.someProperty}"/> Jeśli wydrukuję komunikat dziennika po somePropertywywołaniu modułu pobierającego dla i załaduję stronę, trywialne jest zauważenie, że moduł wywołujący jest wywoływany więcej niż raz na żądanie (dwa lub trzy razy tak jest w moim przypadku): DEBUG 2010-01-18 23:31:40,104 (ManagedBean.java:13) - Getting …
W Javie używanie rzucania / łapania jako części logiki, gdy tak naprawdę nie ma błędu, jest ogólnie złym pomysłem (częściowo), ponieważ rzucanie i wychwytywanie wyjątku jest kosztowne, a wykonywanie go wielokrotnie w pętli jest zwykle znacznie wolniejsze niż inne struktury kontrolne, które nie wymagają zgłaszania wyjątków. Moje pytanie brzmi: czy …
Ostatnio słyszałem, jak kilka osób mówi, że w Linuksie prawie zawsze lepiej jest używać procesów zamiast wątków, ponieważ Linux jest bardzo wydajny w przetwarzaniu procesów i ponieważ istnieje wiele problemów (takich jak blokowanie) związanych z wątkami. Jestem jednak podejrzliwy, ponieważ wydaje się, że wątki mogą dać całkiem duży wzrost wydajności …
Jaka jest główna różnica między INSERT INTO table VALUES .. i INSERT INTO table SET? Przykład: INSERT INTO table (a, b, c) VALUES (1,2,3) INSERT INTO table SET a=1, b=2, c=3 A co z wydajnością tych dwóch?
Z definicji (przynajmniej z tego, co widziałem) sargable oznacza, że zapytanie może zoptymalizować mechanizm wykonywania zapytań przez silnik zapytań. Próbowałem poszukać odpowiedzi, ale wydaje się, że nie ma wiele na ten temat. Pytanie brzmi: co sprawia, że zapytanie SQL może zostać przeszukiwane? Każda dokumentacja byłaby bardzo mile widziana. Dla porównania: …
Biorąc pod uwagę dwa całkowite zakresy liczb całkowitych [x1: x2] i [y1: y2], gdzie x1 ≤ x2 i y1 ≤ y2, jaki jest najskuteczniejszy sposób sprawdzenia, czy oba zakresy się pokrywają? Prosta implementacja wygląda następująco: bool testOverlap(int x1, int x2, int y1, int y2) { return (x1 >= y1 && …
Z pozycji MSDN w Dictionary.TryGetValue Metoda : Ta metoda łączy funkcjonalność metody ContainsKey i właściwości Item. Jeśli klucz nie zostanie znaleziony, wówczas parametr value otrzymuje odpowiednią wartość domyślną dla typu wartości TValue; na przykład 0 (zero) dla typów całkowitych, false dla typów boolowskich, a null dla typów referencyjnych. Użyj metody …
Emulator Androida jest nieco powolny. W przypadku niektórych urządzeń, takich jak Motorola Droid i Nexus One, aplikacja działa szybciej na rzeczywistym urządzeniu niż emulator. Jest to problem podczas testowania gier i efektów wizualnych. Jak sprawić, by emulator działał tak szybko, jak to możliwe? Bawiłem się jego parametrami, ale jeszcze nie …
Nauczyłem się z książek, które powinieneś pisać dla pętli w ten sposób : for(var i=0, len=arr.length; i < len; i++){ // blah blah } więc arr.lengthnie będzie to obliczane za każdym razem. Inni twierdzą, że kompilator dokona optymalizacji, więc możesz po prostu napisać: for(var i=0; i < arr.length; i++){ // …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.