Doxygen trwa około 12 godzin, aby uruchomić na naszej bazie kodu. Dzieje się tak głównie dlatego, że jest dużo kodu do przetworzenia (~ 1,5 M linii). Jednak bardzo szybko zbliża się moment, w którym nie możemy dokonywać nocnych aktualizacji dokumentacji, ponieważ trwa to zbyt długo. Musieliśmy już zmniejszyć głębokość wykresu, aby uzyskać 12 godzin.Doxygen jest wolny
Próbowałem standardowych podejść, ale naprawdę potrzebuję wysokiej jakości wyników, a to obejmuje wykresy i SEARCH_INCLUDES. Mam dość dobrą maszynę do uruchamiania Doxygen, ale Doxygen nie wykorzystuje wielu swoich rdzeni. (Łączy pojedynczy procesor na serwerze kompilacji, ale stanowi tylko 4% dostępnego systemu.) Posiadanie wielowątkowej konstrukcji Dot jest wygodne, ale to tylko połowa czasu budowy.
Czy są jakieś techniki, których można użyć do uruchomienia doxygen w wielu procesach i ręcznie odrzucić zadanie? Widziałem kilka rozmów na temat tworzenia plików znaczników, ale nie rozumiem ich wystarczająco dużo, aby wiedzieć, czy robią to, co chcę. Co szukam jest coś takiego:
doxygen Doxyfile-folder1
doxygen Doxyfile-folder2
doxygen Doxyfile-folder3
doxygen Doxyfile-folder4
doxygen-join output/folder1/html output/folder2/html output/folder3/html output/folder4/html
Oczywiście, ja tylko czyni rzeczy, ale to jest pomysł, co szukam. Ponadto użyłbym więcej niż 4 procesów.
Czy serwer ma wystarczającą ilość pamięci RAM, aby cała pamięć codebase była przechowywana w pamięci podręcznej i uruchamiać doxygen bez zamiany? – mpartel
Więcej pamięci RAM i/lub szybszy dysk twardy. Odbierz dysk SSD o pojemności 80 GB i umieść na nim swój kod. Oprogramowanie intensywnie korzystające z technologii IO bardzo skorzysta z nowoczesnego dysku SSD. –
Cóż, obecnie znajduje się na 10 tablicach dyskowych 10k, więc nie powinno być tak wolno ... – alficles