小编Dim*_*nNe的帖子

为什么处理未排序数组与使用现代 x86-64 clang 处理排序数组的速度相同?

我发现了这个流行的大约 9 岁的SO 问题,并决定仔细检查其结果。

所以,我有 AMD Ryzen 9 5950X、clang++ 10 和 Linux,我从问题中复制粘贴了代码,这是我得到的:

排序 - 0.549702s

~/d/so_sorting_faster$ cat main.cpp | grep "std::sort" && clang++ -O3 main.cpp && ./a.out
    std::sort(data, data + arraySize);
0.549702
sum = 314931600000
Run Code Online (Sandbox Code Playgroud)

未分类 - 0.546554s

~/d/so_sorting_faster $ cat main.cpp | grep "std::sort" && clang++ -O3 main.cpp && ./a.out
    // std::sort(data, data + arraySize);
0.546554
sum = 314931600000
Run Code Online (Sandbox Code Playgroud)

我很确定 unsorted 版本比 3ms 快的事实只是噪音,但它似乎不再慢了。

那么,CPU 的架构发生了什么变化(使其不再慢一个数量级)?

以下是多次运行的结果:

Unsorted: 0.543557 0.551147 0.541722 0.555599
Sorted: …
Run Code Online (Sandbox Code Playgroud)

c++ performance cpu-architecture clang branch-prediction

153
推荐指数
1
解决办法
1万
查看次数

QEMU virtio/virtconsole 设备解释

让我们举个例子(我花了几个小时才让它工作):

qemu-system-x86_64 ... \
-kernel $HOME/devel/vmlinuz-5.11.0-22-generic            \
-drive ...                                               \
-append 'earlyprintk=hvc0 console=hvc0 root=/dev/sda rw' \ (0)
-device virtio-serial-pci,id=virtio-serial0              \ (1)
-chardev stdio,id=charconsole0                           \ (2)
-device virtconsole,chardev=charconsole0,id=console0       (3)
Run Code Online (Sandbox Code Playgroud)

这些选项有什么作用?我的理解是

  • (2) 告诉 qemu 创建 tty/console 的主机端点并将其“绑定”到 qemu 的 stdio。
  • (3) 告诉 qemu 哪些设备应该暴露给 guest 虚拟机,并且还指定charconsole0应该用作另一端,这实际上是 qemu 的 stdio。
    • 但什么是virtconsole
    • virtconsolevirtserialport或 和有什么不一样virtio-serial-pci
  • (1) 有什么作用?它的名字:从何而来virtio-serial-pci
  • 我如何知道virtconsole来宾中的设备将使用该名称进行标识hvc0(以便我可以在 (0) 中指定它)?

kvm qemu

5
推荐指数
1
解决办法
3391
查看次数

InfiniBand解释道

任何人都能解释什么是InfiniBand吗?与以太网相比有哪些主要区别,这些差异如何使其比以太网更快?

在mellanox 的官方描述中写道

介绍InfiniBand,一种基于交换机的串行 I/O互连架构,运行于...

Infiniband是基于交换机的互连是什么意思?我找到了这个描述,但它没有解释如果几个输入要写入单个输出会发生什么,碰撞是如何解决的?

据说Infiniband还有端到端的流量控制.是否意味着没有(需要)任何其他(中间)流量控制?为什么?

infiniband

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

巴泽尔+QtCreator

似乎,在 QtCreator 中没有打开Bazel(用于构建张量流应用程序的构建系统)项目的“标准/官方”方式,但是有人找到了任何解决方法吗?

qt-creator bazel tensorflow

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