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 的集成实在是太棒了!但 ...
随机推荐
- INDY10的IDHttpServer应答客户端
INDY10的IDHttpServer应答客户端 首先贴源码: procedure TIdHTTPResponseInfo.WriteContent; begin if not HeaderHasBe ...
- 手机端可以和PC端同时在线-java QRCode 实现网站扫码登录(即支持同帐号多设备同时登录)
微信扫码测试地址:: http://sms.reyo.cn 用户名:aa 密码:123456 扫码登录实现方式很多,比如ajax轮询,http长连接(comet...),websocket,event ...
- java7 NIO2 watching service API
java7 NIO2新增了文件系统的相关事件处理API,为目录,文件新增修改删除等事件添加事件处理. package reyo.sdk.utils.file; import java.io.IOExc ...
- 冰川时代5:星际碰撞Ice Age: Collision Course迅雷下载
影片讲述松鼠奎特为了追松果,偶然引发了宇宙事件,改变并威胁着冰川时代的世界.为了拯救自己,话唠树懒希德.猛犸象曼尼.剑齿虎迪亚哥,以及别的动物群族必须离开家园,踏上了他们充满喜剧色彩的冒险旅程,他们来 ...
- cocos2d-x中使用CCOrbitCamera做水平翻转
项目中需要用到水平翻转效果,这里偷懒了- 首先翻转,它只是转到了180度,多了就觉得很奇怪了. 所以这里设定就是先从0 ~ 90度,然后再从270 ~ 360,90 – 270 视觉上是感觉不到变 ...
- Caffe常用层参数介绍
版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Cheese_pop/article/details/52024980 DATA crop:截取原图像中一个 ...
- django的mysql设置和mysql服务器闲置时间设置
服务器启动后,每个进程都会主动连接到mysql,要是长时间没有数据交互,mysql会自动断开连接. show variables like '%timeout%'; 闲置连接的超时时间由wait_t ...
- Redis 性能问题的记录
最近线上使用redis, 查询的情况不甚理想, 这个查询操作是个 lua 脚本, 包含如下操作 开发机 redis, 没有其他干扰, 插入的 zset 有 5000 member 左右, 使用的 re ...
- webrequest HttpWebRequest webclient/HttpClient
webrequest(abstract类,不可直接用) <--- (继承)---- HttpWebRequest(更好的控制请求) <--- (继承)---- webclient (简单快 ...
- 图解 MongoDB 地理位置索引的实现原理(转)
原文链接:图解 MongoDB 地理位置索引的实现原理 地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB的原因之一.我们知道,通常的数据 ...