集算报表与润乾报表的计算性能对比测试

1、测试目的

在相同的硬件和web容器上测试润乾报表和集算报表的性能,对比在报表中完成分组、排序、过滤、连接、排名的性能差异,以及并发情况下二者的表现。测试过程中,润乾报表将采用报表工具内置的计算引擎,集算报表采用其内置的集算器计算引擎。

2、环境描述

        测试机型:DellInspiron 3420

        CPU:Intel Core [email protected] *4

        RAM:4G

        HDD:西数WDC(500G5400转/分)

        操作系统:Win7(X64)SP1

        JDK:1.6

        数据库:oracle11gR2

        Tomcat:6.0.36_x64

        TomcatJVM内存:-Xms512m-Xmx2048m

        润乾报表版本:4.5.6

        集算报表版本:5.0

3、数据描述

测试使用到三个表T1、T2、T3,下表为三表信息,其中数据量为记录条数。

T1、T2表结构相同,如下:

T3表结构:

4、用例描述

4.1、分组

使用T2表,在报表中分别按照Date2和Date字段进行分组,进行分组汇总,取数sql:ds1: select * from t2 。

报表格式为:

4.1.1  润乾报表实现

4.1.2  集算报表实现

集算器脚本:

报表模板:

4.2、排序

使用T1表,取50万条记录,在报表按照Date字段进行排序,报表显示5个字段,取数sql:

ds1:select * from t1 where rownum<500000

报表格式为:

4.2.1、润乾报表实现

4.2.2、集算报表实现

集算器脚本:

报表模板:

4.3、过滤

使用T1表,在报表中按照ID字段过滤,过滤后数据量为82条,取数sql:ds1:select * from t1 。

报表格式为:

4.3.1、润乾报表实现

4.3.2、集算报表实现

集算器脚本:

报表模板:

4.4、连接

使用T2和T3表,在报表中按照T2的ID字段与T3左连接,取数sql:

ds1:select * from t2 where userid<267427523

ds2:select * from t3 where userid<10485202

ds1记录数为:7171;ds2记录数为:12730

报表格式为:

4.4.1、润乾报表实现

4.4.2、集算报表实现

集算器脚本:

报表模板:

4.5、排名

使用T3表,在报表中根据SumTime进行排名,取数sql:ds1: select * from t3 whereuserid<8883948

数据集ds1记录数为:10430 。

报表格式为:

4.5.1、润乾报表实现

4.5.2、润乾报表实现

集算器脚本:

报表模板:

4.6、并发分组

使用5.1分组用例,进行多并发分组测试,这里采用4个并发。

5、测试方法

使用两个完全相同的Tomcat(JVM等完全)分别部署润乾报表应用和集算报表应用,报表数据来源相同,润乾报表使用sql数据集,直接取数;集算报表采用集算器数据集,取数在dfx中完成。分别比较报表中完成的分组、排序等报表性能,每个用例测试时前均重启Tomcat,以保证无其他报表占用内存等资源。

此外,由于测试机配置,不同用例使用了不同数据表,故不同用例之间纵向无可比性,主要看横向,即:润乾报表和集算报表的性能差异。

6、测试结果

*下表结果数据单位为:秒

【说明】

这里的时间记录是从SQL取数完毕后到报表计算完成,润乾报表的日志中会直接提供这两个时间点,相减即得间隔时间;集算报表需要在脚本中加debug信息记录取完数的时刻,再与报表日志中的计算完报表的时间相比,得到间隔时间。

7、解读分析

集算报表将计算放在集算器脚本中进行,集算器采用了更高效的Hash算法,对于分组等有数据关联的计算有极其显著地提高,对于过滤排序等硬遍历式计算则在算法层面没有较大提升,表现出来的少量提高主要是因为集算器中运算不带有展现属性造成的。

这次测试的所有运算都是单线程的,事实上,集算器还可以支持多线程并行计算以充分利用CPU的多核,还能进一步提升性能,即使在排序和过滤类的运算上也能有数倍提高。而包括润乾报表在内的大部分报表工具目前都不支持多线程并行计算,无法利用CPU的多核提高性能。

时间: 2024-08-06 09:51:19

集算报表与润乾报表的计算性能对比测试的相关文章

集算报表与润乾报表的函数语法对照

集算报表5.0在保留润乾报表V4.x的核心功能外,进行了优化和精简.当中报表函数也做了适当优化,这里就常见计算来比較一下二者函数语法之间的差异.         对照函数一览表 1.数据集函数 1.1.ds.group()         润乾报表: datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp{,rootGroupExp}}}}}})         集算报表: data

集算报表与润乾报表处理动态报表时的异同

