测试Map,和list的插入效率

public static void count(int count) {
		System.out.println(new Date());
		List<Integer> ilist = new ArrayList<Integer>();
		for (int i = 0; i < count; i++) {
			ilist.add(i);
		}
		System.out.println(new Date());
	}
	public static void count2(int count) {
		System.out.println(new Date());
		Map<Integer, Integer> m = new HashMap<Integer, Integer>();
		for (int i = 0; i < count; i++) {
			m.put(i, i);
		}
		System.out.println(new Date());
	}

	public static void main(String[] args) {
	      count(9000000);
//		Wed Feb 04 17:47:58 CST 2015
//		Wed Feb 04 17:48:06 CST 2015

//		count2(9000000);
//		Wed Feb 04 17:48:24 CST 2015
//		3分多钟还没结束,就停止程序了。

//		count2(3000000);
//		Wed Feb 04 17:54:16 CST 2015
//		Wed Feb 04 17:54:17 CST 2015
	}

经上所测试,在数据量大时,现测试大于300万时就效率好慢。

时间: 2024-08-06 03:36:53

测试Map,和list的插入效率的相关文章

[转载]提升SQLite数据插入效率低、速度慢的方法

转载地址:http://blog.csdn.net/majiakun1/article/details/46607163,如果有侵犯原创,请留言告知,本人会及时删除. 前言 SQLite数据库由于其简单.灵活.轻量.开源,已经被越来越多的被应用到中小型应用中.甚至有人说,SQLite完全可以用来取代c语言中的文件读写操作.因此我最近编写有关遥感数据处理的程序的时候,也将SQLite引入进来,以提高数据的结构化程度,并且提高大数据的处理能力(SQLite最高支持2PB大小的数据).但是最开始,我发

解决 C++ 操作 MySQL 大量数据插入效率低下问题

往 Mysql 中,插入10000条简单数据,速度非常缓慢,居然要5分钟左右, 但是打开事务的话,一秒不到就搞定了 代码: #include <iostream> #include <winsock2.h> #include <string> #include "mysql.h" #pragma comment(lib, "libmysql.lib"); using namespace std; int main() { MYSQ

用 console.time()和 console.timeEnd() 测试你的 javascript 代码执行效率

无意中学习到了一种测试 javascript 代码执行效率的一种方法,就记下来便于以后使用,用到了console对象中的  time  和  timeEnd  方法 . console.time('myFirstCode');  //开始(开始的名字要和结束的名字要一致哦) //你所要执行的 javascript程序 .... console.timeEnd('myFirstCode');    //结束 在浏览器控制台 console 这个按钮,查看代码执行时间 用 console.time(

带你玩转java多线程系列 “道篇” 多线程的优势及利用util.concurrent包测试单核多核下多线程的效率

java多线程 “道篇” - 多线程的优势及用concurrent包测试单核多核下多线程的效率 1 超哥对于多线程自己的理解 2 测试代码 3 CountDownLatch这个同步辅助类科普 4 如何把电脑设置成单核 5 测试结果 1 超哥对于多线程自己的理解 超哥的理解:对于多线程,无非是对于顺序执行下任务的一种抽取和封装,将原来顺序执行的任务单独拿出来放到线程类的run方法中,通过线程类的start方法进行执行,对于多线程访问共同资源时,我们需要加锁,也就是只有某个线程在拥有锁的时候,才能够

【原创测试】MongoDB千万级插入数据测试(MMO在线游戏应用场合)

一.筹备 我们要做一次千万级的MONGODB测试,操作系统选用CentOS 5.5 64位版,基本模拟实际的使用环境,采用单机集群模型(测试单机多CPU情况下的实际效果). 测试基准数据: 服务器配置:Intel Xeon E5506 * 2 共8核内存是8GB DDR3 应用程序:编程语言:C++编译器:GCC 4.4.5BOOST版本:1.47MONGODB版本:2.02 测试目的:为测试在大量数据插入时的延迟以及寻找相应的解决方案.目标应用场合:无分区式MMOSLG(目标在线用户100万 

没有躲过的坑--map的初始化(插入数据)

最近工作中需要使用map,进行查询. 首先简单介绍一点map,也许是教科书里讲授最少的STL知识吧.但是在实际工作中map挺重要的,用于查找很方便快捷,尤其是以键和值的形式存在的! 1.头文件 #include<map> 2.map的功能 自动建立Key - value的对应.key 和 value可以是任意你需要的类型. 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次. 快速插入Key - Value

C++操作MySQL大量数据插入效率低下的解决方法

#include <iostream> #include <winsock2.h> #include <string> #include "mysql.h" #pragma comment(lib, "libmysql.lib"); using namespace std; int main() { MYSQL mysql; mysql_init(&mysql); // 初始化 MYSQL *ConnStatus = my

数据库一次性插入10w条数据,怎么插入效率快

在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题 下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters). bulk方法主要思想是通过在客户端把数据都缓存在Table中,然后利用SqlBulkCopy一次性把Table中的数据插入到数据库 代码如下: public static void BulkToDB(DataTab

std::map的操作:插入、修改、删除和遍历

using namespace std; std::map<int,int> m_map; 1.添加 for(int i=0;i<10;i++) { m_map.insert(make_pair(i,i)); } 2.修改 std::map<int,int>::iterator iter; for(iter=m_map.begin();iter != m_map.end();iter++) { int& i=iter->second;//这个地方用别名,就可以修