问题描述
我一直在使用ORMLite在我的应用程序已经和我正在考虑是否采用greenDAO。
I've been using ORMLite in my application and I was considering whether to move to greenDAO.
性能是决定一个巨大的一部分, greenDAO的功能页面说:
Performance is a huge part of that decision, and greenDAO's Features page says:
有关同一给定的实体,greenDAO插入和更新实体过 2倍的速度,并加载实体更快装载4.5倍 实体比ORMLite。
...
(图和图表更新2011年10月23号)
我觉得ORMLite's配置文件生成一步应该不再需要运行时用于反映。
I thought ORMLite's config file generation step should remove the need for reflection at runtime.
在ORMLite changlog 表明greenDAO基准做配置文件功能发布之后,但greenDAO功能页面没有按'牛逼明确地说,如果对测试产生一个静态的配置文件。
The ORMLite changlog suggests that the greenDAO benchmark was done after the config file feature was released, but the greenDAO features page doesn't explicitly say if a static config file was generated for the test.
4.26:2011/9/26(SVN r1978)
*安卓:添加的字段配置实用程序,以避免道创作的性能问题,注释
已经有自那以后也一直ORMLite性能修复,如:
There have also been ORMLite performance fixes since then, e.g.
4.40:2012年4月16日(SVN r2516)
* ANDROID:创建的DAO时,巨大的性能bug修复。洋田总是用来代替表的configs反映。
任何人都可以确认是否还有greenDAO和ORMLite之间有很大的性能差异?谢谢!
Can anybody confirm if there is still a big performance difference between greenDAO and ORMLite? Thanks!
推荐答案
我们刚刚发布了Github的项目,我们来比较ORMLite和GreenDao的原始SQLite的性能:
https://github.com/daj/android-orm-benchmark
We've just published a Github project that we used to compare the performance of ORMLite and GreenDao to raw SQLite:
https://github.com/daj/android-orm-benchmark
该项目还可以让你的内存数据库的性能比较到磁盘上的一个。
The project also allows you to compare the performance of an in-memory database to an on disk one.
该标题的结果是:
GreenDao是的多的比ORMLite 更快。这大致是:
GreenDao is much faster than ORMLite. It is roughly:
- 快3倍,在写大量的对象。
- 50%的速度在读取所有10000项的一个表。
- 2到3倍快了单行的索引读取(虽然两者都是非常快)。
- 15X更快的在做LIKE搜索100条记录的10000项表。
该项目包含一个天真的原始SQLite的标杆,和optimized SQLite的基准。
The project contains both a naive raw SQLite benchmark, and an optimized SQLite benchmark.
GreenDao VS的未的优化原料的SQLite
GreenDao vs unoptimized raw SQLite
- GreenDao是快2倍的写入基准。
- GreenDao是读基准慢25%。
GreenDao VS优化原料的SQLite
- GreenDao是读慢50%,写基准。
有关详细结果,请参见上面的Github上库。
For detailed results please see the Github repository above.
当然,我们可以在我们的基准测试code错误......如果你发现任何请叉,修复并提交拉请求! : - )
Of course we may have bugs in our benchmarking code...if you find any please fork, fix and submit a pull request! :-)
免责声明:请务必选择GreenDao超过ORMLite之前做自己的研究
Disclaimer: make sure you do your own research before choosing GreenDao over ORMLite.
这篇关于ORM性能:是greenDAO比ORMLite快?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!