上一篇刚刚学习了 BufferedReader ,想着来验证一下 BufferedReader 的缓冲到底能带来多大的性能提升,于是拷贝了一个100M 左右的日志文件放到本地,测试一下使用 BufferedReader 和不使用的情况下,所耗费的时间差别。

  上一篇 BufferedReader 学习篇地址:https://www.cnblogs.com/coding-one/p/11369726.html

  1. 准备文件:

    

  2. 编写测试代码:

package com.one.jdksrc.java.io;

import java.io.*;

/**
* @author haoya_Coding_one
* @version 1.0
* @create 2019/8/17 18:23
* @description TODO
*/
public class BufferedReaderTest { public static void main(String[] args) throws IOException {
char[] buff = new char[10000]; /*long start = System.currentTimeMillis();
try(BufferedReader bufferedReader = new BufferedReader(new FileReader("C:/Users/haoya_Coding_one/Desktop/catalina.out"))){
while (bufferedReader.read(buff, 0, 10000) >0){
System.out.println(buff);
}
}
System.out.println("使用缓冲,耗时:" + (System.currentTimeMillis()-start) + " ms");*/ long start = System.currentTimeMillis();
try(FileReader fileReader = new FileReader("C:/Users/haoya_Coding_one/Desktop/catalina.out")){
while (fileReader.read(buff, 0, 10000) >0){
System.out.println(buff);
}
}
System.out.println("不使用缓冲,耗时:" + (System.currentTimeMillis()-start) + " ms");
}
}

  3. 测试结果

    分别测试在每次读取 100/1000/10000个字符的情况下,所花费的时间。

    每次读取 100 个字符:

      

      

    每次读取 1000 个字符:

      

      

    每次读取 10000 个字符:

      

      

    结果是:并不能明显的看出 使用 BufferedReader 有什么效率提升。

      不知道是不是文件太小呢?或者是本地文件流本身有什么特殊性,换成网络流会不会不一样?下次找个时间试试。

javaIO——BufferedReader效率测试实践的更多相关文章

  1. javaIO——BufferedReader

    今天来学习一下 java.io.BufferedReader ,从命名可以看出,跟前面学习的 StringReader 和 CharArrayReader 有些不一样,这些都是按照数据源类型命名,Bu ...

  2. log2取整效率测试

    RMQ问题中有个ST算法,当然还有个标准算法.LCA问题可以转化为带限制的RMQ(RMQ+-1)问题来解决.我们姑且认为这些问题的时间复杂度是查询$O(1)$的.但是,注意到对于RMQ(/+-1)问题 ...

  3. Docker与自动化测试及其测试实践

    Docker 与自动化测试 对于重复枯燥的手动测试任务,可以考虑将其进行自动化改造.自动化的成本在于自动化程序的编写和维护,而收益在于节省了手动执行用例的时间.简而言之,如果收益大于成本,测试任务就有 ...

  4. Golang项目的测试实践

    Golang项目的测试实践 最近有一个项目,链路涉及了4个服务.最核心的是一个配时服务.要如何对这个项目进行测试,保证输出质量,是最近思考和实践的重点.这篇就说下最近这个实践的过程总结. 测试金字塔 ...

  5. 携程酒店DevOps测试实践

    作者简介 王幸福,携程酒店研发部高级测试经理,负责无线自动化测试相关工作.在测试框架和平台研发.移动测试.DevOps等领域有着丰富的经验. 如今很多大型互联网公司.创新型企业都在积极地进行DevOp ...

  6. NHibernate Demo 和 效率测试

    本文关于NHibernate的Demo和效率测试,希望对大家有用. 1.先去官网下载Nhibernate 2.放入到项目中并建立Helper类 private static ISession _Ses ...

  7. 关于 pgsql 数据库json几个函数用法的效率测试

    关于 pgsql 数据库json几个函数用法的效率测试 关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次 ...

  8. 《高级软件测试》web测试实践--12月30日记录

    考完数学,我们正式开始web测试实践的作业,今天,我们主要进行了方案的选择和人员的分工.任务计划和安排如上图所示. 任务进展:完成题目选择和人员分工: 遇到问题:暂无: 下一步任务:完成软件评测.用户 ...

  9. Python_线程、线程效率测试、数据隔离测试、主线程和子线程

    0.进程中的概念 三状态:就绪.运行.阻塞 就绪(Ready):当进程已分配到除CPU以外的所有必要资源,只要获得处理机便可立即执行,这时的进程状态成为就绪状态. 执行/运行(Running)状态:当 ...

随机推荐

  1. linux安装python3 大型的软件一定要安装在/ opt中 规范

    关闭页面特效     linux中安装python   1.首先切换目录 大型的软件一定要安装在/ opt中  规范 cd /opt 2.下载python3的源码 wget https://www.p ...

  2. Java同步数据结构之SynchronousQueue

    前言 严格来说SynchronousQueue并不是像它的名字那样是一种Queue,它更像是一个数据接力的交汇点,还记得在介绍Exchanger的时候提到过Exchanger可以看作是Synchron ...

  3. 【MYSQL】存储过程示例

    GROUPEMP_EXISTS: ), ), )) LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT ' ...

  4. ASP.NET 5系列教程

    http://www.cnblogs.com/powertoolsteam/p/ASP_NET5_HelloWorld.html

  5. 008-log-slf4j+log4j

    一.slf4j+log4j 1.1.POM依赖 <!-- 日志 门面 --> <dependency> <groupId>org.slf4j</groupId ...

  6. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_10-修改页面-前端-修改页面

    1.进入页面,通过钩子方法请求服务端获取页面信息,并赋值给数据模型对象 2.页面信息通过数据绑定在表单显示 3.用户修改信息点击“提交”请求服务端修改页面信息接口 3.3.3 修改页面 3.3.3.1 ...

  7. 比特币区块的hash算法

    Block hashing algorithm Bitcoin mining uses the hashcash proof of work function; the hashcash algori ...

  8. nginx 配置 https 并强制跳转(lnmp一键安装包)

    目录 一.安装包 二.配置 三.查看配置文件 3.1.设定强制跳转 https 3.2 Rewrite 常用全局变量举例 一.安装包 安装大家按照官方说的安装即可. ./install.sh lnmp ...

  9. Linux中移动,复制,删除,打包排除某个目录或文件

    移动,复制,删除排除某个文件或目录 cp !(file1|dir2) /data/ 复制文件到/data/,排除file1和dir2 mv !(file1|dir2) /data/ 移动文件到/dat ...

  10. selenium3关于ddt驱动之读取json文件。。。

    from selenium import webdriver import ddt import time import unittest """ DDT(驱动.json ...