dan mackinlay avatar dan mackinlay committed ca84a39

binary protocol for pickling performance

Comments (0)

Files changed (1)

     Note that this is not completely symmtrical with FSDict, which will store
     *only* strings in values; this will store *anything but* FSDicts in
     values.
+    
+    This uses the binary-only protocol=2, for performance.
+    An infrastructure which supported more general serialisation might be
+    smart.
     """
     def __setitem__(self, item, value):
         if item in self:
             f.update(value)
         else: #pickle it!
             with self._handle_factory(fn, 'wb') as f:
-                pickle.dump(value, f)
+                pickle.dump(value, f, protocol=2)
                 
     def __getitem__(self, item):
         fn = self._get_path(item)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.