low-latency相关内容

从套接字到套接字的零分配复制

假设我们有一个套接字连接(让我们称之为c1), 我们还有N个其他套接字连接,我们要写入完全相同的消息, 要确定我们希望它写入哪个连接,我们只需要从c1读取前几个字节,但套接字上的其余字节不需要加载到Java堆中,只需写入c2... 简而言之,我们想要做的是。 我们在c1上有要读取的字节数的事件 我们读取前几个字节,并确定我们知道要将其重定向到c2。 我们将已经从c1获取的前几个字节写入c2,现在 ..
发布时间:2022-05-26 11:27:23 Java开发

纪事:如何优化内存映射文件以实现低延迟?

我正在使用Chronica将大量数据从一个JVM传输到另一个JVM。问题是,我注意到我的基准测试中有很多抖动。我对内存映射文件的了解有些有限,但我知道操作系统会在内存和磁盘之间来回交换页面。 如何配置这些页面以获得最高性能,以我的情况为例,在使用纪事时减少抖动和尽可能低的延迟?它们需要变大还是变小?它们需要是多个还是几个? 这是我目前在Ubuntu盒子上的内容: $ cat /pro ..
发布时间:2022-04-08 16:03:32 其他开发

Linux 上的低延迟串行通信

我正在 Linux 上通过串行端口实现协议.该协议基于请求应答方案,因此吞吐量受限于将数据包发送到设备并获得应答所需的时间.这些设备大多基于 arm 并运行 Linux >= 3.0.我在将往返时间减少到 10 毫秒以下时遇到了麻烦(115200 波特,8 个数据位,无奇偶校验,每条消息 7 个字节). 哪些 IO 接口的延迟最低:select、poll、epoll 或使用 ioctl 手动 ..
发布时间:2022-01-18 14:22:27 服务器开发

为什么要使用 websocket,使用它有什么好处?

我尝试阅读一些文章,但对这个主题不是很清楚. 有人愿意向我解释以下几点: 为什么在 http 上使用 websocket 什么是全双工通信 低延迟交互是什么意思 解决方案 为什么要通过 http 使用 websocket? webSocket 是客户端和服务器之间的持续连接.该连续连接允许以下内容: 数据可以随时从服务器发送到客户端,客户端甚至不需要它.这通 ..
发布时间:2021-12-25 13:54:11 Java开发

访问各种缓存和主内存的大概成本?

谁能告诉我访问 L1、L2 和 L3 缓存以及 Intel i7 处理器上的主内存的大概时间(以纳秒为单位)? 虽然这不是一个专门的编程问题,但了解这些速度细节对于一些低延迟编程挑战是必要的. 解决方案 这是 i7 和 Xeon 系列处理器的性能分析指南.我应该强调,这有你需要的东西,还有更多(例如,查看第 22 页的某些时间和周期). 此外,此页面有一些详细信息关于时钟周期等 ..
发布时间:2021-12-21 09:47:10 其他开发

在 Python 中设置 Windows 命令行终端标题

我正在 Windows 机器上运行某个 Python 脚本的多个实例,每个实例都来自不同的目录并使用单独的 shell 窗口.不幸的是,Windows 为这些 shell 窗口中的每一个提供了相同的名称: : C:\Windows\system32\cmd.exe - 是否可以通过 Python 命令将此名称设置为其他名称? 解决方案 适用于 Windows 下的 Python2.7 ..
发布时间:2021-09-25 19:41:17 Python

OSX 和 Windows 10 上的低延迟同步输出

我正在尝试通过高速 USB 2 以极低的延迟输出同步数据(以编程方式生成).理想情况下大约 1-2 毫秒.在 Windows 上我使用的是 WinUsb,在 OSX 上我使用的是 IOKit. 我想到了两种方法.我想知道哪个最好. 1 帧传输 WinUsb 允许的范围非常有限,并且要求每次同步传输都是整数帧(1 帧 = 1 毫秒).因此,为了最大限度地减少延迟,请在循环中使用每一 ..
发布时间:2021-09-15 18:54:26 其他开发

使用NODE.JS和html5的低延迟(50ms)视频流

目标: 我正在构建FPV机器人,我想通过Web浏览器通过本地wi-fi连接对其进行控制. 我正在使用带有Raspbian Stretch的树莓派3B +.我制造了自己的电动机控制和功率调节器帽子. 经过大量研究测试,我决定将node.js用作http服务器和socket.io,以与我的机器人进行低延迟的双向通信.该堆栈可实现大约7毫秒的延迟. 机器人的图片 问题: ..
发布时间:2021-05-14 20:02:09 前端开发

如何预取不常用的代码?

我想将一些代码预取到指令缓存中.代码路径很少使用,但对于极少数情况,我需要将其放在指令高速缓存中或至少在L2中.对于这些罕见情况,我有一些提前通知._mm_prefetch是否适用于代码?有没有办法在缓存中获取这种不常用的代码?对于这个问题,我不在乎可移植性,所以即使asm也可以. 解决方案 答案取决于您的CPU体系结构. 也就是说,如果您使用的是gcc或clang,则可以使用 __ ..
发布时间:2021-04-19 19:32:12 C/C++开发

当繁忙旋转的Java线程绑定到物理核心时,是否可以通过到达代码中的新分支的原因来进行上下文切换?

我对低延迟代码感兴趣,这就是为什么我尝试配置线程相似性的原因.特别是,它应该有助于避免上下文切换. 我已经使用 https://github.com/OpenHFT/Java-Thread配置了线程相似性-亲和力.我运行了非常简单的测试代码,该代码只是循环检查时间条件. long now = start; while (true) { if (n ..
发布时间:2021-02-14 19:40:16 Java开发

ZeroMQ订阅服务器未通过inproc:传输类接收到发布者的消息

我对 pyzmq 很陌生。我试图理解 inproc: 运输类,并创建了此示例示例以供使用。 看起来 Publisher 实例正在发布消息,但 Subscriber 实例不接收任何实例。 如果我移动了 Subscriber 实例进入单独的 进程 ,并将 inproc:更改为 tcp: 运输类,该示例有效。 这里是代码: 导入线程 导入时间 导入zmq contex ..

为什么Windows7上的TCP / IP需要500个发送来进行预热? (w10,w8证明不受影响)

我们看到 Windows 7 上的ZeroMQ出现了一种奇怪且无法解释的现象,它通过TCP发送消息。(或通过 > inproc ,因为ZeroMQ在Windows上内部使用TCP进行信号传输。) 现象是前500条消息到达的速度越来越慢,并且延迟不断增加。然后,除了CPU /网络争用导致的峰值外,等待时间下降并且消息始终如一地迅速到达。 问题在此处描述: https://github.c ..
发布时间:2020-10-22 18:59:28 其他开发

使用0mq(ZeroMQ)同步两个简单的python3脚本时出现死锁

当我尝试使用0mq( ZeroMQ )同步两个python3脚本时,出现了这个奇怪的死锁。这些脚本可以很好地运行数千次迭代,但是迟早它们都会停止并互相等待。我正在Windows 7上从不同的CMD-Windows运行两个脚本。 我不知道 为什么这样的死锁甚至可能发生 。 这儿怎么了? 脚本A: 而(1): context = zmq.Context() socket = ..
发布时间:2020-10-19 04:14:37 Python

使用gstreamer进行低延迟的音频捕获

我需要(几乎)在Linux上使用gstreamer进行实时音频捕获.我的问题是我无法将延迟降低到〜210ms以下.我尝试了从麦克风到耳机的简单环回: gst-launch-1.0 pulsesrc ! alsasink gst-launch-1.0 alsasrc ! alsasink 两者都产生了相同的延迟. alsasrc的latency-time属性没有帮助(它确实增加了给定的延迟 ..
发布时间:2020-09-13 23:25:00 其他开发