Java 中的 XML: 数据绑定,第 2 部分:性能
2010-04-01 00:00:00 来源:WEB开发网核心提示: 查看原图(大图)图 7显示了启动一个短文档所花费的时间 — 从基准测试程序开始执行到整个操作返回为止(将数据分解成对象,然后将对象编组回文档),Java 中的 XML: 数据绑定,第 2 部分:性能(9),同前面的计时数字不同:这里大多数的时间花费在了类装入,以及为获得数据绑定框架代
查看原图(大图)
图 7显示了启动一个短文档所花费的时间 — 从基准测试程序开始执行到整个操作返回为止(将数据分解成对象,然后将对象编组回文档)。同前面的计时数字不同:这里大多数的时间花费在了类装入,以及为获得数据绑定框架代码而由 JVM 进行的本机代码生成。通过将这些结果与前面的计时图表进行比较,可以看到这一启动时间通常比实际处理时间(即使是处理相当大的文档)要大好几倍。如果您的程序每次执行时将只使用一些文档,那么该启动时间将是比前面显示的最佳情形时间更重要的因素。
数据绑定框架使用的 jar 文件的大小是影响这一启动时间的一个主要因素。JiBX 是最小的,运行时和解析器的总大小不足 60KB。JAXB、Castor 和 JBind 是最大的,每个大小大约为 1MB。该时间还受每个框架所需的初始化影响。在使用映射绑定的 Castor 情形中,该时间包含处理映射定义文件,而对于 JBind 而言,它包含处理文档的 Schema 定义。
那么什么是 JiBX 呢?
既然我已经展示了性能结果,那么我可能应该介绍一下这个几乎在每项测试中都能占据小组中的第一名的框架。是的,事实上它是“作弊的参加者”— JiBX 是一种针对性能而设计的数据绑定框架,因此如果它满足了其设计需求,那么在这些测试中它 应该是最佳的执行者。
JiBX 实际上源于本系列文章。当我开始研究可用的数据绑定框架时,我惊奇地看到:与文档模型(如 dom4j)相比,它们并不是执行得都那样好。这与我的期望相反,因为数据绑定方法实际上减少了保存在内存中的文档信息的数量 — 而文档模型在内存中保存 所有事物,同时数据绑定只需要实际数据。我认为,数据用得少的方法通常应该比那些数据用得多的方法要快。
更多精彩
赞助商链接