Сетевые инструменты, которые моделируют медленное [закрытое] сетевое соединение

Лучший ответ - то, что ++i иногда будет быстрее, но никогда медленнее.

Все, кажется, предполагают, что i регулярный встроенный тип такой как int. В этом случае не будет никакого измеримого различия.

Однако, если i составной тип тогда, можно найти измеримое различие. Для i++ необходимо сделать копию класса прежде, чем увеличить его. В зависимости от того, что вовлечено в копию, это могло действительно быть медленнее с тех пор с ++it, можно просто возвратить окончательное значение.

Foo Foo::operator++()
{
  Foo oldFoo = *this; // copy existing value - could be slow
  // yadda yadda, do increment
  return oldFoo;
}

Другое различие - то, что с ++i у Вас есть опция возврата ссылки вместо значения. Снова, в зависимости от того, что вовлечено в создание копии Вашего объекта, это могло быть медленнее.

А реальным примером того, где это может произойти, было бы использование итераторов. Копирование итератора вряд ли будет узким местом в Вашем приложении, но это - все еще хорошая практика для вырабатывания привычку использования ++i вместо i++, где результат не затронут.

240
задан MaxK 7 July 2009 в 09:44
поделиться

6 ответов

попробуйте Traffic Shaper XP вы можете легко ограничить скорость IE или другого браузера с помощью этого приложения, а также его бесплатного программного обеспечения

23
ответ дан 23 November 2019 в 03:17
поделиться

Я успешно использовал TMnetSim (внизу страницы, в разделе «Другие инструменты» - по ссылке написано что-то вроде «ZIP: TMnetSim Network Simulator version 2.4 32-bit (600 КБ) »

Это касается не только веб-сайтов - вы можете замедлить подключение к любому TCP-порту. Я использовал его для имитации медленного SQL Server (порт 1433).

13
ответ дан 23 November 2019 в 03:17
поделиться

В Linux см. netem : ядро ​​уже содержит поддержку формирования трафика и может имитировать высокую задержку, низкую пропускную способность, потери пакетов и всевозможные другие неблагоприятные условия. , даже на устройстве с обратной связью (так что вам не нужна реальная физическая сеть для тестирования).

261
ответ дан 23 November 2019 в 03:17
поделиться

В моей работе используется этот инструмент, и он кажется неплохим: http://www.dallaway.com/sloppy/

Желаем удачи.

17
ответ дан 23 November 2019 в 03:17
поделиться

Я восстанавливаю эту ветку, потому что недавно у меня возникла такая же потребность. Удивительно, но я обнаружил, что для этого можно использовать Fiddler, настроив правила и добавив эту строку oSession ["response-trickle-delay"] = "150"; в раздел OnBeforeResponse . Fiddler действительно потрясающий

75
ответ дан 23 November 2019 в 03:17
поделиться

DummyNet

Попробуйте этот образ VMWare на базе FreeBSD. Там также есть отличный how-to, чисто бесплатный и встает за 20 минут.

Обновление: DummyNet также поддерживает Linux, OSX и Windows

6
ответ дан 23 November 2019 в 03:17
поделиться
Другие вопросы по тегам:

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