Mój szef właśnie powiedział mi, że dowiedział się o szybkich algorytmach VB6 z książki i że najkrótszy sposób pisania rzeczy niekoniecznie jest najszybszy (np. metody wbudowane są czasami wolniejsze od autorskich, ponieważ wykonują wszystkie rodzaje konwersji lub konwersje Unicode, które mogą nie być konieczne w twoim przypadku).Prędkość różnych konstrukcji w językach programowania (Java/C#/C++/Python/...)
Teraz zastanawiam się, czy istnieje strona z informacjami na temat szybkich różnych konstrukcji w różnych językach, szczególnie w języku angielskim. Java/C#/Python/... (również C++, ale jest tak wiele kompilatorów, które prawdopodobnie różnią się znacznie).
E.g. Jest jakaś różnica między
if (a()) b();
i
a() && b();
Innym przykładem jest a = a * 4
może skompilowany do tego samego kodu jako a <<= 2
?
Mogłem to przetestować, oczywiście, pisząc oba, a następnie uruchamiając je 100 000 razy i porównując środowisko uruchomieniowe, ale chciałbym również poznać nowe sposoby pisania rzeczy, może nawet rzeczy, których wcześniej nie brałem pod uwagę . Dziękuję za odpowiedzi!
, chyba że pracujesz na bardzo specjalnym sprzęcie (jak na przykład wbudowana Java SmartCard) lub w specjalnych algorytmach (takich jak, powiedzmy, kryptograficzne interfejsy API), nie ma sensu się tym martwić. – SyntaxT3rr0r
Oprócz dotychczasowych odpowiedzi: Najczystszy, najkrótszy i najbardziej konserwatywny sposób na napisanie to najlepszy sposób na pisanie, mimo wszelkich hipotetycznych różnic w wydajności, chyba że oczywiście ma on naprawdę horrograficzną charakterystykę działania (np. Naiwny quicksort w Haskell , który robi wiele i wiele list konkatenacji). – delnan
W języku jest dużo więcej niż algebra boole'owska i podstawowe konstrukcje decyzyjne. Platforma .NET 4 jest wystarczająco przerażająca, znacznie mniej w porównaniu do 2-3 innych. Czy mówisz w języku C++ zarządzanym lub niezarządzanym? lol, ludzie piszą te rzeczy, a nie maszyny. Miałbyś szczęście, gdybyś znalazł poprawną dokumentację, a tym bardziej krzyżykowe schematy Big-O. Witaj w rzeczywistości, przyjacielu. –