24 May 2010 3 comments Python, Django
This blog post is 12 years old! Most likely, its content is outdated. Especially if it's technical.
django-mongokit is the project you want to use if you want to connect your Django project to your MongoDB database via the pymongo Python wrapper. An alternative (dare I say competing alternative) is MongoEngine which is bridge between Django and straight to pymongo. The immediate difference you notice is the syntax. django-mongokit looks like MongoKit syntax and MongoEngine looks like Django ORM. They both accomplish pretty much the same thing. So, which one is fastest?
First of all, remember this? where I showed how django-mongokit sped past the SQL ORM like a lightning bullet. Well appears MongoEngine is even faster.

That's an average of 23% faster for all three operations!
- Previous:
- More on What is "pythonic" 22 May 2010
- Next:
- "Using MongoDB in your Django app - implications and benefits" 25 May 2010
- Related by category:
- Best practice with retries with requests 19 April 2017 Python
- How much faster is Redis at storing a blob of JSON compared to PostgreSQL? 28 September 2019 Python
- Fastest way to find out if a file exists in S3 (with boto3) 16 June 2017 Python
- Interesting float/int casting in Python 25 April 2006 Python
- Fastest way to unzip a zip file in Python 31 January 2018 Python
- Related by keyword:
- Fastest database for Tornado 9 October 2013
- Mocking DBRefs in Mongoose and nodeunit 14 April 2011
- Correction: running Django tests with MongoDB is NOT slow 30 May 2010
- How I made my MongoDB based web app 10 times faster 21 October 2010
- Persistent caching with fire-and-forget updates 14 December 2011
Hi,
Can you provide the script source you used for this benchmark ? What version of MongoKit did you used ? I'd like to see what can I do to improve MongoKit speed.
N.
It's tucked away in a branch of django-mongokit but I haven't put the branch online. I can just send you a zip of the whole damn project and hopefully you can just run it and find out what can be optimized more. Interested?
Unfortunately upgrading to the latest version of MongoKit that doesn't generate indexes every time didn't help. MongoEngine is still faster.
I've used both, but there approach are not django.
If you want use a django implementation of mongodb give a look to http://github.com/aparo/django-mongodb-engine the performance are the same of mongoengine if you the mongodb manager. But you work in the django way.