我一直在研究各种语言(主要是功能性的),它们为吞吐量和并发性提供了巨大的潜力。但是,对于延迟敏感的应用程序(我的意思是响应小于 1 毫秒的事件的可能性)似乎超出了它们的范围。
我可以在 C 中做到这一点,但我想知道是否有任何东西提供低延迟和高并发性,或者它们(我怀疑)是互斥的?
注意:在前面的问题中,有很多关于“互斥”位的讨论——但我认为它是正确的——如果你需要极低的延迟,你就无法获得大规模的并发性。我绝对希望在这方面被证明是错误的!:-)
我一直在研究各种语言(主要是功能性的),它们为吞吐量和并发性提供了巨大的潜力。但是,对于延迟敏感的应用程序(我的意思是响应小于 1 毫秒的事件的可能性)似乎超出了它们的范围。
我可以在 C 中做到这一点,但我想知道是否有任何东西提供低延迟和高并发性,或者它们(我怀疑)是互斥的?
注意:在前面的问题中,有很多关于“互斥”位的讨论——但我认为它是正确的——如果你需要极低的延迟,你就无法获得大规模的并发性。我绝对希望在这方面被证明是错误的!:-)
C 和 asm 之间的差异不太可能是响应延迟的主要因素。毕竟,在到达你的代码之前,系统必须首先在 Linux 内核中运行相当多的 C 代码,以便在你的进程中进行调度。你最好做一些事情,比如打开线程中断处理程序、设置实时优先级和禁用可能导致系统管理模式陷阱的 BIOS 功能。
你说的延迟是什么意思?C 只不过是便携式汇编程序而已。大多数 C 指令直接映射到处理器指令。与其他语言相比,C 开销非常小。如果您指的是 DSP 编程中的延迟,您可能需要检查输入和输出时间,而不是处理本身。
Erlang似乎是大佬们用来处理这类事情的语言。