Czy jawnie zadeklarowałbyś klasy final
i upewniając się, że rzeczy są opisywane jako takie, zwiększając lub zmniejszając czasy kompilacji? Rozumiem, w jaki sposób wpływa on na środowisko wykonawcze, zmniejszając wysyłkę dynamiczną.Swift Compile Times - Czy słowo kluczowe "final" powinno zwiększyć lub zmniejszyć czas kompilacji?
Anegdotycznie próbowałem tego na średniej wielkości projekcie (i włączyłem domyślne ustawienia Xcode, aby wydrukować czasy kompilacji), a czas kompilacji zaskakująco wzrósł (o 8 sekund). Czy nie powinno być łatwiej zrozumieć, jak cały kod pasuje do wskazówek, które eliminują podklasy?
Pamiętaj, dlaczego 'final' powinien wydłużyć czas kompilacji. Z 'final', mniej rzeczy jest prawnie niż bez niego, więc kompilator musi sprawdzić, że kod" ostateczny "sprawia, że jest nielegalny. 'private' może sprawić, że autouzupełnianie działa szybciej, ale nie powinno mieć dużego wpływu na czas kompilacji. – BallpointBen
Nie rozumiem, dlaczego został oznaczony jako duplikat. Wydaje się, że pytanie, o którym mowa, nie jest świadome korzyści z wydajności środowiska wykonawczego, podczas gdy ja interesuje mnie wydajność kompilatora. Przydatny bit, który mogę wyciągnąć z połączonej odpowiedzi, brzmi: "[t] jego pozwala kompilatorowi bezpiecznie przesuwać dynamiczny komunikat o kierunku wysyłki", ale to nie oznacza dokładnie zwiększenia lub zmniejszenia czasu kompilacji. – edelaney05
Zgadzam się, to nie wygląda na duplikat. Należy ponownie otworzyć. – BallpointBen