电脑型号:acer 4752g

电脑配置:

代码分享:

 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             Debug.Listeners.Add(new ConsoleTraceListener());
 6             ShowExecuteTime("dataverylteBatch", () => DataVeryLiteInsertBatch());
 7
 8             ShowExecuteTime("dataverylte", () => DataVeryLiteInsert());
 9             ShowExecuteTime("hibernate", () => HibernateInsert());
10             Console.WriteLine("完成");
11             Console.ReadKey();
12         }
13
14         public static void HibernateInsert()
15         {
16             // 读取配置
17             var config = new Configuration().Configure("Database.xml");
18
19             // 创建表结构
20             SchemaMetadataUpdater.QuoteTableAndColumns(config);
21             new SchemaExport(config).Create(false, true);
22
23             // 打开Session
24             var sessionFactory = config.BuildSessionFactory();
25             using (var session = sessionFactory.OpenSession())
26             {
27                 // 插入
28                 for (int i = 0; i < 1000; i++)
29                 {
30                     var user = new User();
31                     user.Name = "贼寇在何方"+i;
32                     user.Password = "********";
33                     user.Email = "realh3@gmail.com";
34
35                     session.Save(user);
36                     session.Flush();
37                     Debug.WriteLine("Nhibernate now is inserted " + i);
38                 }
39             }
40         }
41
42         public static void DataVeryLiteInsert()
43         {
44             for (int i = 0; i < 1000; i++)
45             {
46                 var user = new VeryLiteUser();
47                 user.Id = Guid.NewGuid().ToString();
48                 user.Name = "贼寇在何方" + i;
49                 user.Password = "********";
50                 user.Email = "realh3@gmail.com";
51                 user.Save(false);
52                 Debug.WriteLine("DataVeryLite now is inserted " + i);
53             }
54         }
55         public static void DataVeryLiteInsertBatch()
56         {
57             Sqlite sqlite = new Sqlite();
58             var tran= sqlite.BeginTransaction();
59             var list = new  List<VeryLiteUser>();
60             for (int i = 0; i < 1000; i++)
61             {
62                 var user = new VeryLiteUser();
63                 user.Id = Guid.NewGuid().ToString();
64                 user.Name = "贼寇在何方" + i;
65                 user.Password = "********";
66                 user.Email = "realh3@gmail.com";
67                 list.Add(user);
68                 Debug.WriteLine("VeryLiteUser now is add to list " + i);
69             }
70             sqlite.SaveOnly<VeryLiteUser>(list, false, tran);
71             tran.Commit();
72         }
73
74         public static void ShowExecuteTime(string name, Action action)
75         {
76             Console.ForegroundColor = ConsoleColor.Yellow;
77             Console.WriteLine(name + " start,please wait.");
78             Debug.WriteLine(name + " start,please wait.");
79             int start = System.Environment.TickCount;
80             action();
81             int during = System.Environment.TickCount - start;
82             Console.ForegroundColor = ConsoleColor.Red;
83             Console.WriteLine(name + ":During time is " + during / 1000.0 + " s");
84             Debug.WriteLine(name + ":During time is " + during / 1000.0 + " s");
85             Console.WriteLine();
86         }

插入条数:1000条

结果:

dataverylteBatch:用时2.59秒
dataverylte:用时156.64秒hibernate:用时145.58秒

源代码(Demo)下载地址:http://files.cnblogs.com/shuqizhao/DataVeryLiteNHibernateSQLiteDemo.zipDataVeryLite地址:http://dataverylite.codeplex.com/欢迎吐槽!
 
 

转载于:https://www.cnblogs.com/shuqizhao/p/3441414.html

