问题标签 [throughput]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
x86 - x86:超越函数的延迟和吞吐量
英特尔® 64 和 IA-32 架构优化参考手册列出了各种 CPU 指令的延迟和吞吐量数据。
对于超越函数(FSIN
等),一些数字被列为范围(第 C-29 页)。脚注 4 解释:
先验指令的延迟和吞吐量在动态执行环境中可能会有很大差异。这些说明仅给出了一个近似值或一个值范围。
我的问题是:哪些因素会影响此类指令的吞吐量和延迟?我想这个论点的价值是一个因素。还有其他的吗?
linux-device-driver - pcie原始吞吐量测试
我正在通过内核模块进行 PCIE 吞吐量测试,测试结果数字很奇怪(PCIE gen1 x1 的写入速度为 210MB/s,但读取速度仅为 60MB/s)。如果我的测试配置中有错误的方法,我想请您提出建议和更正。
我的测试配置如下:
- 一块板配置为根端口,一块板配置为端点。PCIE 链路为 gen 1,宽度 x1,MPS 128B。两块板都运行 Linux 操作系统
- 在 Root Port 端,我们分配了一个内存缓冲区,其大小为 4MB。我们将入站 PCIE 内存事务映射到此缓冲区。
- 在端点端,我们对远程缓冲区进行 DMA 读/写并测量吞吐量。通过此测试,端点将始终是事务的发起者。
- EP Write 测试的测试结果是 214MB/s,EP Read 测试只有 60MB/s。PCIe Gen1 x1 的写入测试吞吐量是合理的,但 EP 读取吞吐量太低。
对于 RP 板,我使用 PCIE 以太网 e1000e 卡对其进行了测试,并获得了最大吞吐量 ~900Mbps。我只是想知道在以太网 TX 路径的情况下,以太网卡(扮演端点角色)也执行 EP 读取请求,并且可以通过更小的 DMA 传输获得高吞吐量(~110MB/s),所以我的 DMA 一定有问题EP 读取配置。
DMA 读取测试的细节可以总结为以下伪代码:
任何建议和建议表示赞赏。先谢谢了!
java - 不同大小的数组的吞吐量不同
我有像这样的数组
我用一些值填充它们。说,
然后我将它写入一个 RandomAccessFile 并再次从该文件读取到同一个数组中,使用,
当我尝试计算这两个不同大小(10 字节和 1Mb)的数组的吞吐量(使用为文件读取和写入计算的时间)时,1MB 数组的吞吐量似乎更高。
为什么会这样?我有四核处理器的 Intel i7。我的硬件配置会对此负责吗?如果不是,可能的原因是什么?
testing - CUDA,测试吞吐量的小程序
我需要通过在不同场景下测试它们的吞吐量来测试一些 GPU。
这包括一个简单的 64b 乘法:
64b 模数:
和 64b mul+mod:
我认为任何内存访问对我的意图都是完全没用的,我想使用线程索引变量作为输入。
而且由于我要在没有寄存器上写,所以我不需要关心寄存器的使用,我可以启动尽可能多的线程(每个 GPU 允许)
我想知道:
如果这是正确的方法
除了最大化线程数之外,是否有任何特定的线程配置可以检索到最佳吞吐量?
python - Amazon DynamoDDB:对表预置吞吐量的编程更改是否有限制?
我正在处理大量文件,如下所示:我首先将它们全部下载到 EC2 实例,然后运行一个脚本,该脚本顺序处理每个文件并将其索引到 DynamoDDB 表中(表中的每个项目对应于一行在一个文件中)。然后我下载下一批文件等。
现在我通过 AWS GUI 控制台调整预置吞吐量,它最终在下载阶段和索引阶段都是相同的。显然,这是次优的,因为在下载时我根本不与数据库交谈,所以我在此阶段所需的写入吞吐量基本上为 0。
所以我想要做的是在我开始索引时以编程方式调整预置吞吐量,然后在我停止索引并开始下载时降低。
我可以在单个请求中增加多少写入 t/p 是否有任何限制?例如,我可以将它从 5 更改为 120 吗?如果不是,我如何计算请求数量和将 t/p 从值 X 调整到值 Y(其中 X << Y)所需的时间?我是否必须为降低 t/p 做类似的计算?
我正在使用 Python 博托。
谢谢
performance - 监控等待传输的 TCP 消息队列
我有一个使用 NetTcp 的 WCF 客户端和服务器。服务器托管在 Windows 服务内的 ServiceHost 中。客户端订阅 WCF 服务并注册它的回调接口和它的 InstanceContext。回调接口有几个单向方法调用。我把它全开。
这一切都很好。但是,在我的测试中,我的 Windows 服务中有代码,该代码通过一个紧密的循环,尽可能快地通过单向方法调用之一将消息发送回客户端。我已经超出了 TCP 连接传递数据的能力,结果是消息排队。这是我所期望的。
问题是:服务器上是否有任何方法可以找出队列的备份情况,以便我可以根据实时吞吐量限制发送消息的速度?
storage - IOPS 与吞吐量
- 大数据存储中 IOPS 和吞吐量之间的主要区别是什么?
- 文件大小对 IOPS 有影响吗?为什么?
multithreading - java - 避免不必要的线程唤醒
我有一组 12 个线程并行执行工作(Runnable)。本质上,每个线程执行以下操作:
添加工作如下:
当有新作品可用时,它会被添加到列表中并通知锁定。如果有线程在等待,它就会被唤醒,所以它可以执行这个工作。
问题就在这里。当一个线程被唤醒时,很有可能另一个线程会执行这个工作。当后一个线程完成其先前的工作并重新进入while(true)循环时,就会发生这种情况。工作动作越小/越短,发生这种情况的可能性就越大。
这意味着我正在无缘无故地唤醒一个线程。由于我需要高吞吐量,我相信这种行为会降低性能。
你会如何解决这个问题?理论上,我需要一种机制来取消挂起的线程唤醒通知。当然,这在 Java 中是不可能的。
我考虑为每个线程引入一个工作列表。不是将工作推入一个单独的列表,而是将工作分布在 12 个工作列表中。但我相信这会带来其他问题。例如,一个线程可能有很多待处理的工作,而另一个线程可能没有待处理的工作。从本质上讲,我相信提前将工作分配给特定线程的解决方案可能会变得非常复杂并且是次优的。
谢谢!
networking - 如何计算 Android 网络吞吐量
我正在计算网络吞吐量
吞吐量=总数据包(接收)/总时间消耗。
我已经用服务器创建了一个专用套接字并上传和下载文件。我得到的输出不符合标记代码如下:
如果有什么问题,请告诉我:
300Mbps WIFI 路由器我得到enter code here
75Mbps 上传和 500 到 750 Mbps 下载速度
我正在我的机器上运行服务器并通过 LAN 上的 300Mbps 路由器访问它?
performance - HornetQ 吞吐量限制为 4000 TPS,无持久性
我正在使用嵌入在 JBoss 6.1 应用服务器中的 HornetQ。我的应用程序(一个客户端应用程序,产生消息,以及使用它们的 JBoss 应用程序)在 CPU 仍处于 60% 空闲状态时无法在服务器上处理超过 4000 TPS。我试图删除持久性以检查我是否受磁盘限制,但它并没有提高吞吐量。
看来问题出在生产者方面。至少在监控队列大小时,它保持非常小,这意味着消费者不是瓶颈。
我应该使用多个队列来提高效率吗?我已经阅读了 HornetQ 的性能调整文档,但找不到原因。或者可能是因为我使用的是 AUTO_ACKNOWLEDGE 模式?我正在为生产者运行几个线程,这不会产生太大影响。无论如何,生产者 JVM 不能使用超过 1 个 CPU 线程。我什至尝试运行我的生产者应用程序的几个实例,但速度并不快。网络带宽很高(1 Gbps),我的消息非常小(< 1 KB)。此外,生产者和消费者应用程序在同一台服务器上运行。HornetQ 配置在 2 个服务器的 JBoss 集群中。