Spotkałem wielu ludzi, którzy są dogmatycznie przeciwni czemukolwiek, co można uznać za „optymalizację” w ogólnym znaczeniu tego słowa w języku angielskim, i bardzo często cytują dosłownie (częściowo) cytat „przedwczesna optymalizacja jest źródłem wszelkiego zła” jako uzasadnienie ich stanowiska, sugerując, że interpretują wszystko, o czym mówię, jako „przedwczesną optymalizację”. Jednak te …
Nie znam dobrze Python. Staram się lepiej zrozumieć, jakie dokładnie cechy dynamicznych języków (à la Python, Lua, Scheme, Perl, Ruby, ...) zmuszają ich implementacje do powolnego działania. Przykładowo, maszynowość meta Lua 5.3 intuicyjnie spowolniłaby Lua dość powoli, ale w praktyce Lua jest podobno dość szybka (i szybsza niż Python). Mam …
Jakie jest lepsze podejście, jeśli chodzi o wydajność i optymalne wykorzystanie zasobów: wielokrotny dostęp do bazy danych za pośrednictwem AJAX w celu uzyskania tylko potrzebnych informacji, gdy jest to potrzebne, lub wykonanie jednego dostępu w celu odzyskania obiektu zawierającego wszystkie informacje, które mogą być potrzebne , z dużym prawdopodobieństwem, że …
Dlaczego zespół LMAX zaprojektował LMAX Disruptor w Javie, ale wszystkie ich punkty konstrukcyjne minimalizują użycie GC? Jeśli nie chce się uruchamiać GC, to po co używać języka bezużytecznego? Ich optymalizacje, poziom wiedzy o sprzęcie i myśl, którą włożyli, są po prostu niesamowite, ale dlaczego Java? Nie jestem przeciwny Jawie ani …
Typowym przykładem projektowania zorientowanego na dane jest struktura Ball: struct Ball { float Radius; float XYZ[3]; }; a następnie tworzą algorytm, który iteruje std::vector<Ball>wektor. Następnie dają ci to samo, ale zaimplementowane w projektowaniu zorientowanym na dane: struct Balls { std::vector<float> Radiuses; std::vector<XYZ[3]> XYZs; }; Co jest dobre i wszystko, jeśli …
To pytanie zostało przeniesione z Code Review Stack Exchange, ponieważ można na nie odpowiedzieć na Software Engineering Stack Exchange. Migrował 5 lat temu . Wiem, że wyjście na konsolę to kosztowna operacja. W trosce o czytelność kodu miło jest czasem wywołać funkcję, która wyśle tekst dwukrotnie, zamiast mieć długi ciąg …
Zespół LMAX przedstawił prezentację na temat tego, w jaki sposób byli w stanie wykonać 100 000 TPS przy opóźnieniu krótszym niż 1 ms . Utworzyli kopię zapasową tej prezentacji za pomocą bloga , artykułu technicznego (PDF) i samego kodu źródłowego . Niedawno Martin Fowler opublikował doskonały artykuł na temat architektury …
Definicja Wikipedii z oprogramowania zgniliznę skupia się na wydajności oprogramowania. To jest inne zastosowanie niż ja; Myślałem o tym znacznie bardziej pod względem czystości i wyglądu kodu - pod względem tego, że kod ma wszystkie standardowe cechy jakościowe: czytelność, łatwość konserwacji itp. Teraz wydajność prawdopodobnie spadnie, gdy kod stanie się …
Widziałem artykuł, w którym opublikowano to oświadczenie: Programiści lubią optymalizować kod i nie bez powodu. To takie satysfakcjonujące i zabawne. Ale wiedza, kiedy zoptymalizować, jest znacznie ważniejsza. Niestety, programiści zazwyczaj mają okropną intuicję na temat tego, gdzie faktycznie będą występować problemy z wydajnością aplikacji. Jak deweloper może uniknąć tej złej …
(Jest to skierowane głównie do tych, którzy mają konkretną wiedzę na temat systemów o niskim opóźnieniu, aby uniknąć odpowiedzi osób niepotwierdzonych). Czy uważasz, że istnieje kompromis między pisaniem „ładnego” kodu obiektowego a pisaniem bardzo szybkiego kodu o niskim opóźnieniu? Na przykład unikanie funkcji wirtualnych w C ++ / narzutu polimorfizmu …
Mówię o tym, w jaki sposób piszemy proste procedury w celu poprawy wydajności bez utrudniania czytania kodu ... na przykład, jest to typowe, czego się nauczyliśmy: for(int i = 0; i < collection.length(); i++ ){ // stuff here } Ale zwykle robię to, gdy a foreachnie ma zastosowania: for(int i …
Wydaje się, że istnieją przybliżone odpowiedniki instrukcji do zrównania się z kosztem braku funkcji wirtualnych oddziału mają podobny kompromis: instrukcja a brak pamięci podręcznej danych bariera optymalizacji Jeśli spojrzysz na coś takiego: if (x==1) { p->do1(); } else if (x==2) { p->do2(); } else if (x==3) { p->do3(); } ... …
Jestem młodszym programistą i zastanawiałem się, kiedy najlepiej zoptymalizować oprogramowanie w celu uzyskania lepszej wydajności (szybkości). Zakładając, że oprogramowanie nie jest zbyt duże i skomplikowane w zarządzaniu, czy lepiej poświęcić więcej czasu na jego optymalizację na początku, czy powinienem po prostu opracować oprogramowanie, które poprawnie wykonuje wszystkie funkcje, a następnie …
Powiedzmy, że chcę pokazać formularz, który reprezentuje 10 różnych obiektów na comboboxie. Na przykład chcę, aby użytkownik wybrał jednego hamburgera spośród 10 różnych zawierających pomidory. Ponieważ chcę oddzielić interfejs użytkownika od logiki, musiałbym przekazać formularz reprezentujący ciąg hamburgerów w celu wyświetlenia ich na comboboxie. W przeciwnym razie interfejs użytkownika musiałby …
W samouczku Google MNist z użyciem TensorFlow pokazano obliczenia, w których jeden krok jest równoważny pomnożeniu macierzy przez wektor. Google najpierw pokazuje obraz, w którym każde mnożenie i dodawanie liczbowe, które byłoby potrzebne do wykonania obliczenia, jest zapisywane w całości. Następnie pokazują obraz, na którym jest on wyrażony jako mnożenie …
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.