草庐IT

Performance

全部标签

linux - iperf3 Windows带宽比linux慢很多

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭5年前。Improvethisquestion我遇到了一个很奇怪的问题。我有2台服务器,一台运行redhatLinuxserver764位,另一台运行Windowsserver2

c++ - 在不减慢线程速度的情况下保存大量数据

我需要保存视频系统的踪迹,以便以后在Windows机器上检查重播。帧生成是在线程中完成的,我想在处理函数结束时保存帧,例如voidgenerate_video_frame(){....save_frame(frame);}为避免减慢生成线程的速度,save_frame必须尽快完成此操作。最终目标是在磁盘上保存视频的踪迹。每个帧都可能很大(甚至20-30MB),所以我不能将所有内容都存储在RAM中,因为我最终会完全填满它。我想到了两个解决方案:填充帧队列并使用另一个线程将其清空并将其刷新到磁盘(因此主线程不会受到影响)。如果刷新到磁盘线程较慢(如我所料),这最终也可能会填满RAM使用ma

c++ - 高效获取windows桌面截图

是否有比下面的代码更有效的获取Windows桌面拷贝的方法(使用GDI或任何其他库)HDCdcDesktop;HDCdcMem;HBITMAPhbmpMem;HBITMAPhOriginal;BITMAPbmpDesktopCopy;dcDesktop=GetDC(GetDesktopWindow());dcMem=CreateCompatibleDC(dcDesktop);hbmpMem=CreateCompatibleBitmap(dcMem,m_lWidth,m_lHeight);BitBlt(dcMem,0,0,m_lWidth,m_lHeight,dcDesktop,0,0,

linux - 虚拟机能否像基于硬件的操作系统一样高效?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭9年前。Improvethisquestion为了虚拟机的方便,我放弃了双引导,我有几个问题无法在网上找到答案。有人可以回答这些问题,或者至少为我指出正确的方向,以了解有关虚拟机

c - 抢先将文件放入 Windows 页面缓存

我有一个用C语言编写的程序,允许用户滚动显示大约不计其数的小文件。每个文件在显示给用户之前都需要经过一定数量的处理(只读)。我已经实现了一个缓冲区,可以在用户位置周围一定半径范围内预处理文件,因此如果他们线性地处理它们,则不会有太多延迟。由于各种原因,我实际上一次只能在一个文件上运行我的处理算法(尽管我可以打开多个文件,并且可以从中读取)所以我的缓冲区按顺序加载。我的处理算法已尽可能优化,但我遇到了I/O问题。起初,我的加载过程很慢,但是当文件被访问几次后,速度提高了大约5倍。因此,我强烈怀疑是什么让我慢下来是在等待Windows页面缓存将我的文件拉入内存。我对那种事情知之甚少。如果我

windows - Windows 10 下多核处理器上的 QueryPerformanceCounter 行为不稳定

在Windows下,我的应用程序使用QueryPerformanceCounter(和QueryPerformanceFrequency)来执行“高分辨率”时间戳。自Windows10以来(目前仅在Inteli7处理器上进行了测试),我们观察到QueryPerformanceCounter返回值的不稳定行为。有时,调用返回的值会跳得很远,然后又回到它以前的值。感觉好像线程已经从一个核心移动到另一个核心,并且在一段时间内返回了不同的计数器值(没有证据,只是一种直觉)。这在XP或7下从未观察到(没有有关Vista、8或8.1的数据)。一个“简单”的解决方法是使用BCDEdit启用UsePl

.net - "Largest free region"的性能计数器?

我正在调试内存不足的异常。当我得到异常时,“虚拟字节”性能计数器指示有足够的​​可寻址空间。然而,问题在于可寻址空间碎片化严重,并且“最大空闲区域”(从WinDbg中的!address返回)太小。为了测量内存碎片,我想在perfmon中监控“最大空闲区域”。是否有一个性能计数器可以给我这个值? 最佳答案 我不相信这条信息有一个单独的性能计数器,但可以使用VirtualQueryExWin32函数推导出来。您可以在最小有效虚拟地址(可以从GetSystemInfo获得)上调用它,然后您可以使用返回的页面范围的大小来确定下一个页面范围的

Ruby redmine svn 提交后 Hook 非常慢

我为svn使用以下提交后Hook:"path\to\ruby.exe""path\to\redmine\script\runner""Repository.fetch_changesets;Rails.logger.flush"-eproduction它工作正常,但大约需要1-2分钟。我还认为第一次提交需要很多时间,但连续提交需要相同的时间。是否有可能改善这种行为?我知道Ruby在Windows上的缓慢行为大约有3倍,但就我而言,它要长得多。配置如下:WindowsVista、redmine1.1.1、Ruby1.8.7和RubyGems1.8.7,所有安装包和测试都在同一台PC上执行

C++ 主循环偶尔会卡顿

我遇到了一个问题,我的游戏循环卡顿大约每秒一次(可变间隔)。单帧需要超过60毫秒,而所有其他帧需要不到1毫秒。经过大量简化后,我得到了以下重现错误的程序。它只测量帧时间并报告它。#include#include"windows.h"intmain(){unsignedlonglongfrequency,tic,toc;QueryPerformanceFrequency((LARGE_INTEGER*)&frequency);QueryPerformanceCounter((LARGE_INTEGER*)&tic);doubledeltaTime=0.0;while(true){//if

c# - ICorProfilerCallback2 : CLR profiler does not log all Leave calls

我正在尝试编写一个记录进程中所有.Net方法调用的分析器。目标是使其具有高性能,并在内存中保留最后5-10分钟(固定缓冲区,循环覆盖旧信息),直到用户触发将该信息写入磁盘。预期用途是追踪很少重现的性能问题。我从https://github.com/appneta/SimpleCLRProfiler的SimpleCLRProfiler项目开始.分析器使用.Net分析的ICorProfilerCallback2回调接口(interface)。我让它在我的环境中编译和工作(Win8.1、.Net4.5、VS2012)。但是,我注意到有时记录了Enter调用的Leave调用会丢失。Consol