- 浏览: 693758 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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 1153本文介绍bboss序列化cglib代理对象方法。经过cglib ... -
bboss自定义类对象序列化机制介绍
2014-05-26 23:32 1467bboss自定义类对象序列 ... -
bboss session共享时序列化存储jasperreports报表对象JasperPrint方法
2014-05-11 11:55 1105bboss session共享时序列化存储jasperrepo ... -
bboss离线开发文档下载
2013-05-14 18:08 1857bboss离线开发文档下载 为了便于bboss开发人员离线查找 ... -
bboss 3.6发布,丰富的功能扩展和改进
2012-10-07 09:50 2031bboss 3.6 (官网下载,sf下载)发布了,新版本相比之 ... -
Bboss国际化实践PPT
2012-06-10 12:52 1371Bboss国际化实践PPT,点击链接即可下载: Bboss国际 ... -
bboss国际化功能简介
2012-05-09 08:59 1250借助bboss国际化功能,我们可以非常方便快捷地实现系统 ... -
bboss 4.10.7及更低版本ant构建方法
2012-03-23 22:54 6020本文适用bboss 4.10.7及更低版本,4.10.8及后续 ... -
bboss 将内容为GBK编码文件转UTF-8工具介绍
2012-03-23 15:53 1686bboss 将内容为GBK编码文件转UTF-8工具介绍 bb ... -
bbossgroups 3.5 发布
2012-02-18 14:51 1165版本:bbossgroups-3.5 官网:http://w ... -
bboss 序列化功能详解
2012-01-27 11:04 1661bboss 序列化功能详解,bboss序列化组件是bbossg ... -
bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列化和恢复功能
2012-01-09 23:19 1390bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列 ... -
bbossgroups 3.4发布
2011-10-26 22:45 1145版本: bbossgroups-3.4 bboss gro ... -
Bboss和xstream序列化/反序列化性能对比
2011-10-13 00:18 1979Bboss和xstream序列化/反序列化性能对比 本报告分别 ... -
bbossgroups 开发系列文章之一 最佳实践
2011-10-01 12:50 1482bbossgroups 开发系列文章之-最佳实践 一、概述 ... -
bboss 组件容器的使用方法浅析
2011-08-20 00:21 1659本文重点介绍bboss 中的4大组件容器的特点及使用方法 4 ... -
bbossgroups 3.3 发布
2011-08-19 23:02 1092bbossgroups 3.3 发布,该版本在3.2的基础上做 ... -
bbossgroups框架发布的jar包和依赖jar包概览
2011-08-09 23:16 1995bbossgroups框架发布的jar包和依赖jar包概览 j ... -
我们需要一站式解决方案还是混合组合方案
2011-08-05 14:10 1176这年头提供一站式解决方案的框架才具备真正的核心竞 ... -
bbossgroups的特色特点介绍
2011-07-10 10:49 1443很多朋友都在问bbossgroups框架和其他mvc框架 、s ...
相关推荐
关于组织参加“第八届‘泰迪杯’数据挖掘挑战赛”的通知-4页
PyMySQL-1.1.0rc1.tar.gz
技术资料分享CC2530中文数据手册完全版非常好的技术资料.zip
docker构建php开发环境
VB程序实例,可供参考学习使用,希望对你有所帮助
pytz库的主要功能 时区转换:pytz库允许用户将时间从一个时区转换到另一个时区,这对于处理跨国业务或需要处理多地时间的数据分析尤为重要。 历史时区数据支持:pytz库不仅提供了当前的时区数据,还包含了历史上不同时期的时区信息,这使得它在处理历史数据时具有无与伦比的优势。 夏令时处理:pytz库能够自动处理夏令时的变化,当获取某个时区的时间时,它会自动考虑是否处于夏令时期间。 与datetime模块集成:pytz库可以与Python标准库中的datetime模块一起使用,以确保在涉及不同时区的场景中时间的准确性。
VB程序实例-为程序添加快捷键.zip
画2、3维的隐含数
pytz库的主要功能 时区转换:pytz库允许用户将时间从一个时区转换到另一个时区,这对于处理跨国业务或需要处理多地时间的数据分析尤为重要。 历史时区数据支持:pytz库不仅提供了当前的时区数据,还包含了历史上不同时期的时区信息,这使得它在处理历史数据时具有无与伦比的优势。 夏令时处理:pytz库能够自动处理夏令时的变化,当获取某个时区的时间时,它会自动考虑是否处于夏令时期间。 与datetime模块集成:pytz库可以与Python标准库中的datetime模块一起使用,以确保在涉及不同时区的场景中时间的准确性。
加载虚拟光驱并打开ma软件.
VB程序实例-图像的缩小.zip
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
推荐几个国外 Java 大佬的优质博客.docx
Arduino一分钟快速在vs code 编译开发Arduino
强网杯objective-c可视化演示5中的常见排序算法,包括选择排序、气泡排序、插入排序、快速排序、堆排序等.zip
VB程序实例,可供参考学习使用,希望对你有所帮助
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
强网杯
技术资料分享AT070TN92非常好的技术资料.zip