Rev 2363: tuple(list[:3]) noticablely slower than (list[0], list[1], list[2]) in http://bazaar.launchpad.net/%7Ebzr/bzr/dirstate

John Arbash Meinel john at arbash-meinel.com
Thu Feb 22 16:49:45 GMT 2007


At http://bazaar.launchpad.net/%7Ebzr/bzr/dirstate

------------------------------------------------------------
revno: 2363
revision-id: john at arbash-meinel.com-20070222164842-ctd1jolh1nhjvmxb
parent: john at arbash-meinel.com-20070222153923-cpynsmaz50pdncre
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: dirstate
timestamp: Thu 2007-02-22 10:48:42 -0600
message:
  tuple(list[:3]) noticablely slower than (list[0], list[1], list[2])
  Presumably because list[:] has to create a list, which is then converted again into a
  tuple().
modified:
  bzrlib/dirstate.py             dirstate.py-20060728012006-d6mvoihjb3je9peu-1
-------------- next part --------------
=== modified file 'bzrlib/dirstate.py'
--- a/bzrlib/dirstate.py	2007-02-22 15:39:23 +0000
+++ b/bzrlib/dirstate.py	2007-02-22 16:48:42 +0000
@@ -560,7 +560,7 @@
         if num_present_parents == 0:
             def fields_to_entry_0_parents(fields, _int=int, _tuple=tuple,
                                           _mini_to_kind=self._minikind_to_kind):
-                path_name_file_id_key = _tuple(fields[:3])
+                path_name_file_id_key = (fields[0], fields[1], fields[2])
                 return (path_name_file_id_key, [
                     ( # Current tree
                         _mini_to_kind[fields[3]], # kind
@@ -573,7 +573,7 @@
         elif num_present_parents == 1:
             def fields_to_entry_1_parent(fields, _int=int, _tuple=tuple,
                                          _mini_to_kind=self._minikind_to_kind):
-                path_name_file_id_key = _tuple(fields[:3])
+                path_name_file_id_key = (fields[0], fields[1], fields[2])
                 return (path_name_file_id_key, [
                     ( # Current tree
                         _mini_to_kind[fields[3]], # kind
@@ -594,7 +594,7 @@
         elif num_present_parents == 2:
             def fields_to_entry_2_parents(fields, _int=int, _tuple=tuple,
                                           _mini_to_kind=self._minikind_to_kind):
-                path_name_file_id_key = _tuple(fields[:3])
+                path_name_file_id_key = (fields[0], fields[1], fields[2])
                 return (path_name_file_id_key, [
                     ( # Current tree
                         _mini_to_kind[fields[3]], # kind
@@ -622,7 +622,7 @@
         else:
             def fields_to_entry_n_parents(fields, _int=int, _tuple=tuple,
                                           _mini_to_kind=self._minikind_to_kind):
-                path_name_file_id_key = _tuple(fields[:3])
+                path_name_file_id_key = (fields[0], fields[1], fields[2])
                 trees = [(_mini_to_kind[fields[cur]], # kind
                           fields[cur+1],              # fingerprint
                           _int(fields[cur+2]),        # size



More information about the bazaar-commits mailing list