Способы ускорить время изготовления? (C#/Unmanaged C++)

Используйте size_t:

for (size_t i=0; i < polygon.size(); i++)

Заключение в кавычки Википедия :

stdlib.h и stddef.h заголовочные файлы определяют тип данных, названный size_t, который используется для представления размера объекта. Библиотечные функции, которые берут размеры, ожидают, что они будут типа size_t, и sizeof оператор оценивает к size_t.

фактический тип size_t зависим от платформы; частая ошибка состоит в том, чтобы принять size_t, совпадает с неподписанным интервалом, который может привести к программным ошибкам, особенно поскольку 64-разрядная архитектура становится более распространенной.

5
задан Kyle 29 July 2009 в 19:00
поделиться

5 ответов

Вот пара предложений (я не действительно знаю, что происходит и / или почему; так что это всего лишь предложения; может быть, один из них решит проблему ^^) .

Прежде всего, пара вопросов:
(Они имеют значение, по крайней мере, если ни одно из этих предложений не помогает)

  • Какую версию PHP / Apache вы используете?
  • Вы используете Windows? Linux?
  • Если вы находитесь на своем «производственном» сервере, какую службу хостинга вы используете? Может быть, в этом есть что-то особенное?
  • Проблема присутствует для каждого ?
    • Всегда ли возникает проблема при просмотре сайта?
    • Присутствует ли она, когда вы заходите на сайт из другого браузера?
    • А как насчет с другого компьютера?
  • Если вы используете что-то вроде var_dump ($ _ SESSION); die; в конце сценария, который устанавливает данные в сеансе, что это дает?


Первая идея: что, если вы установите какой-либо заголовок, чтобы отключить кеширование браузером?
Подобные вещи, например:

session_start();
header("Cache-control: private");


Вторая идея (по крайней мере, если вы используете Windows): вы пытались отключить антивирус / брандмауэр?
Правильно ли создается файл cookie сеанса в браузере клиента?
Если вы используете субдомены (или нет): в порядке ли домен cookie? Как насчет даты истечения срока его действия?


Третья идея:

  • вы сказали, что error_reporting установлен на E_ALL , что хорошо
  • как насчет display_errors ? Установлено ли для него значение «Вкл.», Чтобы отображались ошибки?
  • Есть ли что-нибудь интересное в error_log PHP / Apache ?


Еще один вопрос: Вы уверены, что абсолютно ничего не попадает в вывод до того, как начало_сеанса ? Даже пробелов?


Еще один: Вы уверены в разрешениях на каталоги / файлы?

  • Разрешение на запись в каталог означает, что вы можете создавать новые файлы и / или удалять старые.
    • Но, если я правильно помню, вы не можете их изменять
  • Чтобы изменять файлы, вам также нужен доступ на запись к файлам
    • На самом деле, вашему веб-серверу требуется доступ на запись к этим файлам ^^

Какие права доступа к каталогу сеанса и к (пустым) файлам, которые создаются?


У меня заканчиваются идеи ... Если повезет, может быть, один из них окажется правильным ... Или поможет вам выяснить, какой будет правильный!

Удачи!

Говоря о 2-часовом времени сборки, часто также существует простое и дешевое (в широком смысле) решение:

  • Обновите свое оборудование, чтобы сократить время вычислений
8
ответ дан 18 December 2019 в 10:47
поделиться

Если вы установите IncrediBuild на каждую машину, которая должна его построить, он распределяет процесс сборки между всеми машинами. Если вы действительно хотите решить проблему с помощью оборудования, вы можете настроить несколько выделенных машин, которые будут служить только клиентами IncrediBuild.

В другом масштабе убедитесь, что в каждом проекте правильно настроены предварительно скомпилированные заголовки.

4
ответ дан 18 December 2019 в 10:47
поделиться

Сделайте несколько решений для проекта, которые включают только соответствующие подмножества проектов, и оставьте одно супер-решение для выпусков и т. Д.

0
ответ дан 18 December 2019 в 10:47
поделиться

Вы можете попробовать распределенную систему сборки Incredibuild: http://www.xoreax.com/visual_studio.htm

2
ответ дан 18 December 2019 в 10:47
поделиться

Вы можете использовать такой инструмент, как lint , чтобы проверить, есть ли у вас избыточные включаемые файлы в ваших проектах C ++.

Также есть отличная статья на эту тему в Games from Within .

2
ответ дан 18 December 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: