标签: latency

Linux 中发送和接收 tcp/udp 数据包的延迟来源

在 Linux 2.6 中发送/接收 TCP/UDP 数据包过程中的延迟来源是什么?

我想知道“乒乓”延迟测试中的延迟源。

有一些关于以太网延迟的相当好的论文,但它们只涵盖了线路和交换机中的延迟源(相当粗略,仅针对特定交换机)。

数据包之后有哪些处理步骤?

对普通 ping (icmp) 进行深度延迟分析的论文也会很有用。

我依赖社区:)

performance networking latency linux-kernel low-latency

3
推荐指数
1
解决办法
3874
查看次数

A53 的指令执行延迟

我正在努力优化使用浮点指令的函数。

对于基准测试,我需要了解指令的执行延迟,以了解理论上可能的性能。

我找到了A57的手册:http://infocenter.arm.com/help/topic/com.arm.doc.uan0015b/Cortex_A57_Software_Optimization_Guide_external.pdf

但是,我没有找到 A53 的任何此类文档。我错过了什么吗?A53有这样的优化指南吗?

optimization arm latency instruction-set

3
推荐指数
1
解决办法
3181
查看次数

什么是 L1 Cache Reference 或 Main Memory Reference

所以我试图学习计算机的各种组件的性能指标,如 L1 缓存、L2 缓存、主内存、以太网、磁盘等,如下所示:

Latency Comparison Numbers
--------------------------
L1 cache **reference**                       0.5 ns
Branch mispredict                            5   ns
L2 cache **reference**                       7   ns                      14x L1 cache
Mutex lock/unlock                           25   ns
Main memory **reference**                  100   ns                      20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy            10,000   ns       10 us
Send 1 KB bytes over 1 Gbps network     10,000   ns       10 us
Read 4 KB randomly from SSD*           150,000   ns      150 us          ~1GB/sec SSD
Read 1 MB sequentially from memory     250,000 …
Run Code Online (Sandbox Code Playgroud)

performance latency system-design cpu-cache

3
推荐指数
1
解决办法
490
查看次数

Scylla 如何处理写入工作负载的积极内存刷新和压缩?

对于写入工作负载情况,Scylla 如何保证/保持较低的写入延迟,因为更多的写入会产生更多的内存刷新和压缩?有限制吗?如果有人可以回答,那将非常有帮助。

latency scylla

3
推荐指数
1
解决办法
112
查看次数

如何以最有效的方式返回 List<int> 中两个最高值的总和?C#

我正在尝试通过预先编写的测试,重点关注性能。返回 int 列表中两个最大数字之和的最有效方法是什么?我已经尝试了以下方法,根据测试,当涉及较大的列表时,它不够快:

1.  list.Sort();
    list.Reverse();
    return list[0] + list[1];

2.  return list.OrderByDescending(num => num).FirstOrDefault() + list.OrderByDescending(num => num).Skip(1).FirstOrDefault();

3.  var secondHighest = list.Distinct()
                            .OrderByDescending(i => i)
                            .Skip(1)
                            .First();

    return list.Max() + secondHighest;
Run Code Online (Sandbox Code Playgroud)

c# performance latency list low-latency

3
推荐指数
1
解决办法
718
查看次数

在C++中从主机获取延迟

使用C++,我想使用命令/类来获取ping主机以在我的程序中使用的延迟时间.我尝试使用ping命令,但由于其中包含其他统计信息,因此没有简单的方法来收集时间.我希望有一个更简单的方法.

c++ latency ping

2
推荐指数
1
解决办法
2094
查看次数

POST与GET方法 - 在网络级别,受延迟影响更大?

HTTP GET和POST请求的网络通信有什么区别吗?

通过GET,我了解整个请求是一次性发送的.使用POST,我认为发送了初始请求,然后发送了第二个发送所有参数的请求.

例如,假设服务器和客户端之间的延迟是500毫秒.GET与POST通话的总时间是多少?

networking post latency get http

2
推荐指数
2
解决办法
4083
查看次数

测量一组指令的确切时间(周期数)

我的驱动器上有一些扇区读数很差.我可以衡量每个部门所需的阅读时间,然后比较好部门和坏部门的时间.

我可以使用处理器的计时器进行测量.如何在C/Assembly中编写程序来衡量每个扇区读取的确切时间?

所以程序将是这样的:

Start the timer
Read the disk sector
Stop the timer
Read the time measured by the timer
Run Code Online (Sandbox Code Playgroud)

c assembly latency

2
推荐指数
1
解决办法
6060
查看次数

在MySQL表中高效查找数百万行

我有一个包含大约2000万行的CSV文件,我想在我的Web应用程序中使用它.数据是邮政/邮政编码到实际街道地址的映射,格式如下:

[zip_or_postal_code] [street_number] [street_name] [city] [state_or_province] [country]
Run Code Online (Sandbox Code Playgroud)

我的目标是在200毫秒内保持我的查找(通过邮政编码搜索).

我不确定这是否会有所作为,但我打算做以下事情:

  • 移动state/province,countrycity列自己的表和引用这些在我的主表,以避免不必要的膨胀.
  • 一些邮政编码包含多个街道和地址,因此我将合并数据并拥有1个邮政编码和邮政编码,并将多个地址存储在varchar中.这应该从表中减少几百万行.

我可以做些什么优化来帮助查找速度?例如,Google的反向地理定位API会在300毫秒内返回一个包含HTTP开销的结果.他们是如何做到的呢?

此外,我愿意使用其他数据库,但由于我已经在使用MySQL,这将是更好的选择.

编辑:查询将始终通过邮政编码完成,例如:给定邮编12345我需要返回街道#(s)/名称,城市,州和国家.街道#(s)/名称将存储为单个字符串字段,但是,我的应用程序将负责解析它们.

mysql lookup latency large-data

2
推荐指数
1
解决办法
3847
查看次数

在JVM中发生了什么,以便当您在代码中的其他位置调用Java时,Java中的方法调用会变慢?

下面的简短代码可以解决问题.基本上我是计时方法addToStorage.我开始执行它一百万次,我能够将它的时间缩短到大约723纳秒.然后我做一个短暂的暂停(使用繁忙的旋转方法不释放cpu核心)并在另一个代码位置再次计算方法N次.令我惊讶的是,我发现N越小,addToStorage延迟越大.

例如:

If N = 1 then I get 3.6 micros
If N = 2 then I get 3.1 and 2.5 micros
if N = 5 then I get 3.7, 1.8, 1.7, 1.5 and 1.5 micros
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样,以及如何解决它?我希望我的方法能够在最快的时间内始终如一地执行,无论我在哪里调用它.

注意:我不认为它与线程有关,因为我没有使用Thread.sleep.我还测试了使用taskset相同的结果将我的线程固定到cpu核心.

import java.util.ArrayList;
import java.util.List;

public class JvmOdd {

    private final StringBuilder sBuilder = new StringBuilder(1024);
    private final List<String> storage = new ArrayList<String>(1024 * 1024);

    public void addToStorage() {

        sBuilder.setLength(0); …
Run Code Online (Sandbox Code Playgroud)

java jvm latency real-time hotspot

2
推荐指数
1
解决办法
357
查看次数