performance - 在 ZeroMQ 中, "inproc + PAIR"比 "inproc"快吗?

标签 performance zeromq pyzmq low-latency

在 ZeroMQ 的指南中,有这样的内容:

If you use inproc and socket pairs, you are building a tightly-bound application, i.e., one where your threads are structurally interdependent. Do this when low latency is really vital.

我非常关心应用程序的延迟。

问题:

  • 是否只有“inproc-ness”使其具有低延迟?

  • 或者“inproc + PAIR”有什么特别之处,比inproc +“WHATEVER”更快

最佳答案

Q : is it the "inproc-ness" alone that makes it low-latency?

是的,。 。 。如bazza昨天已经概括了,让我补充几分:

1) inproc://-transport-class 是无堆栈、无协议(protocol)且纯(因此快速且几乎零延迟)RAM内存区域映射工具以及(如第二个问题中所问)

Q : Or is there something special about "inproc + PAIR" that is faster than inproc + "WHATEVER"?

2) PAIR/PAIR-可扩展正式通信模式原型(prototype) 没有添加额外的,模式的原型(prototype)相关的,多(多)方行为握手(与其他一些分布式有限状态自动机相比(表达模式 原型(prototype)行为所有分布式对等点之间的状态和转换 - 不使用PAIR/PAIR专有的一对一数字消防水带),因此没有任何结果添加到此处,超出了两侧的线程安全本地指针机制以及一些 Context()-实例信号。

顺便说一句,您可能已经注意到,对于纯inproc://-transport-class应用程序,您可以实例化具有零 I/O 线程的 Context( 0 ) ,因为在这些情况下 Context() 信号根本不需要它们,因为它只管理指针本地 RAM 内存区域的技巧——太可爱了,不是吗? )

关于performance - 在 ZeroMQ 中, "inproc + PAIR"比 "inproc"快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58596269/

相关文章:

.net - 如果我有三个独立的值都可以放入 32 位,那么使用 uint 来存储它们是否有意义?

Mysql group by order by 性能低下

python - ZeroMQ:多个远程(LAN)发布者

python - 难以理解 Majordomo API、pyzmq-mdp 的工作原理

python - 为什么 ZeroMQ 轮询器没有收到消息(python)?

c# - Python 比 Java/C# 慢吗?

jquery - Turbolinks 5、jQuery 3 : anyway to avoid event. off(...).on(...) 重复事件?

python - Zeromq (pyzmq) ROUTER处理多个客户端的数据以及后续的超时处理

common-lisp - ZeroMQ 的通用 lisp 绑定(bind)

python - 为什么 Zeromq 中的推/拉实现没有返回所有消息