
性能测试
文章平均质量分 83
郝伟博士
郝伟,男,留日计算机博士,副研究员,硕士生导师。师从东京大学松崎公纪教授,主要研究方向为网络安全、并行计算与大数据,尤其是在网络环境下大数据安全性的研究。北京华云安信息技术有限公司首席研究员,中新网安技术研究员,上海莱镁晟信息科技有限公司技术顾问。参与国家973项目和国家科技重大专项各1项,主持国家科研项目1项,13项国家发明专利,各类论文25篇,合肥市政认定高层次人才。与清华大学、海克斯康、国防科技大学等多家单位有技术合作。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【性能测试】使用自定义程序对CPU的程序运行性能进行测试
现在市面上可用的CPU的性能测试有很多,比如CPUZ, GeekBench, 鲁大师等。这些工具从不同的角度对CPU的性能进行测试评价,我们可以使用这些工具对CPU的性能有一定的了解。但是,对于一名开发人员来说,CPU的性能对程序的性能影响到底是怎样的,事实上并没有哪款软件以为这个目的服务的。因此,本文就通过一个求质数的Java代码对CPU的性能进行测试。通过这个程序,可以对 CPU执行Java程序的性能影响有初步的认识。原创 2022-02-13 21:28:07 · 2763 阅读 · 0 评论 -
【给力】.Net5.0 跨平台的计算性能已经与Java持平
本文对.Net5.0和Java在Macbook M1 Pro上进行性能测试,发现两者性能几乎相同。原创 2022-02-10 23:00:45 · 769 阅读 · 0 评论 -
C++字符串拼接性能测试
测试说明本文对C++字符串拼接操作的四种运行:+=、append、stringstream、sprintf 进行简单的性能测试,测试方法比较方法是写了4个函数,分别用+=、append、stringstream、sprintf的方式来拼接字符串,拼接方法是将 s1=“abcedfg”,s2=“hijklmn”,s3="opqrst"三个字符串拼接到一起,总共循环60次。然后在main函数中依次调用这4 个函数,并打时间戳来计时。为了使时间差异更明显,可以取循环N(N可以为100或是1000000等)次原创 2020-11-01 14:51:46 · 1604 阅读 · 0 评论 -
查表法比计算要快多少?
36000000 / 3600 = 10000 每秒约1万次 sin 计算,查表每秒可以进行300万次。根据 https://blog.youkuaiyun.com/weixin_43145361/article/details/84305067 的测试,内存读写大约5百万次左右,与本次测试结果基本一致。---------------------------------Table.length = 36000000, sum(table) = -0.1235.test0: 361 ms, test1: 3944原创 2020-08-08 10:48:40 · 909 阅读 · 0 评论 -
同样的C++代码在VS和MingGW中得到不同的性能结果
*************** 使用不同的环境结果不一样 测试代码:vector 1billion speed test.txt使用VStime = 1150 ms, sum = 178329366400time = 825 ms, sum = 178329366400time = 285 ms, sum = 178329366400time = 295 ms, sum = 178329366400time = 186 ms, sum = 178329366400使用MingGWtime原创 2020-08-08 09:55:22 · 418 阅读 · 0 评论 -
一个简单的测试检测阿里的ecs.s6-c1m1.small云主机CPU性能
简介今天购买了一台阿里的云主机,只有1核心1GB内存,结果如下。测试结果CPU内存硬盘测试结果Intel® Xeon® Platinum 8269CY @ 2.50GHz1GB40GB23.40 sIntel® Core™ i7-9750H CPU @ 2.60GHz32GB512 GB11.57s测试代码和结果public class test3 { public static void main(String[] args){原创 2020-08-05 17:09:50 · 875 阅读 · 0 评论 -
C++11中的原子操作的性能测试
目录测试内容测试结果结论附:测试代码测试内容本测试的主要目的就是了解C++中的原子操作的性能。测试原理就是使用100个线程运行以下的这个函数,然后统计用时,并显示。多线程中的调用函数process操作非常简单,只是对 sum 进行一百万次的累加。所以总运行次数为1亿次,即1亿次循环、累加和加解锁。long sum = 0;mutex m;void process() { for (int i = 0, len = 1000 * 1000; i < len; ++i) {原创 2020-07-29 08:51:43 · 987 阅读 · 0 评论 -
使用不同数据类型对C++map的性能进行测试
文章目录1 测试内容2 测试环境3 主要结论4 核心代码5 原始数据1 测试内容在包转发的过程中,需要对IP地址进行一个映射,这里如何对包的格式进行定义,非常重要,直接影响转发性能,所以本测试测试几种常用的数据类型对map性能的影响。2 测试环境使用 i7 9750H,32GB内存,假定每包200字节,只使用单核。3 主要结论根据测试的原始数据分析,可以发现使用 int 作为key速度最快,可以达到每秒470MB左右的映射速度。其他类型速度如下:使用String,格式为 “192.168.1原创 2020-07-17 09:54:05 · 1020 阅读 · 0 评论 -
使用C++编写的一个通用的测试函数
void timing(const string &testname, int (*p)(void)) { cout << "----------------- " << testname << " -----------------" << endl; auto start = std::chrono::high_resolution_clock::now(); int size = p(); auto end = s原创 2020-07-16 23:47:33 · 1150 阅读 · 0 评论 -
Java中的ArrayList,LinkedList和Vector
文章目录1.List概述2. ArrayList,LinkedList 与 Vector3. ArrayList 示例4. LinkedList 示例5. Vector6. ArrayList 与 LinkedList 的性能原文地址:ArrayList vs. LinkedList vs. Vector,https://dzone.com/articles/arraylist-vs-linkedlist-vsby Ryan Wang · Mar. 28, 13 · Java Zone · Anal翻译 2020-07-05 22:13:03 · 330 阅读 · 0 评论 -
RSA加密算法耗时耗在哪里?
文章目录结论1:密钥生成占据初始化99%的时间结论2:加密耗时占据99%的时间附:源代码结论1:密钥生成占据初始化99%的时间 public void createKeys(int keySize) throws Exception { long t1 = System.currentTimeMillis(); KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); kpg.initialize(keySize); long原创 2020-06-24 07:51:13 · 5166 阅读 · 0 评论 -
StringBuilder和String做字符串拼接时的性能比较
前言本文简单测试了 StringBuilder 和 String 在做连接时的性能差异。测试原理循环1万次,连接相同字符串 “1234567890”,然后记录 StringBuilder 和 String 的操作时间。测试结果结果测试了5次,如下所示:s1.length = 976.56 KB, s2.length = 976.57 KB.StringBuilder = 5.94 ms, String = 7113.41 ms.s1.length = 976.56 KB, s2.lengt原创 2020-06-07 10:04:05 · 1341 阅读 · 0 评论 -
Java异或性能测试速度为2.5GiB/s
文章目录测试目的基本原理测试机器测试结果测试代码测试目的为了理解Java中的异或的性能。基本原理使用一个字节数组对另一个字节数组进行异或操作,核心代码为:for (int i = 0; i < data.length; i++) data[i] = (byte) (content[i] ^ key[i]);测试机器机器1:硬件:i5 9600K + 16 GB DDR4 2666 + 512GB Intel 760P NVME软件:Window 10 + Java 1.8.0原创 2020-05-25 23:16:17 · 626 阅读 · 0 评论 -
Java下AES加密单线程性速度280MB/s多线程450MB/s
文章目录测试目的测试环境测试结果测试代码测试目的测试Java下的AES的加密速度。测试环境硬件:i5 9600K + 16 GB DDR4 2666 + 512 Intel 760P NVME软件:Window 10 + Java 1.8.0_251测试结果根据以下测试结果,在第1次虚拟机热身后,加密速度可以达到280MB/s。-------------- test 0 --------------Data.Length: 1.00 MB.Running Times: 100.原创 2020-05-20 07:43:01 · 1982 阅读 · 0 评论 -
NumPy性能小测:与Java性能相当
测试目的简单了解在Python中 NumPy 与 list 的性能差及与源生Java的性能对比情况。测试环境硬件:ADM R7 3700X, 16GB DDR4 26666软件:Windows10 1909 18363.720 | Java11.0.6 | Python3.7.4测试代码Python代码,使用IPython进行计时。In [1]: import numpy as np...原创 2020-04-06 08:59:44 · 1032 阅读 · 0 评论 -
C#非托管与托管下的数组读写性能基本一样
本文测试了托管和非托管两种情况下,对数据访问的性能差异。基本结论是两者性能基本一致,所以建议使用托管代码。而非托管代码仅在需要调用底层接口时使用。原创 2020-03-24 08:52:39 · 703 阅读 · 0 评论 -
数组访问Java性能测试程序
测试简介测试代码如下所示,通过三层循环做了10亿次操作。操作的核心语句是:r += data[(i + j * k) % data.length]; 这里引用了三个循环控制变量,以保证编译器不进行优化(注:如果每次循环一样,编译器可能将其中一次循环的结果保存,从而大大加快循环速度)。public class CPUSpeedTest { public static void main(Str...原创 2019-12-13 18:46:45 · 480 阅读 · 0 评论 -
使用JAVA对进行内存中不同数据类型的数组访问性能测试
最近换了4条8GB DDR3 1866内存,所以就想看看内存的速度怎么样,数据读写到底有多快。本来打算用现有的测试软件进行测试,但是却不理解这些测评软件的测试原理所以也无法理解分数的含义。同时,从编程的角度来说,也无法将测试结果与编程进行关联,所以理解得并不深刻。因此,决定自己写了并不复杂的程序对内存进行测试,以了解其在程序运行时的读写性能。原创 2018-11-19 17:51:03 · 955 阅读 · 0 评论 -
性能测试用的机器信息
本博客中经常使用的一些测试机器的信息。原创 2018-12-03 15:55:08 · 2526 阅读 · 0 评论 -
StringBuilder初始化的大小对性能的影响
StringBuilder 是一个可以动态增加自身数据长度的类。其默认长度(capacity属性)为16。它有一个构造函数,可以指定其容器长度。当数据量小时,指定长度意义不大,但是当数据量比较大时,指定长度会对性能产生显著影响。本文通过一个小示例验证其对性能产生的影响。代码如下:public class StringBuilderTest { public static void main...原创 2018-12-07 06:45:34 · 6368 阅读 · 0 评论 -
Java 使用多线程对超大数列进行累加计算
实验目的:验证Java的大数据多线程的处理能力实验原理:建立一个长为2G (Java中最大长度为2G) 的整形数组,分成n份,然后让n个线程来对每一块进行求和,最后将每一块的各累计起来统计时间。实验设备:Xeon E5-2600v2 @ 2.2 GHz (20 cores, Hyper-threading off) X 2, DDR3 1600MHZ 128 GB, SSD 512GB.实验...原创 2019-01-19 16:49:27 · 2081 阅读 · 0 评论 -
超多线程初始化和启动性能测试与分析
测试时间:2019/01/09测试目的:java多线程在线程数超大时的性能测试方法:使用运行1000, 10000, 50000, 100000和其他辅助数量的线程进行时间和内存的监视,对Thread和Runnable都进行了测试。实验硬件:台式电脑一台,配置为 i7 3930K 6C12T, 32GB DDR 1833, 256GB SSD.实验结论:Runnable和Thread性...原创 2019-01-09 09:52:27 · 707 阅读 · 0 评论 -
Java文件读写的性能测试(附源码)
今天在测试Java的文件写的速度,发现使用 java.nio.file.Files 提供的读写方法非常快,要比原来的 java.io.* 包里的几个读写方法快不少,正常读取1GiB的数据要1500 ms左右,写入1GB约为2500 ms 左右。但是奇怪的事情是写入性能不稳定。如下所示,在机器1(i7 3930K + 64GB DDR3 1600 + 512GB SSD)上,经常出现以下三种情况,...原创 2019-05-24 08:15:18 · 1805 阅读 · 0 评论 -
Java字节文件读写(3): BufferedInputStream和BufferedOutputStream及内存性能测试
public static void main(String[] args) throws Exception { int length = 1024 * 1024 * 1024; int blocksize = 1024 * 1024; byte[] bts = new byte[blocksize]; for (int i = 0; i < bts.length; i++) ...原创 2019-07-03 07:42:23 · 1575 阅读 · 0 评论 -
基于接口的 Java文件读写的性能测试(附测试源码)
声明:本文所有内容(包括英文)均为原创。转载时请保留作者信息。前言之前写过一篇Java的文件读写测试:Java文件读写的性能测试(附源码)。代码经过几个版本的优化后,已经初步完成。但是在这几个版本的代码中,测试代码和运行代码并没有分离,所以导致有很多地方都写了很多次(如计时和输出都有大量重复)。设计思路为了解决这个问题,本文通过使用测试接口(ITest)的方式,将测试代码进行抽象统一;通过...原创 2019-07-24 17:25:52 · 849 阅读 · 0 评论 -
C#中文件写的性能测试
C#的文件读写三种方式测试。C:\VSProjects\IOPerformanceTest\bin\Debug>IOPerformanceTest.exe -t 20 -m 100 -a 0Test Algorithm: FileWriteTest....................Writing: 88.7623 ms. Speed: 1.15 GB/s.Writing 9...原创 2019-09-06 16:31:40 · 2417 阅读 · 0 评论 -
Intel SSD 760P 缓存机制实验与分析报告
问题描述前几天,在C#中文件写的性能测试一文中,对C#的文件写的几种不同的方式的性能进行了测试。同时,文章源代码也在Git发布了。但是,经仔细分析,发现在写入时的速度居然达到了4.6GB/s。要知道,一般的机械硬件的速度通常在150MB/s左右,普通SSD的速度为500MB/s左右,而好点的NVME一般为 2000 MB/s 左右。这个测试结果显然是有悖常识的。为了进一步了解Intel 760...原创 2019-09-11 16:56:03 · 4044 阅读 · 0 评论 -
JAVA1G长数据读取速度约20G/s写入速度约5G/s
本测试使用1G长的整型数组对Java中大数组的读写性能进行测试。原创 2018-11-20 16:34:04 · 1259 阅读 · 0 评论