/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/option.py

  • Committer: John Arbash Meinel
  • Date: 2010-08-04 07:14:54 UTC
  • mto: This revision was merged to the branch mainline in revision 5390.
  • Revision ID: john@arbash-meinel.com-20100804071454-bfhbwrqes7sabvay
Populate the offsets array.

This cuts down the number of bisections dramatically, basically by pre-caching
the first step. On real-world data it drops the steps from 587 to 156.
Or from 4.9/key to 1.3/key.
This drops the time to lookup from 23.7us to 20.3us.
Note that (k in dict) is 12.2us. I do wish we were just a bit closer to that.
However, with _LeafNode inherited from dict, I get 26us, so
maybe there is something in the interpreter that does a PyDict_CheckExact
call, and there isn't much we can do about it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
530
530
               short_name='m',
531
531
               help='Message string.')
532
532
_global_option('no-recurse')
 
533
_global_option('null', short_name='0',
 
534
                 help='Use an ASCII NUL (\\0) separator rather than '
 
535
                      'a newline.')
533
536
_global_option('profile',
534
537
               help='Show performance profiling information.')
535
538
_global_option('revision',
570
573
_global_option('dry-run',
571
574
               help="Show what would be done, but don't actually do anything.")
572
575
_global_option('name-from-revision', help='The path name in the old tree.')
 
576
_global_option('directory', short_name='d', type=unicode,
 
577
               help='Branch to operate on, instead of working directory')
573
578
 
574
579
diff_writer_registry = _mod_registry.Registry()
575
580
diff_writer_registry.register('plain', lambda x: x, 'Plaintext diff output.')