Ostatnio przeprowadzałem kilka potrzebnych optymalizacji. Jedną rzeczą, którą robiłem, jest zmiana niektórych ostringstreams -> sprintfs. Sprint do zestawu std :: strings do tablicy w stylu ac, ala char foo[500]; sprintf(foo, "%s+%s", str1.c_str(), str2.c_str()); Okazuje się, że implementacja std :: string :: c_str () Microsoftu działa w stałym czasie (zwraca tylko …
Wydobywanie funkcjonalności na metody lub funkcje jest niezbędne dla modułowości kodu, czytelności i interoperacyjności, szczególnie w OOP. Ale to oznacza, że będzie więcej wywołań funkcji. W jaki sposób podział naszego kodu na metody lub funkcje faktycznie wpływa na wydajność w nowoczesnych * językach? * Najpopularniejsze: C, Java, C ++, C …
Niektóre punkty bazowe: Wywołania metod w języku Python są „drogie” ze względu na ich interpretowaną naturę . Teoretycznie, jeśli twój kod jest wystarczająco prosty, rozbicie kodu w Pythonie ma negatywny wpływ oprócz czytelności i ponownego użycia ( co jest dużym zyskiem dla programistów, a nie dla użytkowników ). Zasada pojedynczej …
Mam duże obliczenia do zrobienia. Chociaż mogę wykorzystać wszystkie rdzenie, pomyślałem, że istnieje jakiś powód, aby zrezygnować z 1 rdzenia i go nie wykorzystywać? (procesor obliczeniowy tylko bez IO). Czy też nie doceniam systemu operacyjnego, którego nie wiedziałby, jak obsługiwać i dokonywać właściwego przełączania kontekstu, nawet jeśli wykorzystam wszystkie rdzenie?
Poniżej znajduje się przykładowy obraz, jeśli mam punkt białej kropki na środku i chcę znaleźć najbliższą możliwą lokalizację dla niebieskiego koła (która jest oczywiście w miejscu, w którym go umieściłem), jeśli wszystkie czerwone koła już istnieją . Jak mogę znaleźć tę lokalizację? Wydajność nie jest dla mnie głównym problemem tej …
Tworzę aplikację internetową, która używa MS SQL do różnych danych: w tym użytkowników, kont użytkowników, licencji użytkowników, cen licencji, faktur. Muszę rejestrować wykorzystanie systemu przez użytkowników w czasie rzeczywistym i używać go do miesięcznych płatności: np. Logować, gdy użytkownik otrzyma określoną stronę / adres URL i wystawiać rachunki użytkownikom na …
Często znane jako likelyi unlikelymakra pomagają kompilatorowi wiedzieć, czy ifzwykle będzie wprowadzane czy pomijane. Używanie go powoduje pewne (raczej niewielkie) ulepszenia wydajności. Zacząłem ich używać niedawno i nie jestem pewien, jak często należy korzystać z takich wskazówek. Obecnie używam go do sprawdzania błędów if, które zwykle są oznaczone jako unlikely. …
Jakie są praktyczne ograniczenia liczby elementów, które może zawierać słownik lub tablica mieszająca C # 4, oraz całkowita liczba bajtów, jaką te struktury mogą zawierać. Będę pracować z dużą liczbą obiektów i chcę wiedzieć, kiedy te struktury zaczną napotykać problemy. Dla kontekstu użyję 64-bitowego systemu z mnóstwem pamięci. Ponadto będę …
Zajmuję się tworzeniem aplikacji Windows, która ma różne ekrany. Jedna z nich pojawia się po dziesięciu sekundach bez tarczy lub innego wskazania, że ekran się ładuje. Uważam to za poważny problem z wydajnością, ale wydaje mi się, że jestem jedynym, który się tym martwi. Czy jestem nadgorliwy? Jaki jest dopuszczalny …
Głównym celem tego pytania: niektóre programy wykonują „dodatkową pracę” w celu zwiększenia szansy na „ostatecznie pomyślny / zadowalający” wynik, pomimo jednego lub więcej wewnętrznych błędów w oprogramowaniu, co wymaga dłuższego czasu wykonania, gdy te błędy wystąpią. Wszystko to dzieje się bez wiedzy użytkownika, jeśli wynik byłby udany. Definicja złożonego oprogramowania: …
Kiedy próbuję utworzyć interfejs dla określonego programu, zwykle staram się unikać zgłaszania wyjątków, które zależą od niepoprawnych danych wejściowych. Tak więc często zdarza się, że myślałem o takim kodzie (ten przykład jest tylko przykładem, nie przejmuj się funkcją, którą wykonuje, przykład w Javie): public static String padToEvenOriginal(int evenSize, String string) …
Czy istnieje różnica między tymi dwiema wersjami kodu? foreach (var thing in things) { int i = thing.number; // code using 'i' // pay no attention to the uselessness of 'i' } int i; foreach (var thing in things) { i = thing.number; // code using 'i' } Czy to …
Chciałbym móc zobaczyć, jaki kod w tysiącach wierszy kodu źródłowego jest uruchamiany najczęściej i trwa najdłużej. Miałoby to na celu optymalizację. Możliwość sprawdzenia, które części kodu są najczęściej uruchamiane, jest ważna dla optymalizacji, ponieważ te części powinny skupić się na przyspieszeniu. W tym samym czasie część kodu jest uruchamiana bardzo …
Większość zadań programowania o niskich opóźnieniach / wysokiej częstotliwości (na podstawie specyfikacji zadań) wydaje się być realizowana na platformach unix. W wielu specyfikacjach zwracają się one szczególnie do osób z doświadczeniem typu „Linux z niskim opóźnieniem”. Zakładając, że nie oznacza to systemu Linux działającego w czasie rzeczywistym, czy ludzie mogliby …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 4 lata temu . Czy „magia” JVM utrudnia wpływ programisty na mikrooptymalizacje w Javie? Niedawno czytałem w C ++, …
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.