DataVeryLite和Nhibernate性能对比相关推荐

  1. Java常用消息队列原理介绍及性能对比

    消息队列使用场景 为什么会需要消息队列(MQ)? 解耦  在项目启动之初来预测将来项目会碰到什么需求,是极其困难的.消息系统在处理过程中间插入了一个隐含的.基于数据的接口层,两边的处理过程都要实现这一 ...

  2. golang连接postgresql too many client_MySQL和PostgreSQL压测性能对比

    阅读使人充实,讨论使人敏捷,写作使人精确. >>> 压测业务场景文章属于互联网社区动态类场景核心功能压测案例.至于题目涉及的MySQL和PostgreSQL之间的关系,主要为业务选型 ...

  3. php下curl与file_get_contents性能对比

    为什么80%的码农都做不了架构师?>>>    上一篇讲了 <php使用curl替代file_get_contents>, 后续贴出了curl和file_get_cont ...

  4. p40与p100训练性能对比

    深度学习训练,选择P100就对了 原文:https://yq.aliyun.com/articles/238764 摘要: 本文使用NVCaffe.MXNet.TensorFlow三个主流开源深度学习 ...

  5. php vs lua,解析LUA与PHP在WEB应用的性能对比

    解析LUA与PHP在WEB应用的性能对比是本文要介绍的内容,这几天用在WEB开发的LUA框架已经完成,框架中已包括数据库操作和模板操作的功能,能够很简单方便的应用在WEB开发上.在此时我对这个LUA框 ...

  6. Jetson Nano and VIM3硬件参数对比及目标检测性能对比

    文章目录: 1 Jetson Nano and VIM3硬件参数对比及目标检测性能对比 2 Jetson nano在yolov4目标检测性能 3 VIM在yolov3.yolov3-tiny.yolo ...

  7. MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...

  8. cimage和gdi绘图效率比较_GDI+和GDI绘图性能对比实验

    龙源期刊网 http://www.qikan.com.cn GDI+ 和 GDI 绘图性能对比实验 作者:王克茹 来源:<科技创新与应用> 2013 年第 25 期 摘 要:本文通过完全相 ...

  9. 五款主流 Linux 发行版性能对比,稳而不强?

    测试结果解读 2018 即将结束,年末正是各种基准测试对比轮番出炉的时候,通过这些报告,我们可以看到 Linux 性能的各个方面在 2018 是如何发展的.但本文的这份性能对比会更加深入 -- 将研究 ...

最新文章

  1. 学python对学习有帮助吗-自学python有用吗?
  2. 字典占内存大吗_微博热搜稳占第一!「美团大数据杀熟」是真的吗?
  3. Qt中的QBoxLayout
  4. 分段函数 左右 f'正 不等于f'负 则f'导数不存在。所以不能推出f连续是否
  5. Envoy实现.NET架构的网关(一)静态配置与文件动态配置
  6. linux git 发邮件,gitlab发邮件基于sendmail
  7. 3D印花芭蕾舞鞋为舞者科学地保护双脚
  8. 12款优秀jQuery Ajax分页插件和教程
  9. matlab去趋势,[转载]使用Matlab对数据进行去趋势(detrend)
  10. 两个分数化简比怎么化_怎么化行最简形矩阵?
  11. ESP32 TIMER
  12. 关于SpringMVC中model的attribute无法指定别名的解决方案
  13. pycharm pip超时 无法下载package 更换源
  14. 分享10款保护隐私的搜索引擎,快手动收藏!
  15. delphi glsence 教程
  16. virutalbox 无线网卡桥接
  17. 广播、组播、单播区别与联系
  18. team viewer 远程控制计算机,使用TeamViewer让手机控制电脑的设置步骤
  19. 用故障恢复控制台恢复注册表
  20. 有源和无源设备的共质心布局:回顾和未来之路

热门文章

  1. 用animation的steps属性制作帧动画
  2. selenium WebDriverException: Message: unknown error: DevToolsActivePort file doesnt exist
  3. python3----智能检测编码的工具
  4. 20145220韩旭飞《网络对抗》Exp6 信息搜集与漏洞扫描
  5. VB.Net to C Sharp Converter有用吗?
  6. c++ 一日一练:istream.rdbuf(ostringstream.rdbuf())无效!
  7. Android输入输出机制之来龙去脉之前生后世
  8. Android RecycleView 去掉默认动画
  9. Android stadio 调试太掉了
  10. 【剑指offer-Java版】32从1到n的整数中1出现的次数