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

Тема в разделе "WASM.HEAP", создана пользователем device, 21 авг 2007.

  1. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Пишу проект под заказ.
    Написан примерно на 1/6
    Но объем исходников уже = 40.5мегабайт!!!
    Все это компилиццо 20 минут.

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

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Precompiled headers, если везде юзаются одни и те же хидеры, которые меняются нечасто (разумеется, я про C/C++)
     
  3. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Процесс застревает на поиске библиотек и инклудов (.h). Неужели так трудно прогуляться по файловой системе и найти всё необходимое?!
     
  4. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    IncrediBuild и другие подобные фичи. С прекомпилед хидерами далеко не каждый проект удастся собрать: имхо, больно геморроя много
     
  5. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    google:
    А что... это идея!


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

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    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

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    RamDrive?
     
  8. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    censored
    Не знаю. Не пробовал... Не представляю как будет работать.
     
  9. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.738
    Накинь оперативы и сделай в ней диск.

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

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

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Будет быстрее если файлы большие, но их мало.
    Если файлы не оч большие, но их много, имхо это не сильно ускорит
     
  11. device

    device Reflection

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

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.738
    С точность наоборот !

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



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

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.738
    Это понятно. Но главное это выделить лимитирующий фактор.
     
  14. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Он в одном модуле компилит библиотеку, а при компилляции другого модуля, который с ней связан, он ищет её в системе 3(!) минуты...
     
  15. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Пользователь неповезет вдвойне, так как после компилляция ему предстоит установить продукт! То есть правильно разнести по системе все библиотеки, прописать настройки, зарегистрировать компоненты... бедный чувак!
     
  16. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Никому такое счастье не нужно -- продажы будут низки.
     
  17. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.738
    нда ... напомнило серверную часть R/3

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

    Guest Guest

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

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Смотрите на пост #14.
    Может дело не в RAM?
     
  20. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Енкодер/декодер для данных определенного формата

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