Merge pull request #323 from blink1073/gc-disable

Disabling gc while loading pickles for a 20% speed boost on larger libs
This commit is contained in:
David Halter
2013-10-06 08:55:38 -07:00
2 changed files with 8 additions and 3 deletions

View File

@@ -20,6 +20,6 @@ Aaron Meurer (@asmeurer) <asmeurer@gmail.com>
Lubos Trilety <ltrilety@redhat.com>
Akinori Hattori (@hattya)
srusskih (@srusskih)
Steven Silvester (@blink1073)
Note: (@user) means a github user name.

View File

@@ -23,6 +23,7 @@ import os
import sys
import json
import hashlib
import gc
try:
import cPickle as pickle
except ImportError:
@@ -256,8 +257,12 @@ class _ModulePickling(object):
return None
with open(self._get_hashed_path(path), 'rb') as f:
parser_cache_item = pickle.load(f)
try:
gc.disable()
parser_cache_item = pickle.load(f)
finally:
gc.enable()
debug.dbg('pickle loaded', path)
parser_cache[path] = parser_cache_item
return parser_cache_item.parser