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 的集成实在是太棒了!但 ...
随机推荐
- 添加类似navigationController自带的返回按钮
添加类似navigationController自带的返回按钮,效果如下: 一.UINavigationcontroller自带的navigationBar 是无法添加左箭头的返回按钮的 在网上搜索了 ...
- 快速排序原理及Java实现
1.基本思想: 快速排序是我们之前学习的冒泡排序的升级,他们都属于交换类排序,都是采用不断的比较和移动来实现排序的.快速排序是一种非常高效的排序算法,它的实现,增大了记录的比较和移动的距离,将关键字较 ...
- JAVA 解压压缩包中指定文件或实现压缩文件的预览及下载单个或多个指定的文件
业务逻辑中还要判读用户是否有此文件的防问权限 2017-04-20 新增文件与文件夹图标显示及过滤高亮显示功能: 2017-05-20 新增搜索向前及向后.及更新下载功能.更新文件路径显示: 测试地址 ...
- 关于spring session redis共享session的跨子域的处理
安装完redis, spring端只要下面这两个bean配置上就可以用了 <?xml version="1.0" encoding="UTF-8"?> ...
- transitionFromView方法的使用
transitionFromView方法的使用 效果 源码 // // ViewController.m // TransitionFromView // // Created by YouXianM ...
- 双面女间谍第一至五季/全集Alias迅雷下载
本季第一至五季 Alias Season (2001-2005)看点:<双面女间谍>她在CIA拥有双重身份,是个美貌矫健的年轻女间谍,一个性感的女007.但在第一季中,讲述更多的却是她在间 ...
- Win8 Metro风格的Web桌面HteOS
前言 曾经天天折腾ExtJS,折腾累了.近期这段时间開始用jquery来做一些东西,发现还是蛮有意思的.可是做到最后才发现,原来做好设计真的很重要. 上图就是HteOS项目的截图,眼下正在开发 ...
- Apache的三种工作模式
Web服务器Apache目前一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式. 它们分别是prefork,worker和event,它们同时也代表这Apac ...
- [转]IOS下如何判断机器是否越狱
转自: http://blog.csdn.net/kaizi318/article/details/9135385 关于判断iPhone是否是jailbreak机器,可参考如下代码: static c ...
- hyper-v 尝试更改 状态时 应用程序遇到错误 无法初始化
刚还原了一个问题,现在 又来一个: 让我崩溃的微软 hyper-v.这次错误 提示也没了. http://social.technet.microsoft.com/Forums/de-DE/751b2 ...