javaIO——BufferedReader效率测试实践
上一篇刚刚学习了 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效率测试实践的更多相关文章
- javaIO——BufferedReader
今天来学习一下 java.io.BufferedReader ,从命名可以看出,跟前面学习的 StringReader 和 CharArrayReader 有些不一样,这些都是按照数据源类型命名,Bu ...
- log2取整效率测试
RMQ问题中有个ST算法,当然还有个标准算法.LCA问题可以转化为带限制的RMQ(RMQ+-1)问题来解决.我们姑且认为这些问题的时间复杂度是查询$O(1)$的.但是,注意到对于RMQ(/+-1)问题 ...
- Docker与自动化测试及其测试实践
Docker 与自动化测试 对于重复枯燥的手动测试任务,可以考虑将其进行自动化改造.自动化的成本在于自动化程序的编写和维护,而收益在于节省了手动执行用例的时间.简而言之,如果收益大于成本,测试任务就有 ...
- Golang项目的测试实践
Golang项目的测试实践 最近有一个项目,链路涉及了4个服务.最核心的是一个配时服务.要如何对这个项目进行测试,保证输出质量,是最近思考和实践的重点.这篇就说下最近这个实践的过程总结. 测试金字塔 ...
- 携程酒店DevOps测试实践
作者简介 王幸福,携程酒店研发部高级测试经理,负责无线自动化测试相关工作.在测试框架和平台研发.移动测试.DevOps等领域有着丰富的经验. 如今很多大型互联网公司.创新型企业都在积极地进行DevOp ...
- NHibernate Demo 和 效率测试
本文关于NHibernate的Demo和效率测试,希望对大家有用. 1.先去官网下载Nhibernate 2.放入到项目中并建立Helper类 private static ISession _Ses ...
- 关于 pgsql 数据库json几个函数用法的效率测试
关于 pgsql 数据库json几个函数用法的效率测试 关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次 ...
- 《高级软件测试》web测试实践--12月30日记录
考完数学,我们正式开始web测试实践的作业,今天,我们主要进行了方案的选择和人员的分工.任务计划和安排如上图所示. 任务进展:完成题目选择和人员分工: 遇到问题:暂无: 下一步任务:完成软件评测.用户 ...
- Python_线程、线程效率测试、数据隔离测试、主线程和子线程
0.进程中的概念 三状态:就绪.运行.阻塞 就绪(Ready):当进程已分配到除CPU以外的所有必要资源,只要获得处理机便可立即执行,这时的进程状态成为就绪状态. 执行/运行(Running)状态:当 ...
随机推荐
- linux安装python3 大型的软件一定要安装在/ opt中 规范
关闭页面特效 linux中安装python 1.首先切换目录 大型的软件一定要安装在/ opt中 规范 cd /opt 2.下载python3的源码 wget https://www.p ...
- Java同步数据结构之SynchronousQueue
前言 严格来说SynchronousQueue并不是像它的名字那样是一种Queue,它更像是一个数据接力的交汇点,还记得在介绍Exchanger的时候提到过Exchanger可以看作是Synchron ...
- 【MYSQL】存储过程示例
GROUPEMP_EXISTS: ), ), )) LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT ' ...
- ASP.NET 5系列教程
http://www.cnblogs.com/powertoolsteam/p/ASP_NET5_HelloWorld.html
- 008-log-slf4j+log4j
一.slf4j+log4j 1.1.POM依赖 <!-- 日志 门面 --> <dependency> <groupId>org.slf4j</groupId ...
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_10-修改页面-前端-修改页面
1.进入页面,通过钩子方法请求服务端获取页面信息,并赋值给数据模型对象 2.页面信息通过数据绑定在表单显示 3.用户修改信息点击“提交”请求服务端修改页面信息接口 3.3.3 修改页面 3.3.3.1 ...
- 比特币区块的hash算法
Block hashing algorithm Bitcoin mining uses the hashcash proof of work function; the hashcash algori ...
- nginx 配置 https 并强制跳转(lnmp一键安装包)
目录 一.安装包 二.配置 三.查看配置文件 3.1.设定强制跳转 https 3.2 Rewrite 常用全局变量举例 一.安装包 安装大家按照官方说的安装即可. ./install.sh lnmp ...
- Linux中移动,复制,删除,打包排除某个目录或文件
移动,复制,删除排除某个文件或目录 cp !(file1|dir2) /data/ 复制文件到/data/,排除file1和dir2 mv !(file1|dir2) /data/ 移动文件到/dat ...
- selenium3关于ddt驱动之读取json文件。。。
from selenium import webdriver import ddt import time import unittest """ DDT(驱动.json ...