TCP против общей памяти?

0

Я понимаю, что если разделяемая память используется правильно, она может быть быстрее любого другого IPC. Мой вопрос немного конкретнее: если я переношу многие небольшие пакеты, например, 100 байт, из разных программ в одну основную программу, какую скорость можно ожидать?

  • 0
    Почему бы тебе не проверить это? Это звучит как очень простой тест ...
  • 3
    Вероятно, около 12%.
Показать ещё 3 комментария
Теги:

1 ответ

2
Лучший ответ

Преимущество использования разделяемой памяти будет не так много, потому что в конечном итоге вы получите условные переменные в общей памяти (см. pthread_condattr_setpshared; кстати, это будет существенная работа по кодированию.) Тогда ваша логика регулируется OS, и он не очень отличается от использования localhost TCP-соединения, которое имеет разную и быструю реализацию, чем стандартный TCP на большинстве ОС.

Если все в порядке, чтобы полностью полагаться на спин-блокировку на общей памяти, то вы действительно осознаете существенную скорость, например, x3 fold.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню