diff python/python-libpst.cpp @ 360:26c48ea9d896

From Jeffrey Morlan: pst_build_id_ptr reads the Block BTree into a linked list, which pst_getID does a linear scan through. For large PSTs that have millions of blocks, this is extremely slow - almost all time is spent in pst_getID. Since the BTree entries must be in order, this can be dramatically improved by reading into an array and using binary search.
author Carl Byington <carl@five-ten-sg.com>
date Wed, 06 Jul 2016 10:21:08 -0700
parents 1ddc61fd6189
children 5c0ce43c7532
line wrap: on
line diff
--- a/python/python-libpst.cpp	Wed Jul 06 10:20:12 2016 -0700
+++ b/python/python-libpst.cpp	Wed Jul 06 10:21:08 2016 -0700
@@ -269,7 +269,6 @@
         .def_readonly("offset",                 &pst_index_ll::offset)
         .def_readonly("size",                   &pst_index_ll::size)
         .def_readonly("u1",                     &pst_index_ll::u1)
-        .add_property("next",                   make_getter(&pst_index_ll::next, return_value_policy<reference_existing_object>()))
         ;
 
     class_<pst_id2_tree>("pst_id2_tree")
@@ -586,8 +585,6 @@
     class_<pst_file>("pst_file")
         .def_readonly("cwd",                    &pst_file::cwd)
         .def_readonly("fname",                  &pst_file::fname)
-        .add_property("i_head",                 make_getter(&pst_file::i_head, return_value_policy<reference_existing_object>()))
-        .add_property("i_tail",                 make_getter(&pst_file::i_tail, return_value_policy<reference_existing_object>()))
         .add_property("d_head",                 make_getter(&pst_file::d_head, return_value_policy<reference_existing_object>()))
         .add_property("d_tail",                 make_getter(&pst_file::d_tail, return_value_policy<reference_existing_object>()))
         .add_property("x_head",                 make_getter(&pst_file::x_head, return_value_policy<reference_existing_object>()))