Я могу ускорить ветвление cygwin?

Я столкнулся с сообщением, обсудив скорость подцепления на вилку Cygwin, дав ожидаемый 'уровень ветвления' в Windows XP приблизительно 30-50 в секунду (ссылка)

У меня есть Core 2 Duo (1.79 ГГц), которые я ожидал бы получать сопоставимые результаты, но он только справляется приблизительно с 8 ветвлениями в секунду (и иногда намного меньше):

$ while (true); do date --utc; done | uniq -c
      5 Wed Apr 21 12:38:10 UTC 2010
      6 Wed Apr 21 12:38:11 UTC 2010
      1 Wed Apr 21 12:38:12 UTC 2010
      1 Wed Apr 21 12:38:13 UTC 2010
      8 Wed Apr 21 12:38:14 UTC 2010
      8 Wed Apr 21 12:38:15 UTC 2010
      6 Wed Apr 21 12:38:16 UTC 2010
      1 Wed Apr 21 12:38:18 UTC 2010
      9 Wed Apr 21 12:38:19 UTC 2010

Можно ли предложить что-нибудь, что я смог делать для ускорения вещей? Эта машина действует намного медленнее в Cygwin, чем другие, которых я использовал, перед которым на самом деле были намного медленнее.

Обновление

Позвольте моему выравнивать по ширине мой вопрос: Я не полагаю, что наличие более быстрого ветвления волшебно сделает мою жизнь лучше, но я полагаю, что этот сравнительный тест является хорошим прокси для проблем производительности, которые я вижу в ударе из-за нормальной эксплуатации внешних исполняемых файлов для вычисления значений. Я нахожу, что бужу значимую скорость на Cygwin путем прохождения через моих сценариев запуска оболочки и завершения удара и попытки заменить внешние команды внутренними; на Linux это не проблема. Часто, тем не менее, это не возможно, и мой ПК в настоящее время берет ~14s для запуска оболочки с теплого кэша и никакой загрузки.

15
задан 21.04.2010, 19:51

2 ответа

Это не имеет никакого отношения к ветвлению, являющемуся медленным.

Я видел cygwin выполненная собака, медленная, когда "домашний" каталог окон был на сетевом диске. Каждая команда искала бы там двоичные файлы, замедляющие вещи чрезвычайно.

посмотрите если

while (true); do /bin/date --utc; done | uniq -c

быстрее, если так, который является, вероятно, Вашей проблемой

иначе попытайтесь выполнить удар через strace/ltrace (если они даже работают над cygwin), и посмотрите то, что он делает, когда требуется 1 секунда для выполнения даты.

2
ответ дан 07.12.2019, 11:11

Вы не видите ветвления; Вы видите ветвление, должностное лицо, системный вызов времени чтения дневных часов, формата и преобразовываете вывод. Не говоря уже о чем разделение по времени параллельно.

Относительно какого основания Вы говорите, что другие машины "на самом деле были медленнее"? Существует много вещей, которые способствуют действительной скорости компьютера и восприятию пользователем компьютерной скорости. Какие вещи Вы делаете, где ветвления/секунда являются хорошей мерой производительности? Каковы скорость памяти, архитектура и сумма? Диск скорость ввода-вывода и буферизация?

То, которые делают Вы думаете, сделает больше ветвлений/секунда: Core i7 под управлением Vista с 512 МБ RAM или Celeron, запускающего минимальный Linux с 2 ГБ?

0
ответ дан 07.12.2019, 11:11

Теги

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