- 浏览: 667325 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
本文探讨开源项目bbossgroups 中对象xml序列化/反序列化性能测试。
1.测试和源码工程下载地址
bboss soa工程源码下载(解压后子目录bboss-soa工程)
bbossgroups soa
测试用例java代码下载(包含在bboss soa的test目录下)
TestSerializable.java
2.用例使用代码
2.1 定义两个类,Person与PhoneNumber
2.2 实例化一个Person对象
2.3 序列化接口调用
2.4 反序列化接口调用
3.测试用例执行结果
3.1 序列化耗时统计
执行bboss beantoxml 1次,耗时:0毫秒
执行bboss beantoxml 10次,耗时:0毫秒
执行bboss beantoxml 100次,耗时:16毫秒
执行bboss beantoxml 1000次,耗时:62毫秒
执行bboss beantoxml 10000次,耗时:266毫秒
和xstream的序列化耗时对比(基于同样的测试数据和测试环境)
执行XStream beantoxml 1次,耗时:0毫秒
执行xtream beantoxml 10次,耗时:0毫秒
执行xtream beantoxml 100次,耗时:63毫秒
执行xtream beantoxml 1000次,耗时:140毫秒
执行xtream beantoxml 10000次,耗时:891毫秒
3.2 反序列化耗时统计
执行bboss xmltobean 1次,耗时:0豪秒
执行bboss xmltobean 10次,耗时:31毫秒
执行bboss xmltobean 100次,耗时:250毫秒
执行bboss xmltobean 1000次,耗时:1203毫秒
执行bboss xmltobean 10000次,耗时:8438毫秒
和Xstream反序列化耗时对比(基于同样的测试数据和测试环境)
执行XStream xmltobean 1次,耗时:0豪秒
执行xStream xmltobean 10次,耗时:0毫秒
执行xStream xmltobean 100次,耗时:62毫秒
执行xStream xmltobean 1000次,耗时:188毫秒
执行xStream xmltobean 10000次,耗时:1344毫秒
从运行测试用例的效果来看,bboss序列化耗时情况还可以,效率比XStream要高出很多;但是bboss反序列化比xStream的反序列化要慢一些,还需进一步优化。
4.Person对象序列化输出的xml串
5.测试环境
联想thinkpad sl400
OS 32位windows xp professional sp3
内存2G
cpu:
型号 Intel(R) Core(TM)2 Duo T5870
主频 2GHz
用例运行工具:myeclipse 8.0
jdk 1.5.0_06
1.测试和源码工程下载地址
bboss soa工程源码下载(解压后子目录bboss-soa工程)
bbossgroups soa
测试用例java代码下载(包含在bboss soa的test目录下)
TestSerializable.java
2.用例使用代码
2.1 定义两个类,Person与PhoneNumber
public class Person { private String firstname; private String lastname; private PhoneNumber phone; private PhoneNumber fax; // ... constructors and methods } public class PhoneNumber { private int code; private String number; // ... constructors and methods } public class Person { private String firstname; private String lastname; private PhoneNumber phone; private PhoneNumber fax; // ... constructors and methods } public class PhoneNumber { private int code; private String number; // ... constructors and methods }
2.2 实例化一个Person对象
PhoneNumber phone = new PhoneNumber(); phone.setCode(123); phone.setNumber("1234-456"); PhoneNumber fax = new PhoneNumber(); fax.setCode(123); fax.setNumber("9999-999"); Person joe = new Person(); joe.setFirstname("Joe"); joe.setLastname("Walnes"); joe.setPhone(phone); joe.setFax(fax);
2.3 序列化接口调用
String xml = ObjectSerializable.convertBeanObjectToXML("person",joe,Person.class);
2.4 反序列化接口调用
Person person = ObjectSerializable.convertXMLToBeanObject("person", xml, Person.class);
3.测试用例执行结果
3.1 序列化耗时统计
执行bboss beantoxml 1次,耗时:0毫秒
执行bboss beantoxml 10次,耗时:0毫秒
执行bboss beantoxml 100次,耗时:16毫秒
执行bboss beantoxml 1000次,耗时:62毫秒
执行bboss beantoxml 10000次,耗时:266毫秒
和xstream的序列化耗时对比(基于同样的测试数据和测试环境)
执行XStream beantoxml 1次,耗时:0毫秒
执行xtream beantoxml 10次,耗时:0毫秒
执行xtream beantoxml 100次,耗时:63毫秒
执行xtream beantoxml 1000次,耗时:140毫秒
执行xtream beantoxml 10000次,耗时:891毫秒
3.2 反序列化耗时统计
执行bboss xmltobean 1次,耗时:0豪秒
执行bboss xmltobean 10次,耗时:31毫秒
执行bboss xmltobean 100次,耗时:250毫秒
执行bboss xmltobean 1000次,耗时:1203毫秒
执行bboss xmltobean 10000次,耗时:8438毫秒
和Xstream反序列化耗时对比(基于同样的测试数据和测试环境)
执行XStream xmltobean 1次,耗时:0豪秒
执行xStream xmltobean 10次,耗时:0毫秒
执行xStream xmltobean 100次,耗时:62毫秒
执行xStream xmltobean 1000次,耗时:188毫秒
执行xStream xmltobean 10000次,耗时:1344毫秒
从运行测试用例的效果来看,bboss序列化耗时情况还可以,效率比XStream要高出很多;但是bboss反序列化比xStream的反序列化要慢一些,还需进一步优化。
4.Person对象序列化输出的xml串
<?xml version="1.0" encoding="gbk"?> <properties> <property name="person" class="org.frameworkset.soa.xblink.Person"> <property name="fax" class="org.frameworkset.soa.xblink.PhoneNumber"> <property name="code" soa:type="int" value="123" /> <property name="number" soa:type="String"><![CDATA[9999-999]]></property> </property> <property name="firstname" soa:type="String"><![CDATA[Joe]]></property> <property name="lastname" soa:type="String"><![CDATA[Walnes]]></property> <property name="phone" class="org.frameworkset.soa.xblink.PhoneNumber"> <property name="code" soa:type="int" value="123" /> <property name="number" soa:type="String"><![CDATA[1234-456]]></property> </property> </property> </properties>
5.测试环境
联想thinkpad sl400
OS 32位windows xp professional sp3
内存2G
cpu:
型号 Intel(R) Core(TM)2 Duo T5870
主频 2GHz
用例运行工具:myeclipse 8.0
jdk 1.5.0_06
发表评论
-
bboss序列化cglib代理对象方法介绍
2014-06-22 15:14 1086本文介绍bboss序列化cglib代理对象方法。经过cglib ... -
bboss自定义类对象序列化机制介绍
2014-05-26 23:32 1385bboss自定义类对象序列 ... -
bboss session共享时序列化存储jasperreports报表对象JasperPrint方法
2014-05-11 11:55 1023bboss session共享时序列化存储jasperrepo ... -
bboss离线开发文档下载
2013-05-14 18:08 1777bboss离线开发文档下载 为了便于bboss开发人员离线查找 ... -
bboss 3.6发布,丰富的功能扩展和改进
2012-10-07 09:50 1939bboss 3.6 (官网下载,sf下载)发布了,新版本相比之 ... -
Bboss国际化实践PPT
2012-06-10 12:52 1260Bboss国际化实践PPT,点击链接即可下载: Bboss国际 ... -
bboss国际化功能简介
2012-05-09 08:59 1163借助bboss国际化功能,我们可以非常方便快捷地实现系统 ... -
bboss 4.10.7及更低版本ant构建方法
2012-03-23 22:54 5840本文适用bboss 4.10.7及更低版本,4.10.8及后续 ... -
bboss 将内容为GBK编码文件转UTF-8工具介绍
2012-03-23 15:53 1617bboss 将内容为GBK编码文件转UTF-8工具介绍 bb ... -
bbossgroups 3.5 发布
2012-02-18 14:51 1103版本:bbossgroups-3.5 官网:http://w ... -
bboss 序列化功能详解
2012-01-27 11:04 1572bboss 序列化功能详解,bboss序列化组件是bbossg ... -
bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列化和恢复功能
2012-01-09 23:19 1314bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列 ... -
bbossgroups 3.4发布
2011-10-26 22:45 1070版本: bbossgroups-3.4 bboss gro ... -
Bboss和xstream序列化/反序列化性能对比
2011-10-13 00:18 1890Bboss和xstream序列化/反序列化性能对比 本报告分别 ... -
bbossgroups 开发系列文章之一 最佳实践
2011-10-01 12:50 1373bbossgroups 开发系列文章之-最佳实践 一、概述 ... -
bboss 组件容器的使用方法浅析
2011-08-20 00:21 1566本文重点介绍bboss 中的4大组件容器的特点及使用方法 4 ... -
bbossgroups 3.3 发布
2011-08-19 23:02 1025bbossgroups 3.3 发布,该版本在3.2的基础上做 ... -
bbossgroups框架发布的jar包和依赖jar包概览
2011-08-09 23:16 1927bbossgroups框架发布的jar包和依赖jar包概览 j ... -
我们需要一站式解决方案还是混合组合方案
2011-08-05 14:10 1108这年头提供一站式解决方案的框架才具备真正的核心竞 ... -
bbossgroups的特色特点介绍
2011-07-10 10:49 1381很多朋友都在问bbossgroups框架和其他mvc框架 、s ...
相关推荐
bbossgroups 开发系列文章之一 最佳实践bbossgroups 开发系列文章之一 最佳实践bbossgroups 开发系列文章之一 最佳实践
bbossgroups 3.1SQLExecutor组件ap使用实例bbossgroups 3.1SQLExecutor组件ap使用实例
Bbossgroups体系架构.ppt
bbossgroups 3.1培训教程 bbossgroups 3.1即将发布,新增很多实用的功能,先发给培训教程上来:比如组件异步调用,mvc地址别名配置,sql配置管理,配置sql执行组件等等
NULL 博文链接:https://yin-bp.iteye.com/blog/1004719
bbossgroups 3.0 发布,这是国内首款集aop,mvc,persistent,jsp taglib,分布式rpc服务,分布式事件框架于一身的企业级j2ee开发框架 详细信息请看: http://www.javaeye.com/news/20177-bbossmvc-bbossaop
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的... 首先将BBoss的maven依赖项添加到pom.xml中: < dependency> < groupId>com.bbossgroups.p
java版地图源码弹性搜索Bboss Bboss 是一个很好的 elasticsearch Java rest 客户端。 它以类似于mybatis的方式操作...首先将BBoss的maven依赖添加到你的pom.xml中: < dependency > < groupId >com.bbossgroups.p