ORM性能:是greenDAO比ORMLite快吗?

我一直在使用ORMLite在我的应用程序,我正在考虑是否移动到greenDAO。

性能是决定的一个重要组成部分, greenDAO的function页面说:

对于同一给定实体,greenDAO插入和更新实体的速度提高了2倍,加载实体的速度比ORMLite加载实体快4.5倍。

(数字和图表更新10-23-2011)

我认为ORMLite的configuration文件生成步骤应该消除运行时reflection的需要。

ORMLite changlog表明greenDAO基准testing是在configuration文件function发布后完成的,但greenDAOfunction页面并没有明确说明是否为testing生成了一个静态configuration文件。

4.26:9/26/2011(svn r1978)
* ANDROID:添加了字段configuration实用程序,以避免注释带来的Dao创build性能问题。

从那时起,也有ORMLite性能修复,例如

4.40:4/16/2012(svn r2516)
* ANDROID:创buildDAO时出现性能问题。 外地领域总是使用reflection而不是表格configuration。

有谁能确认greenDAO和ORMLite之间是否还有很大的性能差异? 谢谢!

Solutions Collecting From Web of "ORM性能:是greenDAO比ORMLite快吗?"

我们刚刚发布了一个Github项目,我们用它来比较ORMLite和GreenDao与原始SQLite的性能:
https://github.com/daj/android-orm-b​​enchmark

该项目还允许您将内存数据库的性能与磁盘上的性能进行比较。

标题结果是:

GreenDao比ORMLite快得多 。 这大致是:

  • 写入大量对象的速度要快3倍。
  • 在单个表格的所有10000个条目中读取速度快50%。
  • 在单行索引读取时,速度提高2倍到3倍(尽pipe两者都非常快)。
  • 在10000条logging表中执行LIKEsearch100条logging的速度要快15倍。

该项目包含一个天真的原始SQLite基准和优化的SQLite基准 。

GreenDao vs 优化的原始SQLite

  • GreenDao的写入基准testing速度提高了2倍。
  • GreenDao读取基准的速度要慢25%。

GreenDao VS优化的原始SQLite

  • GreenDao读写基准的速度降低了50%。

有关详细结果,请参阅上面的Github存储库。

当然,我们可能在我们的基准testing代码中存在错误…如果您发现任何请求,请修复并提交请求! 🙂

免责声明:确保您在selectGreenDao over ORMLite之前进行自己的研究。