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 = 0;
            while (true)
            {
                db.Put(WriteOptions.Default, Guid.NewGuid().ToString(), "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeraaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
                if (System.Threading.Interlocked.Increment(ref mCount) % 10000 == 0)
                {
                    Console.WriteLine("{0} has inserted. time use {1}ms.", mCount, sp.ElapsedMilliseconds);
                }
            }
        }
    }
}

  3、看效果:我的机器上配置不怎么好,大约5000条/秒。

10000 has inserted. time use 1968ms.
20000 has inserted. time use 3996ms.
30000 has inserted. time use 6032ms.
40000 has inserted. time use 7969ms.
50000 has inserted. time use 10465ms.
60000 has inserted. time use 12932ms.
70000 has inserted. time use 14914ms.
80000 has inserted. time use 17161ms.
90000 has inserted. time use 19351ms.
100000 has inserted. time use 21431ms.
110000 has inserted. time use 23572ms.
120000 has inserted. time use 25277ms.
130000 has inserted. time use 27174ms.
140000 has inserted. time use 29311ms.
150000 has inserted. time use 31577ms.
160000 has inserted. time use 33539ms.
170000 has inserted. time use 36045ms.
180000 has inserted. time use 37894ms.
190000 has inserted. time use 40296ms.
200000 has inserted. time use 42255ms.
210000 has inserted. time use 44752ms.
220000 has inserted. time use 46432ms.
230000 has inserted. time use 48524ms.
240000 has inserted. time use 50457ms.
250000 has inserted. time use 52648ms.
260000 has inserted. time use 54896ms.
270000 has inserted. time use 57293ms.
280000 has inserted. time use 59354ms.
290000 has inserted. time use 61576ms.
300000 has inserted. time use 63735ms.
310000 has inserted. time use 65710ms.
320000 has inserted. time use 67867ms.
330000 has inserted. time use 69724ms.
340000 has inserted. time use 71691ms.
350000 has inserted. time use 74123ms.
360000 has inserted. time use 76347ms.
370000 has inserted. time use 78387ms.
380000 has inserted. time use 80481ms.
390000 has inserted. time use 82766ms.
400000 has inserted. time use 84601ms.
410000 has inserted. time use 86751ms.
420000 has inserted. time use 88961ms.
430000 has inserted. time use 91061ms.
440000 has inserted. time use 93445ms.
450000 has inserted. time use 95739ms.
460000 has inserted. time use 97735ms.
470000 has inserted. time use 99911ms.
480000 has inserted. time use 102113ms.
490000 has inserted. time use 104124ms.
500000 has inserted. time use 106092ms.
510000 has inserted. time use 107903ms.
520000 has inserted. time use 112400ms.
530000 has inserted. time use 114539ms.
540000 has inserted. time use 339741ms.
550000 has inserted. time use 342317ms.
560000 has inserted. time use 344162ms.

二、修改引用库:

  http://www.meebey.net/projects/leveldb-sharp/

  同时引入:

  2、代码和前面的相同

  3、运行结果:

  

  

  效果还不错,大约是6.6w条/秒。

时间: 2024-08-03 12:33:51

C#中使用多款LevelDB.Net封装测试性能的相关文章

在Altium Designer中使用AUTOCAD快速制作元件封装

笔者通过使用AutoCAD处理图形,并将其导入Altium Designer中,快速绘制元件封装,省去算间距的时间. 本例中以NPN管(B772),封装为SOT-89为例: 第一步:使用PDF Editor工具打开B772的说明文档,并定位到封装页面. 将该页面单独导出为pdf格式. 第二步:利用pdf2pxf工具,将导出的含有封装的单页pdf转化为dxf格式. 第三步:使用AutoCAD打开,并标注其中任意一边长,会发现标注和封装上的示数不同.这时使用缩放工具,成功缩放至相同示数. 第四步:删

将Java中的数组进行二次封装成属于我们自己的数组

我们来简略回顾一下Java数组的基础概念: 数组最大的优点是可以快速查询,因为数组直接通过索引查询很快:array[2],所以在随机访问时有一定的优势.其数据结构是简单的线性序列,这使得元素访问非常快速,并且按照索引遍历数组方便 数组最好应用于"索引有语意"的情况 但并非所有有语意的索引都适用于数组,例如索引是身 份 证号这种长度的数字,就无法作为索引使用 而数组也同样可以处理"索引没有语意"的情况 数组的缺点: 根据内容查找元素速度慢 数组的大小一经确定不能改变

Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求. 下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz 安装#tar zxvf http_load-12mar2006.tar.gz#cd http_load-12mar

7款响应式网页测试工具

响应式设计几乎是当代网页设计的基础构成之一.在实际设计和开发的过程中,想要让网站按照设计响应不同尺寸屏幕,设计师和前端需要花费相当的时间来进行测试和优化.所以,今天我们搜集了7款功能强大的响应式页面测试工具,下面就一一介绍一下. 1. XRESPOND 这款名为 XRespond 的工具自称为“虚拟设备实验室”,这个称号其实是名副其实的. 通过Xrespond 打开网页,你可以看到它在不同屏幕尺寸下的样子,整个布局是横向的,所以你需要横向滚动页面才能看到它所有的样子. 屏幕上方的标签会标识出它是

在linux中给你的应用做压力测试

在linux中给你的应用做压力测试 作者: 立地 邮箱: [email protected] QQ: 511363759 一.webbench 1.在Ubuntu中安装webbench —支持get,head等请求,但不支持post请求 wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make && make insta

在window cmd中设置字符集后,mysql的测试

之前测试过,在centos下,所有字符集全部设为utf8,可以同时满足命令行和网页的需求. 在windows下,由于默认字符集为gbk,所以在命令行操作mysql时,需要设置set character_set_client = gbk; 今天发现,其实是要设置set character_set_results = gbk;即可,其它均为utf8或gbk都行. 另外尝试改变windows字符集,cmd下chcp 65001切换到utf8,但这好像是临时的,由于这次安装的wamp,用的自带的终端,c

SQL Server中多表连接时驱动顺序对性能的影响

原文:SQL Server中多表连接时驱动顺序对性能的影响 本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 最近在SQL Server中多次遇到开发人员提交过来的有性能问题的SQL,其表面的原因是表之间去的驱动顺序造成的性能问题,具体表现在(已排除其他因素影响的情况下),存储过程偶发性的执行时间超出预期,甚至在调试的时候

推荐几款热门的网站测试工具

推荐几款热门的网站测试工具 网站测试是在web开发当中常用的的方法,该方法是用来测试的网站的速度,可用性和性能.一个网站必须具有良好用户体验的,跨浏览器的兼容性.今天将讨论流行的网站测试工具,这对于提升我们的网站性能具有非常实际的帮助意义 Page Speed Online这是一个著名的基于Web的应用程序的Chrome浏览器扩展在输入框填写要测速的网页地址,点击“分析性能”,就能得到Google给出的“桌面版建议”,这是指在PC下浏览的建议,也可以指定“移动版建议”.Page speed on

Java中arraylist和linkedlist源码分析与性能比较

Java中arraylist和linkedlist源码分析与性能比较 1,简介 在java开发中比较常用的数据结构是arraylist和linkedlist,本文主要从源码角度分析arraylist和linkedlist的性能. 2,arraylist源码分析 Arraylist底层的数据结构是一个对象数组,有一个size的成员变量标记数组中元素的个数,如下图: * The array buffer into which the elements of the ArrayList are sto