Ускорить процесс сборки

Discussion in 'WASM.HEAP' started by device, Aug 21, 2007.

  1. device

    device Reflection

    Blog Posts:
    0
    Пишу проект под заказ.
    Написан примерно на 1/6
    Но объем исходников уже = 40.5мегабайт!!!
    Все это компилиццо 20 минут.

    Я представил, что будет, когда проект будет дописан: конечный юзер уснет за компом, пока будет собирать проект.
    Есть ль способы разогнать этот процесс
     
  2. wasm_test

    wasm_test wasm test user

    Blog Posts:
    0
    Precompiled headers, если везде юзаются одни и те же хидеры, которые меняются нечасто (разумеется, я про C/C++)
     
  3. device

    device Reflection

    Blog Posts:
    0
    Процесс застревает на поиске библиотек и инклудов (.h). Неужели так трудно прогуляться по файловой системе и найти всё необходимое?!
     
  4. gilg

    gilg New Member

    Blog Posts:
    0
    IncrediBuild и другие подобные фичи. С прекомпилед хидерами далеко не каждый проект удастся собрать: имхо, больно геморроя много
     
  5. device

    device Reflection

    Blog Posts:
    0
    google:
    А что... это идея!


    Некоторые приколисты с работы:
    ... Я бы вообще не разгонял процесс, но требуют скорости заказчики.
     
  6. device

    device Reflection

    Blog Posts:
    0
    http://www.google.com/search?hl=ru&as_qdr=all&q=%D1%80%D0%B0%D0%B7%D0%B3%D0%BE%D0%BD%D0%BA%D0%B0+%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D0%B8+-posix-format--unix+%D0%BD%D0%B0+%D1%81%D0%B8+--at-NO_US_SITES+-MAX_10_RESULTS&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
    тут есть пара способов
     
  7. censored

    censored New Member

    Blog Posts:
    0
    RamDrive?
     
  8. device

    device Reflection

    Blog Posts:
    0
    censored
    Не знаю. Не пробовал... Не представляю как будет работать.
     
  9. asmlamo

    asmlamo Well-Known Member

    Blog Posts:
    0
    Накинь оперативы и сделай в ней диск.

    Скопируй туда все библиотеки и собирай проект на нем.

    Должно быть значительное ускорение.
     
  10. wasm_test

    wasm_test wasm test user

    Blog Posts:
    0
    Будет быстрее если файлы большие, но их мало.
    Если файлы не оч большие, но их много, имхо это не сильно ускорит
     
  11. device

    device Reflection

    Blog Posts:
    0
    Great
    Тут не только файлы - проект из кучи модулей состоит и каждый компилится по очереди.
    Есть серверная часть, есть клиентская. У серверной куча модулей по работе с БД, ФС, командный интерпретатор, поисковик и тп... У клиентской GUI, сам клиент, графика и тп. Мы пока приходим к выводу, что больше всех не повезет пользователям, которые приобретут этот продукт:)
     
  12. asmlamo

    asmlamo Well-Known Member

    Blog Posts:
    0
    С точность наоборот !

    При компиляции больших проектов есть множество маленьких файлов.
    И головка винчестера постоянно мечется. Отсель и тормоза.
    Высокий уровень линейного чтения не помогает т.к. участков относительно мало.



    А у RamDrive низкий уровень латентности т.к. нет головок.
    И на куче маленьких файлов будет заметный выйгрыш.
     
  13. asmlamo

    asmlamo Well-Known Member

    Blog Posts:
    0
    Это понятно. Но главное это выделить лимитирующий фактор.
     
  14. device

    device Reflection

    Blog Posts:
    0
    Он в одном модуле компилит библиотеку, а при компилляции другого модуля, который с ней связан, он ищет её в системе 3(!) минуты...
     
  15. device

    device Reflection

    Blog Posts:
    0
    Пользователь неповезет вдвойне, так как после компилляция ему предстоит установить продукт! То есть правильно разнести по системе все библиотеки, прописать настройки, зарегистрировать компоненты... бедный чувак!
     
  16. censored

    censored New Member

    Blog Posts:
    0
    Никому такое счастье не нужно -- продажы будут низки.
     
  17. asmlamo

    asmlamo Well-Known Member

    Blog Posts:
    0
    нда ... напомнило серверную часть R/3

    Народ инсталял ее более суток.
     
  18. Guest

    Guest Guest

    Blog Posts:
    0
    Ёёёё, что это за проект аж в 40*6= ~240 MB? Искусственный интелект для мин. обороны?
    Я собирал большие проекты, но максимум приходилось ждать около минуты (irrlicht engine).
    А ты уже используешь:
    1. "#pragma once" или
    2. #ifndef FILE_H
    #define FILE_H
    #endif
    ? - неслабо ускоряет
    Вроде при сборке проекта для каждого хидера создается еще какой-то файл на винте, поэтому должно быть чем меньше хидеров тем быстрее.
     
  19. device

    device Reflection

    Blog Posts:
    0
    Смотрите на пост #14.
    Может дело не в RAM?
     
  20. device

    device Reflection

    Blog Posts:
    0
    Енкодер/декодер для данных определенного формата

    Не для продажи или проката. Есть конкретные люди, заказавшие проект.