jjzjj

optimization

全部标签

.net - XPathNavigator 和 XmlReader 之间的速度差异到底有多大?

我有一个相当大的XML文件,我需要将其解析为.NET类结构(以映射到固定长度的记录格式并通过MQ传输)。性能很重要,但不是绝对关键。我几乎总是使用XPathNavigator来读取XML文件,因为它比XmlReader容易得多。另一方面,我知道XmlReader比XPathNavigator快,因为理论上它一次只读取一个节点,而XPathNavigator必须读取足够的内容执行XPath,可能是整个文档。我的问题是:它到底快了多少?读取几千个节点时会有明显的不同吗?我几乎必须切换到XmlReader的转折点是什么?还是XPathNavigator优化到始终是一个不错的选择?我的大部分X

javascript - 优化 Javascript 中的函数

我是javascript的新手,但已经设法编写了一个有效的xml函数:)我希望有人能告诉我如何优化该功能。目前每个州的天气都有不同的功能,但我希望我能以某种方式简化它。代码粘贴在这里:http://pastie.org/private/ffuvwgbeenhyo07vqkkcsw非常感谢任何帮助。谢谢!编辑:添加两个XML提要的代码示例:函数1(紫外线):http://pastie.org/private/jc9oxkexypn0cw5yaskiq函数2(天气):http://pastie.org/private/pnckz4k4yabgvtdbsjvvrq

sql-server - 微软 SQL Server 2005/2008 : XML vs text/varchar data type

将XML存储为XML类型而不是text/varchar/ntext是否更有意义(服务器端验证XML/schema/dtd除外)?我不打算在数据库端进行任何XML操作。我调查的目的是减小数据库大小。我可以使用XMLdatatype吗?用于此目的的非类型化XML?有什么优点和缺点?我找到了一个articlerelatedtothetopic,但我不确定作者的假设/结论是否正确。 最佳答案 如果将xml存储在xml类型的列中,数据将不会存储为简单文本,就像在nvarchar的情况下一样,它将存储在某种已解析的数据树中,这反过来会小于未解析

windows - 如何获取应用程序从文件系统读取/写入文件系统所花费的总时间?

我现在正在分析一个执行大量磁盘I/O的应用程序。此时,我想知道磁盘I/O花费了多少时间。这样,我就可以对I/O和整个执行时间进行比较,从而决定下一步的优化目标。简而言之,我正在寻找工具或方法来:计算并汇总我的应用程序磁盘I/O操作的总时间。堆栈跟踪不是强制性的,但很有帮助适用于Windows或OSX。我无法控制执行磁盘I/O操作的组件。所以我无法在我的应用程序中添加分析代码来手动记录I/O时间。我尝试了XcodeInstruments的timeprofiler。但它太重了。我只想要I/O操作的摘要时间。谢谢 最佳答案 在Window

windows - 当您最小化应用程序时,Windows 会做些什么吗?

这个问题在这里已经有了答案:WindowsOSesandMemoryManagement--Whathappenswhenanapplicationisminimized?(2个答案)关闭8年前。在Window下运行资源密集型程序(例如游戏)时,我发现有些奇怪。如果您在窗口模式下运行游戏并查看内存使用情况,您会发现2D游戏的内存使用量大约为数百兆字节。但是,如果您最小化该游戏,我发现内存使用量会低至几兆字节,甚至不到十兆字节。到底发生了什么?谁在做这件事,游戏还是操作系统?当然,资源实际上不能从内存中卸载(那会很糟糕),那么下降是怎么回事?

windows - 加速 Windows 上的文本输出,用于控制台

我们有一个应用程序,它有一个或多个文本控制台窗口,这些窗口基本上都代表串行端口(文本输入和输出,一个字符接一个字符)。这些窗口已经变成了它们当前编码方式的主要性能问题……我们设法在其中花费了大量时间。当前代码的结构是让窗口过着自己的小生活,主应用程序线程通过“SendMessage()”调用驱动它。这种消息传递似乎是令人难以置信的开销的原因。基本上,绕过操作系统感觉是错误的做法。请注意,我们确实在适当的地方将文本行绘制为一个整体,因此已经完成了简单的优化。我不是Windows编码方面的专家,所以我需要问社区是否有其他架构来驱动窗口中的文本显示而不是像这样发送消息?它看起来很重量级。请注

windows - MulDiv 是否比存储已知值和在其他代码中进行数学计算效率低

我正在使用Delphi2007并开发一些演示软件。我正在研究的当前模块是视频的过渡过滤器。我正在使用的转换代码(TPicShow的PSEffects单元)需要基于帧尺寸和转换进度的X和Y值。这是代码TypeTPercent=0..100;varATo:TBitmap;//Prog:Integer;//ProgressofthetransitionifATo.Width>=ATo.HeightthenbeginX:=MulDiv(ATo.Width,Prog,High(TPercent));Y:=MulDiv(X,ATo.Height,ATo.Width);endelsebeginY:=

c++ - CPU 使用率高

我们正在使用以下方法将日志写入日志文件。日志条目保存在名为m_LogList的vector中(STL字符串条目保存在vector中)。当vector的大小大于100时调用该方法。如果调用FlushLog方法,Log服务器的CPU占用率在20-40%左右。如果我们注释掉FlushLog方法,CPU利用率会下降到10-20%的范围。我可以使用哪些优化来降低CPU利用率?我们使用fstream对象将日志条目写入文件voidCLogFileWriter::FlushLog(){CRCCriticalSectionLocklock(m_pFileCriticalSection);//Entire

windows - Windows批处理文件街机游戏的优化

我制作了一个批处理文件游戏,它可以运行,但它不稳定且丑陋。我已经了解线程,但我不想在我的第一个版本中实现它。我希望在我开始用这个游戏做更高级的事情之前降低优化。我的问题是:我可以对这款游戏进行哪些优化,使其1.不会断断续续2.显示效果不会那么烦人。欢迎任何有关如何使其更快更清晰或占用更少内存的想法或评论,但是,请不要发布以下答案:“不要使用批处理”“重写(在此处插入语言)”“用vb执行此部分-script”等...因为它们没有帮助,也没有回答问题。欢迎任何和所有非批量仇恨的批评。代码如下:@setlocalenableextensionsenabledelayedexpansion@e

windows - cl.exe 标志或设置以在/O1 或更高级别禁用尾调用优化(相当于 gcc -fno-optimize-sibling-calls)

我从事一个项目,我们维护自己的堆栈爬虫(出于各种原因)。我们需要能够以一定的可靠性抓取堆栈。目前我们遇到了一个问题,函数尾部调用了我们感兴趣的函数,并且我们的堆栈跟踪跳过了调试构建(/Od)中会出现的帧。我们已经禁用了帧指针优化和内联(/Oy-和/Ob0),因此我们可以获得更好的堆栈跟踪,但我们仍然希望能够启用一些优化(/O1)以使代码更快。但是,尾调用仍然会干扰我们的堆栈跟踪。是否有任何标志或设置可以在MSVC中禁用此优化?gcc有-f(no-)optimize-sibling-calls,涵盖了这一点。 最佳答案 不,您可以将尾