C#中使用多款LevelDB.Net封装测试性能
一、使用http://www.nuget.org/packages/LevelDB.NET 测试
1、新建项目,并Nuget引入库:

2、写代码
using LevelDB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace LevelDBDemo
{
class Program
{
static void Main(string[] args)
{
WriteTest();
}
public static void WriteTest()
{
var db = LevelDB.DB.Open("c:\\works\\mydb", new Options { CreateIfMissing = true }); System.Diagnostics.Stopwatch sp = new System.Diagnostics.Stopwatch();
sp.Reset();
sp.Start();
long mCount = ;
while (true)
{
db.Put(WriteOptions.Default, Guid.NewGuid().ToString(), "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeraaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
if (System.Threading.Interlocked.Increment(ref mCount) % == )
{
Console.WriteLine("{0} has inserted. time use {1}ms.", mCount, sp.ElapsedMilliseconds);
}
}
}
}
}
3、看效果:我的机器上配置不怎么好,大约5000条/秒。
has inserted. time use 1968ms.
has inserted. time use 3996ms.
has inserted. time use 6032ms.
has inserted. time use 7969ms.
has inserted. time use 10465ms.
has inserted. time use 12932ms.
has inserted. time use 14914ms.
has inserted. time use 17161ms.
has inserted. time use 19351ms.
has inserted. time use 21431ms.
has inserted. time use 23572ms.
has inserted. time use 25277ms.
has inserted. time use 27174ms.
has inserted. time use 29311ms.
has inserted. time use 31577ms.
has inserted. time use 33539ms.
has inserted. time use 36045ms.
has inserted. time use 37894ms.
has inserted. time use 40296ms.
has inserted. time use 42255ms.
has inserted. time use 44752ms.
has inserted. time use 46432ms.
has inserted. time use 48524ms.
has inserted. time use 50457ms.
has inserted. time use 52648ms.
has inserted. time use 54896ms.
has inserted. time use 57293ms.
has inserted. time use 59354ms.
has inserted. time use 61576ms.
has inserted. time use 63735ms.
has inserted. time use 65710ms.
has inserted. time use 67867ms.
has inserted. time use 69724ms.
has inserted. time use 71691ms.
has inserted. time use 74123ms.
has inserted. time use 76347ms.
has inserted. time use 78387ms.
has inserted. time use 80481ms.
has inserted. time use 82766ms.
has inserted. time use 84601ms.
has inserted. time use 86751ms.
has inserted. time use 88961ms.
has inserted. time use 91061ms.
has inserted. time use 93445ms.
has inserted. time use 95739ms.
has inserted. time use 97735ms.
has inserted. time use 99911ms.
has inserted. time use 102113ms.
has inserted. time use 104124ms.
has inserted. time use 106092ms.
has inserted. time use 107903ms.
has inserted. time use 112400ms.
has inserted. time use 114539ms.
has inserted. time use 339741ms.
has inserted. time use 342317ms.
has inserted. time use 344162ms.
二、修改引用库:
http://www.meebey.net/projects/leveldb-sharp/
https://github.com/meebey/leveldb-sharp
注意,需要把leveldb.dll放在程序目录下。这个文件可以通过下载https://www.nuget.org/packages/LevelDB.Net/ 中的dll,然后反编译,取得里面的资源。
同时引入:
2、代码和前面的相同
3、运行结果:


效果还不错,大约是6.6w条/秒。
C#中使用多款LevelDB.Net封装测试性能的更多相关文章
- 使用Spring.net中对Ado.net的抽象封装来访问数据库
使用Spring.net中对Ado.net的抽象封装来访问数据库 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入 ...
- OpenGl中的Nurbs B样条曲面的封装的GLU的NURBS的接口
OpenGl中的Nurbs B样条曲面的封装的GLU的NURBS的接口 创建一个NURBS对象: GLUnurbs* gluNewNurbsRenderer (void); //创建一个NURBS对象 ...
- angular开发中对请求数据层的封装
代码地址如下:http://www.demodashi.com/demo/11481.html 一.本章节仅仅是对angular4项目开发中数据请求封装到model中 仅仅是在项目angular4项目 ...
- selenium3 web自动化测试框架 三:项目实战中PO模型的设计与封装
po模型设计思想 Page Object 模式主要是将每个页面设计为一个class,其中包含页面中的需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调取页面类来获取页面 ...
- Python面向对象中的继承、多态和封装
Python面向对象中的继承.多态和封装 一.面向对象的三大特性 封装:把很多数据封装到⼀个对象中,把固定功能的代码封装到⼀个代码块, 函数,对象, 打包成模块. 这都属于封装思想. 继承:⼦类可以⾃ ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- metasploit 一款开源的渗透测试框架
渗透神器漏洞利用框架metasploit from: https://zhuanlan.zhihu.com/p/30743401 metasploit是一款开源的渗透测试框架软件也是一个逐步发展与成熟 ...
- 开源一款超实用的 Dubbo 测试工具,已用半年,感觉很有feel~
不知道你是否在工作中有遇到过类似情况: dubbo接口调试复杂,需要通过telnet命令或者通过consumer调用来触发. telnet语句参数格式复杂,每次编写都要小心谨慎,一旦出错又需重来. 复 ...
- 如何在springMVC 中对REST服务使用mockmvc 做测试
如何在springMVC 中对REST服务使用mockmvc 做测试 博客分类: java 基础 springMVCmockMVC单元测试 spring 集成测试中对mock 的集成实在是太棒了!但 ...
随机推荐
- pthread_join与pthread_detach细节问题
http://www.360doc.com/content/13/0106/09/9171956_258497083.shtml pthread_t pthr; pthread_create(& ...
- 使用PHP+Sphinx建立高效的站内搜索引擎
1. 为什么要使用Sphinx 假设你现在运营着一个论坛,论坛数据已经超过100W,很多用户都反映论坛搜索的速度非常慢,那么这时你就可以考虑使用Sphinx了(当然其他的全文检索程序或方 ...
- 高效的找出两个List中的不同元素
/* * TestList.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ package reyo.sdk. ...
- 获取客户端网卡MAC地址和IP地址实现JS代码
获取客户端网卡MAC地址和IP地址实现JS代码 作者: 字体:[增加 减小] 类型:转载 获取客户端的一些信息,如IP和MAC,以结合身份验证,相信很多人都会这样做吧,我们这里用Javascrip ...
- Asp.Net 获取物理路径
一.AppDomain 1.AppDomin获取当前前程序域目录 2.不需要请求上线文实例,例如在Global.ascx中访问等 //网站物理目录 AppDomain.CurrentDomain.Ba ...
- 联想昭阳(Lenovo)
1996年,联想®昭阳系列推出了第一台笔记本电脑S5100.在经历了十几年的发展之后,联想昭阳系列也成为了国内市场占有率最高的国产商用笔记本品牌之一.昭阳品牌对于联想意义非凡,不仅仅是因为首款联想笔记 ...
- 洛谷P1972 [SDOI2009]HH的项链 题解
[SDOI2009]HH的项链 题目背景 无 题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不 ...
- HDOJ 4869 Turn the pokers
最后的结果中正面向上的奇偶性是一定的,计算出正面向上的范围low,up 结果即为 C(m.low)+ C(m.low+2) +.... + C(m,up) ,用逆元取模 Turn the pokers ...
- 再看copy_on_write缩小临界区的例子
本例子是模拟的读者写者问题,采用shared_ptr+写时拷贝实现,其中我觉得一个比较值得注意的地方是考虑到对象可能在临界区析构而将析构移除临界区,这对于多线程来说要多看多思. #include< ...
- Threejs 开发3D地图实践总结【转】
Threejs 开发3D地图实践总结 前段时间连续上了一个月班,加班加点完成了一个3D攻坚项目.也算是由传统web转型到webgl图形学开发中,坑不少,做了一下总结分享. 1.法向量问题 法线是垂 ...