C#中使用多款LevelDB.Net封装测试性能

时间:2024-04-20 12:37:57

一、使用http://www.nuget.org/packages/LevelDB.NET 测试

  1、新建项目,并Nuget引入库:

    C#中使用多款LevelDB.Net封装测试性能

  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,然后反编译,取得里面的资源。C#中使用多款LevelDB.Net封装测试性能

  同时引入:C#中使用多款LevelDB.Net封装测试性能

  2、代码和前面的相同

  3、运行结果:

  C#中使用多款LevelDB.Net封装测试性能

  C#中使用多款LevelDB.Net封装测试性能

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