`
qsshuang
  • 浏览: 2359 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

看到了几种循环测试效率的测试

阅读更多
     不用多说看代码 一目了然,代码不是我写的,是复制其他博客上的,与其独乐乐,不如众乐乐。
     import java.util.ArrayList;
import java.util.Collections;
import com.google.common.base.Stopwatch;
import java.util.Iterator;

public class Benchmark {
    public static void main(final java.lang.String[] args) {
        final int SIZE = Integer.MAX_VALUE / 32;
        System.out.printf("loop times: %d%n",SIZE);
        Stopwatch stopwatch = new Stopwatch().start();
        ArrayList<String> list = new ArrayList<>(SIZE);
        for (int i = 0; i < SIZE; i++) {
            list.add(" ");
        }
        long millis = stopwatch.elapsedMillis();
        System.out.printf("init took: %dms%n",millis);

        StringBuilder builder = new StringBuilder(SIZE);
        stopwatch = stopwatch.reset().start();
        for (int i = 0; i < SIZE; i++) {
            builder.append(list.get(i));
        }
        millis = stopwatch.elapsedMillis();
        System.out.printf("for loop took: %dms%n",millis);

        builder.delete(0,SIZE);
        stopwatch = stopwatch.reset().start();
        for (String v : list) {
            builder.append(v);
        }
        millis = stopwatch.elapsedMillis();
        System.out.printf("foreach took: %dms%n",millis);

        builder.delete(0,SIZE);
        stopwatch = stopwatch.reset().start();
        for (Iterator<String> iter = list.iterator(); iter.hasNext(); ) {
            builder.append(iter.next());
        }
        millis = stopwatch.elapsedMillis();
        System.out.printf("iterator loop took: %dms%n",millis);
    }
}

Oracle JDK 7u1

Java code
java -Xmx512m  -cp .:guava-10.0.jar Benchmark
loop times: 67108863
init took: 1601ms
for loop took: 3688ms
foreach took: 4766ms
iterator loop took: 4546ms

Java code
java -server -Xmx512m  -cp .:guava-10.0.jar Benchmark
loop times: 67108863
init took: 1129ms
for loop took: 3876ms
foreach took: 3491ms
foreach loop took: 4318ms

大神如果你看到这代码是写,不好意思啊。希望不是版权盗用啊   后面是两种测试结果,
分享到:
评论

相关推荐

    shell脚本中的几种循环操作(附脚本)

    这里,我们将详细探讨在Shell脚本中常用的几种循环操作。 1. **For循环** For循环用于遍历一个列表或一组值。在Shell中,for循环有几种形式: ```bash # 用于遍历单词列表 for var in item1 item2 item3; do ...

    串口测试的几种测试代码

    本文将深入探讨几种常见的串口测试代码及其应用,以帮助开发者更好地理解和掌握串口通信技术。 首先,我们需要了解串口通信的基础概念。串行通信是指数据以位(bit)为单位按顺序传输,通常包括RS-232、RS-485、USB...

    递推循环在软件测试管理的应用与研究.docx

    综上所述,递推循环模型作为一种新型的软件测试管理方法,在提高测试效率和准确性方面展现出巨大潜力。通过对软件测试过程的优化,不仅能够提升软件产品的质量,还能有效降低成本,为软件行业的持续健康发展提供了...

    for foreach效率测试代码

    在"for foreach效率测试代码"中,我们看到的是对这两种循环方式进行性能比较,执行1000000万次字符串遍历操作。这种测试通常是为了评估在大量数据处理时,哪种循环方式更高效。 在大多数情况下,`foreach`循环看...

    易语言循环语句的用法之速度比较

    本篇文章将深入探讨易语言中的几种循环语句,并对它们的执行速度进行比较。 首先,我们要了解易语言中的基本循环结构。最常见的两种循环语句是`重复`和`直到`。`重复`循环在指定次数内执行循环体,如`重复 N 次`,...

    api接口测试实战.pdf

    2. 设置环境及变量:创建环境变量来管理不同测试环境的URL,简化地址更改,提高效率。 3. 录入测试用例到Postman:将测试用例导入工具,包括请求方法、URL、请求头、Body等内容,并添加响应验证脚本。 4. 运行接口...

    行业文档-设计装置-老化测试平台电流的循环利用装置.zip

    总结来说,“老化测试平台电流的循环利用装置”是现代工业生产中不可或缺的一部分,它结合了技术创新与环保理念,提高了测试效率,降低了成本,同时确保了产品的质量和安全性。随着科技的发展,我们有理由相信,这类...

    白盒测试方法 测试方法

    在白盒测试中,测试用例设计基于程序的内部逻辑,包括但不限于条件测试、分支测试、循环测试、函数调用等。这种测试方法的关键在于穷举所有可能的执行路径,以期找出潜在的错误和漏洞。然而,穷举路径测试并不一定能...

    易语言源码循环语句的用法之速度比较.rar

    在“循环语句的用法之速度比较”这个项目中,作者可能通过编写和测试各种循环结构的易语言源码,分析了它们在处理相同任务时的运行时间,从而得出哪种循环语句在特定场景下更高效。这样的比较有助于开发者在编写程序...

    史上最全的测试用例设计方法总结

    ### 最全测试用例设计方法总结 #### 一、等价类划分方法 **方法简介** 等价类划分方法是一种广泛应用于软件测试...通过合理地划分等价类,可以确保测试覆盖软件的各种正常和异常情况,从而提高测试效率和软件质量。

    测试脚本 测试脚本 测试脚本

    测试脚本技术主要分为以下几类: 1. **线性脚本**:直接录制用户的手动操作,包含所有按键和输入,适用于简单的测试场景。 2. **结构化脚本**:引入了控制流程语句,如循环、条件判断等,使脚本更加灵活和可控。 ...

    几种排序及其测试比较

    我们将分析每种排序算法的工作原理、效率,并基于给定数据进行性能比较。 ### 一、插入排序(InsertSort) #### 原理 插入排序是一种简单的排序算法,它通过构建有序序列,对于未排序数据,在已排序序列中从后...

    自动化测试概念

    - 介绍几种常见的自动化测试工具和技术框架。 - 分析自动化测试在实际项目中的应用案例。 #### 2. 软件测试用例设计 ##### 2.1 什么是测试用例 测试用例是一组输入数据、操作步骤和预期结果的集合,用于验证软件...

    黑白盒测试的原理,了解黑盒测试和白盒测试的区别

    因此,测试人员需要设计有针对性的测试用例,运用等价类划分、边界值分析、错误猜测、因果图分析、判定表驱动、正交实验设计和功能图等方法,以有限的资源尽可能提高测试效率和覆盖率。 #### 白盒测试:深入代码的...

    【软件测试】:测试用例:边界条件测试.doc

    边界值分析方法是设计测试用例的一种常用方法,它可以帮助测试人员更好地设计测试用例,提高测试的效率和效果。边界值分析方法的步骤包括: 1. 确定边界情况:首先,需要确定边界情况,这包括输入和输出等价类的...

    软件测试基础(白盒黑盒)

    总之,软件测试是保障软件质量的重要环节,了解白盒和黑盒测试的概念及其应用场景,熟练掌握各种自动化测试工具,将有助于提升测试效率和软件的可靠性。在实际工作中,测试人员需要不断学习和适应新的技术和工具,以...

    capl诊断测试脚本生成【excel转换为对应的capl测试】

    自动化测试是提高测试效率的关键。通过将Excel与CAPL结合,可以实现测试用例的自动化执行。这包括自动运行测试序列,比较预期结果与实际结果,以及生成测试报告等功能。这样的自动化流程可以帮助测试人员快速定位...

    软件测试规范小结软件测试规范小结

    软件测试的方法和技术多种多样,下面将详细介绍几种常见的测试方法: 1. **静态测试**:静态测试是指不运行被测程序本身,而是通过对源代码的分析来检查程序的正确性。这种方法主要包括对程序的文法、结构、过程、...

Global site tag (gtag.js) - Google Analytics