[manual] Use ujson instead of simplejson.

This saves something like 15ms on our 1000 message get_old_messages
queries, and will save even more when we start sending JSON dumps into
our memcached system.

We need to install python-ujson on servers and dev instances before
pushing this to prod.

(imported from commit 373690b7c056d00d2299a7588a33f025104bfbca)
This commit is contained in:
Tim Abbott
2013-06-18 17:55:55 -04:00
parent 678dd502ef
commit 222ef672b5
25 changed files with 120 additions and 119 deletions

View File

@@ -4,16 +4,16 @@ from optparse import make_option
from django.core.management.base import BaseCommand
from zephyr.models import UserProfile, get_user_profile_by_email
from zephyr.lib.actions import do_change_password
import simplejson
import ujson
def dump():
passwords = []
for user_profile in UserProfile.objects.all():
passwords.append((user_profile.email, user_profile.password))
file("dumped-passwords", "w").write(simplejson.dumps(passwords) + "\n")
file("dumped-passwords", "w").write(ujson.dumps(passwords) + "\n")
def restore(change):
for (email, password) in simplejson.loads(file("dumped-passwords").read()):
for (email, password) in ujson.loads(file("dumped-passwords").read()):
try:
user_profile = get_user_profile_by_email(email)
except UserProfile.DoesNotExist: