草庐IT

Performance

全部标签

XML 性能 : element vs attribute

我有一个关于XML设计的非常基本的问题。我有用于生成UI的XML。它的格式有点像下面这样:EnterMachineNamePleaseenterthecorrectmachinenameTextField我的问题是以上述格式编写XML更好还是以以下格式编写XML以获得更好的处理时间结果。哪种类型的XML将在更短的时间内被解析? 最佳答案 虽然属性占用的空间会少一些,这对性能有好处,而且SAX解析会为基于属性的设计生成较少的事件,这可以节省一点时间,任何在绝大多数情况下,属性与元素的性能差异根本无关紧要。与大多数先验性能担忧一样,如果

java - 缩放读取大型 XML 文件的应用程序

我有一个应用程序可以定期读取大量XML文件(大约20-30个),比如每10分钟一次。现在每个XML文件的大小可以近似为至少40-100MB。一旦读取了每个XML,就会从文件中创建一个映射,然后将映射传递给处理器链(10-15),每个处理器使用数据、执行一些过滤器或写入数据库等。现在应用程序在32位JVM中运行。现在无意迁移到64位JVM。正如预期的那样,内存占用非常高……接近32位JVM的阈值。现在,当我们接收大文件时,我们将生成的映射序列化到磁盘中,并同时运行最多3-4个映射的处理器链,就好像我们试图同时处理所有映射一样,很容易出现内存不足。垃圾回收率也很高。我有一些想法,但想看看是

javascript - 在 JS 中解析此 XML 的最快方法

假设我有这个包含大约1000多个bookinfo节点的XML。123我目前正在使用它来获取每本书的名称:varbooks=this.req.responseXML.getElementsByTagName("books")[0].getElementsByTagName("bookinfo")然后使用for循环对每个书名做一些事情:varbookName=books[i].getElementsByTagName("name")[0].firstChild.nodeValue;当书籍非常大时,我发现这真的很慢。不幸的是,没有办法限制结果集,也没有指定不同的返回类型。有没有更快的方法?

xml - 如何在unix中比较和合并两个xml文件

我有两个简单的XML文件,正在寻找一种比较和合并的简单方法。文件1:将具有这样的结构101AAA102AAC105AAB104CCC文件2:将具有这样的结构101bun20.45101wbc20.45101rbc20.45103bun20.45103crea20.45103rdw20.45我想要一个像这样的输出文件101AAA101bun20.45101wbc20.45101rbc20.45其实我是用asid来比较的:whilereadlinedoforiin`echo$line|sed-e's%.*\(.*\).*%\1%p'`doifgrep-q"$i"file2.xml;then

XML 解析性能 Scala

我在Scala中使用XML,在具有有限内存资源的系统中解析可以达到~20MB的文件。我必须读取整个文件,并且必须从中提取所有数据。更具体地说,我必须读取的节点具有有限的属性和值。我想知道在性能方面最好的方法是什么(或者两者是否具有相同的性能)。我问这个是因为我不知道Scala如何处理它的XML库,而且我可能会遗漏一些细节。第一种方法deffirstApproach(root:Elem)=for{nif(node\"@attr").text=="type1"=>//dosomething//hereotherpossiblecases->type2,type3}第二种方法defsecon

xml - 在 Perl 中从 XML 文件中提取一些元素值的最快方法是什么?

我有一堆大小约为1-2兆字节的XML文件。实际上,不止一堆,还有数百万。它们都是格式正确的,许多甚至针对它们的模式进行了验证(使用libxml2确认)。所有这些都是由同一个应用程序创建的,因此它们的格式一致(尽管这在理论上可能会在未来发生变化)。我想从Perl脚本中检查每个文件中一个元素的值。速度很重要(我希望每个文件花费的时间少于一秒)并且如前所述,我已经知道文件格式正确。我非常想简单地在Perl中“打开”文件并扫描直到我看到我正在寻找的元素,获取值(接近文件开头),然后关闭文件。另一方面,我可以使用XML解析器(这可能会保护我免受futureXML格式更改的影响),但我怀疑它会比我

c# - XDocument.Load (XmlReader) 的性能很糟糕;来自 Web 服务的 2 MB XML 需要 4 秒才能从流中解析

我正在调用一个网络服务,它返回一个大约2MB的xml。一切都很标准。问题是XDocument的创建。XDocumentxdoc=XDocument.Load(XMLReaderObject);//takes4sec!!!我正在创建xdoc,因为我使用LINQtoXML来读取XML。Stopwatchs=newStopwatch();HttpWebRequestreq=(HttpWebRequest)WebRequest.Create(MyUri);System.Net.ServicePointManager.Expect100Continue=false;req.Method="POS

java - 优化程序速度的一般方法

就速度而言,用Java优化程序有哪些通用方法。我正在使用DOM解析器解析XML文件,然后将某些单词存储在ArrayList中,删除所有重复项,然后通过为每个单词创建Google搜索URL来拼写检查这些单词,获取html文档,找到更正的单词并将其保存到另一个ArrayList。任何帮助将不胜感激!谢谢。 最佳答案 为什么需要提高性能?根据您的解释,很明显这里的大瓶颈(或性能影响)将是IO,因为您正在访问URL。这肯定会使您在数据结构或XML框架中所做的任何微小改进都相形见绌。这是一个很好的一般经验法则,您的大性能问题将涉及IO。够幽默

python - 在python中从大量xml文件中提取信息的最有效方法是什么?

我有一个包含XML文件的完整目录(~103、104),我需要从中提取几个字段的内容。我已经测试了不同的xml解析器,并且由于我不需要验证内容(昂贵)我正在考虑简单地使用xml.parsers.expat(最快的)来浏览文件,一个一个地提取数据。有没有更有效的方法?(简单的文本匹配不起作用)我是否需要为每个新文件(或字符串)发出一个新的ParserCreate(),或者我是否可以为每个文件重复使用相同的一个?有什么注意事项吗?谢谢! 最佳答案 通常,我会建议使用ElementTree的iterparse,或者对于超速,它对应于lxml

asp.net - 在时间紧迫的情况下添加更多硬件 v/s 重构代码

背景:企业应用程序-verywill写于2004年。堆栈:.NET、大量使用Remoting、ASMX风格的Web服务、SQLServer问题:由于缺少更好的术语,该应用程序允许用户通过各种向导,他们的所有操作都存储在我们所谓的“wiz状态”中,它本质上是XML,它经常保存到SQL服务器数据库中,因为我们允许用户暂停/恢复他们的申请。通常在这些向导中,包含向导状态的XML会变得非常大,我说的是5-8MB的数据,我们注意到当同时用户突然涌入时,我们开始偶尔收到数据库超时,因为向导状态的很多组成部分是跟踪“事物”的集合。有时,这些自定义集合会变得非常大。问题:我们今天开会,预计10月份会有