草庐IT

iOS包$APP$性能

全部标签

windows - 在 Windows 上的 STDIN 上使用 IO::Select

当我在Linux系统上运行下面的代码时,正如预期的那样,它大约每两秒输出一次Nothingisready,并且还会将输入的任何内容输出到控制台。但在Windows上,can_read立即返回零项。useIO::Select;my$sel=IO::Select->new();$sel->add(\*STDIN);while(1){my@ready=$sel->can_read(2);if(scalar@ready==0){print"Nothingisready\n";}foreachmy$fh(@ready){if($fheq\*STDIN){my$in=;print"got$infr

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

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

.net - DataGridView 性能 - 是否取决于视频卡?

我有一个C#/.Net应用程序,它似乎使用大部分CPU时间来更新DataGridView。我大约每1.5秒手动更新一次数据,只更新已更改的数据。这最终是每1.5秒大约250次更新。我想将这1.5秒减少到更小的数字(可能是0.5秒)。我已经尽可能多地分析和优化,虽然性能还可以,但我希望它更快。我的问题是,将视频卡从NvidiaFX1800升级到NvidiaFX3800会产生显着的加速吗? 最佳答案 GDI+操作不太依赖于图形CPU,因为它仅使用每个图形卡都支持的基本加速操作(线条、矩形等)。我猜这里的问题是您在更新期间没有“隐藏”控制

c++ - 在非托管代码中创建和更新性能计数器的好引用是什么?

我有几个应用程序需要创建和写入性能计数器。其中之一是用C++编写的。目前,无法将该应用程序升级到.NET。哪里有使用非托管代码访问性能计数器的好资源?谢谢! 最佳答案 从这里开始:http://msdn.microsoft.com/en-us/library/aa373209(v=VS.85).aspx请注意,您如何发布数据取决于您的操作系统:http://msdn.microsoft.com/en-us/library/aa373165(v=VS.85).aspx 关于c++-在非托管

windows - XPerf中如何定位空闲时间(以及网络IO时间等)?

假设我有一个人为设计的程序:#includevoiduseless_function(){Sleep(5000);}voiduseful_function(){//...dosomeworkuseless_function();//...dosomemorework}intmain(){useful_function();return0;}目标:我希望探查器告诉我useful_function()正在不必要地调用useless_function(),它没有明显的等待原因。在XPerf下,这不会出现在我的任何图表中,因为对WaitForMultipleObjects()的调用似乎被计入了

c# .net Windows 8 App TcpClient 代码端口到 StreamSocket

我在.net4.5之前有这段代码_Connection=newTcpClient(hostname,port);_Stream=_Connection.GetStream();对于Windows8应用程序,我更改为:_Connection=newStreamSocket();await_Connection.ConnectAsync(newHostName(hostname),port.ToString());_DataReader=_Connection.InputStream.AsStreamForRead();_DataWriter=_Connection.OutputStrea

c# - 如何创建 Xml 文件并立即在 Windows-App C# 中打开它?

我有一个使用C#的Windows应用程序。我想创建一个xml文件,然后使用.xml扩展名打开它。但我不知道该怎么做?这是一个示例代码:stringxmlString=null;using(StringWritersw=newStringWriter()){XmlTextWriterwriter=newXmlTextWriter(sw);writer.Formatting=Formatting.Indented;writer.WriteStartDocument();writer.WriteStartElement("TAG");writer.WriteStartElement("SUB

c++ - boost::interprocess_mutex 与 Win32 native 互斥锁的性能如何?

请注意,我可以在boost源代码中进行研究,如果没有人提供答案,我可能会这样做来回答我自己的好奇心。但是我确实会问,因为也许有人已经做过这种比较并且可以权威地回答?似乎在进程之间创建一个共享内存映射文件,并通过使用InterlockedIncrement()构造,可以创建一个类似于CRITICAL_SECTION的主要用户模式互斥体,它在进程间同步方面比Win32Mutex性能要好得多。所以我的期望是,boost::interprocess_mutex的Win32实现可能会以这种方式实现,并且比本地API产品快得多。不过我只是有一个假设,我不知道通过现场测试boost::interpr

windows - Windows 性能计数器会影响性能吗?

据我所知,WindowsPerformanceCounter的工作范式是这样的:当各种程序在Windows上运行时,Windows操作系统会将性能数据写入相应的计数器,即性能计数器就像性能的接收器数据。之后,我们可以使用性能监视器(perfmon.exe)来查看这些计数器中的数据。如果上面的理解是正确的,我想知道这些数据记录本身是否会影响性能?我们可以从远程计算机的性能计数器读取数据吗? 最佳答案 我认为答案是:是潜在的读取性能计数器本身可能会对性能产生影响,但是这种影响的确切程度将完全取决于性能计数器的实现。通常性能计数器被设计成

c++ - printf 在 Windows 7 Professional 64 位中的性能不佳

正如标题所说,我在我们的代码中遇到了printf调用的非常糟糕的性能。它被广泛用于调试目的并且在大多数情况下没有引起问题,但是当我在我的新笔记本电脑(17"MacbookPro2011)上运行Windows7Professional64位时,它会减慢一切。我分析了带有VerySleepy的应用程序,果然是printf调用导致速度变慢,但我终究无法弄清楚原因。我最初的想法是我在64位操作系统下运行32位应用程序,但我不是办公室里唯一运行Windows764位的人(不确定其他人的确切版本)如有任何见解,我们将不胜感激。编辑:忘了说我使用的是VisualStudio2008Professio