Zalety / wady unity buduje? [duplikat]

To pytanie ma już odpowiedź tutaj:

Od początku w nowej firmie zauważyłem, że używają plików Unity cpp dla większości naszych rozwiązań i zastanawiałem się, czy ktoś jest w stanie podać mi ostateczny powód, dlaczego i jak przyspieszają proces budowania? Myślałem, że edycja jednego pliku cpp w plikach unity wymusi rekompilację wszystkich z nich.

Author: manlio, 2009-05-11

3 answers

Bardzo podobne pytanie i dobre odpowiedzi tutaj: # include all .pliki cpp w jedną jednostkę kompilacji?

Podsumowanie wydaje się być takie, że mniejsze obciążenie We/Wy jest główną korzyścią.

Zobacz także Magia jedności buduje jak również w powyższym pytaniu.

 28
Author: akent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:32

Lee Winder opublikował swoje doświadczenia z Unity Builds - the Evils of Unity Builds

Jego wniosek brzmi:

Jedność buduje. Nie lubię ich.

 8
Author: mloskot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-18 23:12:03

To dlatego, że oszczędza zbędną pracę. Redundantne parsowanie i Kompilacja dla zależności. Łączenie jest również znacznie bardziej złożone - albo masz wszystkie eksportowane obiekty w jednym obiekcie (lub kilka), albo jest to oddzielny redundantny eksport w większości plików obiektowych celu. Mniejsza liczba obiektów skutkuje mniejszą liczbą wejść / wyjść i krótszym czasem łącza. W zależności od konfiguracji, włączenie może być problemem - w systemie" unity build", którego używam, kompilacja jest ostatecznie związana z procesorem i / lub pamięcią.

 2
Author: justin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-06 00:57:55