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.