Ускорение IPC с Ruby - PullRequest
       30

Ускорение IPC с Ruby

2 голосов
/ 05 февраля 2012

Я пытаюсь выполнить IPC между двумя процессами на одном компьютере с Linux в Ruby, и мне нужно оптимизировать решение, насколько это практически возможно.

Я начал с TCPSocket, но вижу, что использование UNIXSocket, вероятно, быстрее, и , возможно, не копирует данные в буферы ядра.

Я читаю ТАКИЕ потоки, и, похоже, интересно взглянуть на mmap. Но для mmap мне нужно: a) установить mmap gem и b) обеспечить блокировку, поскольку несколько клиентских процессов, вероятно, будут пытаться соединиться с процессом сервера (оба работают на одном компьютере).

Мои вопросы:

  1. Какие еще варианты вы бы порекомендовали?
  2. Как вы рекомендуете блокировать память с помощью ruby ​​mmap?
  3. Как числа, если они есть, складываются для UNIXSocket и mmap?
...