集算报表继承了润乾报表的宏机制来处理动态报表,对于简单的动态报表使用宏实现非常方便.对于一些复杂的动态报表,集算报表还提供了脚本数据集来处理动态报表,适合宏无法实现的场景,而润乾报表中要实现复杂动态报表时则需要编写自定义数据集来完成.下面通过几个例子来详细比较一下集算报表和润乾报表在处理动态报表时的相同与不同点. 相同点 集算报表和润乾报表都提供了宏,使用方式几乎完全一致,且都包含普通宏和动态宏.         普通宏常用于静态内容替换,如在员工表中同时只希望查看薪金或奖金,开发两张报表显然是

集算报表与润乾报表的函数语法对比

集算报表5.0在保留润乾报表V4.x的核心功能外,进行了优化和精简,其中报表函数也做了适当优化,这里就常见计算来比较一下二者函数语法之间的差异.         对比函数一览表 1.数据集函数 1.1.ds.group()         润乾报表: datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp{,rootGroupExp}}}}}})         集算报表: data

润乾报表

集算报表5.0在保留润乾报表V4.x的核心功能外,进行了优化和精简,其中报表函数也做了适当优化,这里就常见计算来比较一下二者函数语法之间的差异. 对比函数一览表 1.数据集函数 1.1.ds.group() 润乾报表: datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp{,rootGroupExp}}}}}}) 集算报表: datasetName.group(<selectExp

润乾报表实现预置分组报表及改进

预置分组报表在报表开发中比较常见而且比较棘手.所谓预置分组报表是指分组没有规律,可能是分组范围没有规律,也可能分组顺序没有规律,需要报表开发人员事先预置(固定)分组的报表.常见的预置分组报表一般有如下三类:按段分组报表.固定次序分组报表.多层固定次序分组报表.下面分别看一下这几类报表的特点,以及润乾报表的实现方法. 按段分组报表 这类报表的特点是分段的区间并未在数据库中存储需要根据相应字段(如年龄.日期)计算,并且每个分段可能会发生变化(如每年节假日所在日期可能不同),经常由用户随意指定.如:统

润乾报表与 ActiveReport JS 功能对比

简介 润乾报表是用于报表制作的大型企业级报表软件,核心特点在于开创性地提出了非线性报表数学模型,采用了革命性的多源关联分片.不规则分组.自由格间运算.行列对称等技术,使得复杂报表的设计简单化,以往难以实现的报表可以轻松实现,避免了大量的复杂 SQL 编写与前期数据准备,报表设计的效率提高了一个数量级.润乾报表大概有 20 年的历史,产品成熟稳定. ActiveReport JS 是一个轻量级的报表解决方案,提供简单丰富的 API,是目前葡萄城新推出的报表工具,所以还在测试和不断完善中. 开发语言

润乾报表 4.0 与润乾报表 V2018 函数对照

之前使用报表处理是出现了一些问题,原来发现是版本造成的.此文记录两个版本之间的函数差别. 官方资料入口:http://doc.raqsoft.com.cn/report/preference/wdzl1.html 润乾报表4.0 润乾报表V2018 润乾报表V2018备注 数据集函数 ( 原润乾报表4.0已删除函数为:ds.enumGroup ) ds.avg() 同ds.avg() @r用根集:@a 计数null ds. bselect1() ds.bfind(select, {refer1:

润乾报表与集算报表的计算性能对比测试

1.测试目的 在相同的硬件和web容器上测试润乾报表和集算报表的性能,对比在报表中完成分组.排序.过滤.连接.排名的性能差异,以及并发情况下二者的表现.测试过程中,润乾报表将采用报表工具内置的计算引擎,集算报表采用其内置的集算器计算引擎. 2.环境描述 测试机型:DellInspiron 3420 CPU:Intel Core [email protected] *4 RAM:4G HDD:西数WDC(500G5400转/分) 操作系统:Win7(X64)SP1 JDK:1.6 数据库:orac

润乾报表的组成和变迁

产品发展 润乾公司在润乾报表3.x中首次应用了非线性报表模型,并在该版本的实践过程中积累了丰富的工程化经验.在这些基础上开发出的润乾报表5.x,实现了理论模型和工程实践的完美结合,不仅保持原有的开发高效性,运算性能指标也有了大幅度提高,成为一款经典的报表工具软件. 产品在应用过程中不断有新的需求加入,而且在完善过程中也难以对仍在快速积累中的需求进行深入梳理,润乾报表5.x逐步发展成融合了固定报表.自助报表和填写表单这三项主要功能的庞大体系. 随着应用经验的进一步丰富,我们逐渐意识到,报表工具的这