java 性能测试-Java程序测试性能发现执行时间随着循环次数会明显降低

问题描述

Java程序测试性能发现执行时间随着循环次数会明显降低

今天用java写了一段算法,主要涉及到treeMap,arraylist的一些操作。

测试流程如下:
algorithm A=new algorithm ();

List testData=new ArrayList();
//循环体内的测试数据集数据量相当,切均不一样。
for(int i=0;i<testData.size();i++)
{
long StartTime=????;//counting time
A.do(testData[i]);
long EndTime=????;//counting time

System.out.printf(EndTime-StartTime);
}

测试的时间如下:

462.15861 298.30576 279.91393 241.7313 239.70447 212.04327 200.1986 165.13594 188.82911 140.16911 188.90014 189.86457 167.04649 175.00024 171.54611 145.32464 215.46838 188.57071 145.68159 164.93144 130.73506 95.79538 90.3491 55.91555 56.26871 94.68095 62.44587 30.38805 19.82224 55.03615 50.84964 25.71251 20.64943 28.68452 24.20626 30.00955 50.45575 42.31878 37.87907 25.53343 59.43558 49.12292 40.52247 31.38126 70.59181 26.32742 41.00252 23.71383 38.23651 47.9771 49.83765 24.44011 43.97743 37.61771 31.24152 21.63171 35.51974 32.0304 34.01891 15.55248 38.32408 35.18586 20.00411 33.87178 36.96588 20.81727 29.10724 18.24478 23.85058 26.70228 24.78474 51.85381 38.02426 33.15712 29.44277 113.47715 27.13189 20.10289 38.55455 37.82762 20.99199 32.82104 16.16431 16.39178 24.1652 32.40064 26.57445 37.97152 34.82924 40.03378 22.32652 17.06048 33.6016 16.3916 40.01449 18.41816 17.29858 26.89135 22.03188 33.82265 21.45578 14.83777 17.52447 20.26137 25.66017 15.95901 17.70299 22.96476 14.10446 13.61584 20.65159 15.5337 16.17566 15.77823 16.08327 18.69095 17.32276 17.59788 19.88928 33.48517 24.78715 27.21507 14.39397 15.62498 16.04994 28.93362 19.30826 21.92023 15.45429 24.61159 20.55774 16.12125 20.05177 23.64231 16.81246 18.59618 15.52088 17.46581 17.04643 17.01347 23.78725 24.42785 13.32318 18.08934 18.41027 32.88003 26.74203 19.33788 21.35031 14.55017 19.22222 28.06258 26.31948 29.1039 22.04832 31.10246 30.73532 18.60818 22.78055 21.88319 23.1518 31.55027 18.12786 12.40602 18.6222 15.44865 20.15852 30.17892 20.13551 56.74019 49.03774 51.31824 37.53917 30.56681 42.194 340.76047 14.85093 25.55332 14.51935 12.56887 11.18639 18.20451 15.06617 13.96165
问题是:程序,刚开始的时候执行时间比较长,到后面,就比较小,比较稳定了,这是什么原因造成的么?每次程序执行都是相互独立的,程序会将涉及到的,数据结构都clear()

解决方案

我今天也发现了一样的问题 ,没想明白

时间: 2024-10-01 08:15:15

java 性能测试-Java程序测试性能发现执行时间随着循环次数会明显降低的相关文章

大二,学过c和java如何实现硬盘测试读写速度程序

问题描述 大二,学过c和java如何实现硬盘测试读写速度程序 多文件存储性能测试编写一套程序,可对x86系统.ARM系统进行多文件并发写入带宽测试.该程序有以下要求:1. 使用Linux操作系统运行,内核版本号不限:(在实验室服务器中运行)2. 测试方法:a) 程序启动时,指定并发存储文件的数量,并分别指定文件存储路径及文件名:(最多四个文件)b) 为每个文件申请内存空间,申请内存大小不限:c) 对每片内存使用递增数进行初始化:d) 为每路数据配备一个计时器,同时开启多路数据写入操作,并启动计时

Java程序的性能优化StringBuffer与Vector

