Czy operator trójskładnikowy jest szybszy niż gdyby?

Czy operator trójskładnikowy jest szybszy niż gdyby?
Czy operator trójskładnikowy jest szybszy niż gdyby?
Anonim

Ponadto, jak już wspomniano, na poziomie kodu bajtowego nie ma naprawdę żadnej różnicy między operatorem trójskładnikowym a if-then-else. Podobnie jak w powyższym przykładzie, decyzja o wyborze opiera się całkowicie na czytelności.

Czy operator trójskładnikowy jest szybszy niż w przypadku C?

Zależy od Twojego kompilatora, ale od każdego nowoczesnego kompilatora nie ma generalnie różnicy. To coś, o co nie powinieneś się martwić.

Czy operator trójskładnikowy jest szybszy niż w przypadku Pythona?

Zdefiniowałem funkcje do oceny tego warunku za pomocą instrukcji if-else i operatora trójargumentowego, używając timeit. powtórz dla obu z 100 powtórzeniami i uzyskaj średnią (dla domyślnego 1 000 000 przebiegów) 0.81 sekund dla operatora trójargumentowego, 0,88 sekundy dla instrukcji if-else.

Czy operator trójskładnikowy jest szybszy niż w przypadku JavaScript?

Pod względem szybkości nie powinno być żadnej różnicy. Chyba że używasz naprawdę złej implementacji JavaScript. Najwolniejszą częścią obu instrukcji jest rozgałęzienie.

Dlaczego operatory trójskładnikowe są szybsze niż if-else?

Podsumowując, szybkość działania operatora trójskładnikowego jest bezpośrednio związana z czasem potrzebnym na skopiowanie wyniku instrukcji, nawet jeśli nie jest to ściśle potrzebne. A kopiowanie tablicy 100000 elementów zajmuje trochę czasu.