J'utilise ORMLite dans mon application et je me demandais s'il fallait passer à greenDAO.
Les performances sont une partie énorme de cette décision, et page des fonctionnalités de greenDAO dit:
Pour la même entité donnée, greenDAO insère et met à jour les entités 2 fois plus rapidement et charge les entités 4,5 fois plus rapidement pour le chargement des entités que ORMLite.
...
(Figures et graphique mis à jour le 10-23-2011)
Je pensais la génération du fichier de configuration d'ORMLite étape devrait supprimer le besoin de réflexion lors de l'exécution.
L'ORMLite changlog suggère que le benchmark greenDAO a été fait après la sortie de la fonctionnalité de fichier de configuration, mais la page des fonctionnalités de greenDAO ne dit pas explicitement si un fichier de configuration statique a été généré pour le test.
4.26: 26/09/2011 (svn r1978)
* Android: Ajout d'un utilitaire de configuration de champ pour éviter les problèmes de performances de création Dao avec les annotations.
Il y a également eu des correctifs de performances ORMLite depuis lors, par exemple.
4.40: 16/04/2012 (svn r2516)
* Android: Big bug de performance lors de la création de DAO. Les champs étrangers utilisaient toujours la réflexion au lieu des configurations de table.
Quelqu'un peut-il confirmer s'il existe encore une grande différence de performances entre greenDAO et ORMLite? Merci!
Nous venons de publier un projet Github que nous avons utilisé pour comparer les performances d'ORMLite et de GreenDao à SQLite brut:
https://github.com/daj/Android-orm-benchmark
Le projet vous permet également de comparer les performances d'une base de données en mémoire à une sur disque.
Les principaux résultats sont les suivants:
GreenDao est beaucoup plus rapide que ORMLite . C'est à peu près:
Le projet contient à la fois un benchmark SQLite brut naïf et un benchmark SQLite optimisé .
GreenDao vs un SQLite brut optimisé
GreenDao vs SQLite brut optimisé
Pour des résultats détaillés, veuillez consulter le référentiel Github ci-dessus.
Bien sûr, nous pouvons avoir des bugs dans notre code de benchmarking ... si vous en trouvez, veuillez fourcher, corriger et soumettre une demande de pull! :-)
Avertissement: assurez-vous de faire vos propres recherches avant de choisir GreenDao sur ORMLite.