程序|性能|优化 ? Java使得复杂应用的开发变得相对简单.毫无疑问,它的这种易用性对Java的大范围流行功不可没.然而,这种易用性实际上是一把双刃剑.一个设计良好的Java程序,性能表现往往不如一个同样设计良好的C++程序.在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身.养成好的代码编写习惯非常重要,比如正确地.巧妙地运用java.lang.String类和java.util.Vector类,它能够显著地提高程序的性能.下面我们就来具体地分析一下这方面的问题.

java后台开发程序员要怎样测试

问题描述 java后台开发程序员要怎样测试 一个刚入职的菜鸟,公司的一个项目的功能已经实现的差不多了,临时添加了一个小功能,不过只有一级页面,二级页面还没出来,所以老大让我先实现后台,写后台代码,写完后想要检测一下我写的方法对不对,但是不知道怎样测试,公司用的是SSH框架,使用了junit单元测试,生成测试类时出现了这样 package cn.itcast.erp.auth.menu.web; import static org.junit.Assert.*; import org.junit.

新措施:Java手机程序测试费用将降50%

6月3日消息,据国外媒体报道,Sun.Orange.沃达丰集团以及索尼爱立信移动通信正采取措施使Java手机程序开发更简单和便宜. 一年一度JavaOne开发者大会周二在旧金山举行,大会发布了新开源测试工具并宣布正在改善Java认证计划以加强认证Java ME手机程序.其目标是:简化该流程,减少软件开发商不得不为不同款式手机所做的测试数量. Orange合作伙伴计划技术总监Martin Wrigley在发布会上说:"没人喜欢测试."他表示,随着移动 应用市场的成熟,更多的测试开发人员会

在Java内存模型中测试并发程序代码_java

让我们来看看这段代码:   import java.util.BitSet; import java.util.concurrent.CountDownLatch; public class AnExample { public static void main(String[] args) throws Exception { BitSet bs = new BitSet(); CountDownLatch latch = new CountDownLatch(1); Thread t1 =

简单java在线测评程序

简单java程序在线测评程序 v一.前言 大家过年好!今年的第一篇博客啊!家里没有网,到处蹭无线!日子过得真纠结!因为毕设的需求,简单写了一个java程序在线测评程序,当然也可以在本地测试. v二.思路 首先简单介绍一下思路: 1.得到java程序的源代码,不需要导入包.得到源码之后在前面加入"import java.util.*;" 2.通过JavaCompiler对象可以帮助我们将java源代码编译成class文件. 3.通过DiagnosticCollector对象可以获得编译过

Java 下的 JSON库性能比较:JSON.simple vs. GSON vs. Jackson vs. JSONP

Java 下的 JSON库性能比较:JSON.simple vs. GSON vs. Jackson vs. JSONP JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考了.我们很少会去想用到的这些JSON库到底有什么不同,但事实上它们的确是不太一样的.因此,我们运行了一个基准测试来对常用的几个JSON库进行了测试,看看在解析不同大小的文件时哪个库的速度是最快的.下面我会把结果分享给大家. JSON通常用于传

Java 编程:如何提高性能?(简单总结篇)

开发者在编程中除了要有编程规范,还要注意性能,在 Java 编程中有什么提高性能的好办法呢? 本文转自国内 ITOM 行业领军企业 OneAPM Cloud Insight(一款能够优雅监控多种操作系统.数据库.中间件.云主机的解决方案)美女工程师陈永梅简书. 开发者在编程中除了要有编程规范,还要注意性能哦,今天就工作中遇到的一些问题进行了一个简单总结,希望攻城狮来批评指正. 作为一个QA,从质量管理方面得到的认识: 一行代码能解决的问题 尽量不要使用多行,代码行数越多 维护成本越高,出现缺陷的

怎样让Java图形界面程序启动时没有控制台窗口?

程序|控制|图形 缺水的海豚 写了一篇文章介绍 如何在C/C++中调用Java的方法 . 写得相当好,谢谢! 文章中提到, Java跨平台的特性使Java越来越受开发人员的欢迎,但也往往会听到不少的抱怨:用Java开发的图形用户窗口界面每次在启动的时候都会跳出一个控制台窗口,这个控制台窗口让本来非常棒的界面失色不少.怎么能够让通过Java开发的GUI程序不弹出Java的控制台窗口呢? 有一个秘密(JDK文档中没提到),可以简单地解决这个问题.如果想运行Java图形界面程序,也用不着费劲写一个这样