deps: replaced simplejson with much faster orjson implementation
This commit is contained in:
parent
bfdcb17dff
commit
7556b374d5
2 changed files with 25 additions and 7 deletions
|
|
@ -145,13 +145,12 @@ nbconvert==7.2.9
|
|||
tinycss2==1.2.1
|
||||
webencodings==0.5.1
|
||||
traitlets==5.9.0
|
||||
orjson==3.8.7
|
||||
pastescript==3.3.0
|
||||
paste==3.5.2
|
||||
six==1.16.0
|
||||
pastedeploy==3.0.1
|
||||
six==1.16.0
|
||||
pathlib2==2.3.7.post1
|
||||
six==1.16.0
|
||||
premailer==3.10.0
|
||||
cachetools==5.3.0
|
||||
cssselect==1.2.0
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
import datetime
|
||||
import decimal
|
||||
import functools
|
||||
# we keep simplejson for having dump functionality still
|
||||
# orjson doesn't support it
|
||||
import orjson
|
||||
import simplejson
|
||||
import orjson as json
|
||||
|
||||
import simplejson as json
|
||||
|
||||
from rhodecode.lib.datelib import is_aware
|
||||
from rhodecode.lib.str_utils import safe_str
|
||||
|
||||
try:
|
||||
import rhodecode.translation
|
||||
|
|
@ -57,8 +62,22 @@ def _obj_dump(obj):
|
|||
raise TypeError(repr(obj) + " is not JSON serializable")
|
||||
|
||||
|
||||
json.dumps = functools.partial(json.dumps, default=_obj_dump, use_decimal=False)
|
||||
json.dump = functools.partial(json.dump, default=_obj_dump, use_decimal=False)
|
||||
json.dumps = functools.partial(json.dumps, default=_obj_dump, option=orjson.OPT_NON_STR_KEYS)
|
||||
json.dump = functools.partial(simplejson.dump, default=_obj_dump)
|
||||
|
||||
# alias for formatted json
|
||||
formatted_json = functools.partial(json.dumps, indent=4, sort_keys=True)
|
||||
|
||||
def formatted_json(*args, **kwargs):
|
||||
# alias for formatted json
|
||||
opts = orjson.OPT_NON_STR_KEYS | orjson.OPT_INDENT_2 | orjson.OPT_SORT_KEYS
|
||||
return functools.partial(json.dumps, option=opts)(*args, **kwargs)
|
||||
|
||||
|
||||
def formatted_str_json(*args, **kwargs):
|
||||
opts = orjson.OPT_NON_STR_KEYS | orjson.OPT_INDENT_2 | orjson.OPT_SORT_KEYS
|
||||
closure = functools.partial(json.dumps, option=opts)
|
||||
return safe_str(closure(*args, **kwargs))
|
||||
|
||||
|
||||
def str_json(*args, **kwargs):
|
||||
closure = functools.partial(json.dumps)
|
||||
return safe_str(closure(*args, **kwargs))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue