Rev 18: Merge John's pyrex accelerator. in http://people.ubuntu.com/~robertc/baz2.0/plugins/groupcompress/trunk
Robert Collins
robertc at robertcollins.net
Fri Jul 25 01:09:29 BST 2008
At http://people.ubuntu.com/~robertc/baz2.0/plugins/groupcompress/trunk
------------------------------------------------------------
revno: 18
revision-id: robertc at robertcollins.net-20080725000927-d88agg6z2bfzcks2
parent: robertc at robertcollins.net-20080724032318-jf91btvf2zxi9344
parent: john at arbash-meinel.com-20080724230854-rly3bvlhfl0p06jq
committer: Robert Collins <robertc at robertcollins.net>
branch nick: trunk
timestamp: Fri 2008-07-25 10:09:27 +1000
message:
Merge John's pyrex accelerator.
added:
.bzrignore bzrignore-20080724041812-7jbgn9euewwtns1u-1
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
setup.py setup.py-20080705181503-ccbxd6xuy1bdnrpu-9
tests/__init__.py __init__.py-20080705181503-ccbxd6xuy1bdnrpu-11
tests/test_groupcompress.py test_groupcompress.p-20080705181503-ccbxd6xuy1bdnrpu-13
------------------------------------------------------------
revno: 14.1.31
revision-id: john at arbash-meinel.com-20080724230854-rly3bvlhfl0p06jq
parent: john at arbash-meinel.com-20080724215326-k20u4v8u7e8sgxzk
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 18:08:54 -0500
message:
We had a small bug when we had to rebuild the hash, as we would forget about the non-indexed entries.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.30
revision-id: john at arbash-meinel.com-20080724215326-k20u4v8u7e8sgxzk
parent: john at arbash-meinel.com-20080724215107-g9qb40jyulny7dhg
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 16:53:26 -0500
message:
Restore a test
modified:
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.29
revision-id: john at arbash-meinel.com-20080724215107-g9qb40jyulny7dhg
parent: john at arbash-meinel.com-20080724205827-92jyxxdq1d0bckr6
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 16:51:07 -0500
message:
Implement _get_longest_match in Pyrex.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.28
revision-id: john at arbash-meinel.com-20080724205827-92jyxxdq1d0bckr6
parent: john at arbash-meinel.com-20080724203055-ecnlsf9rgx4gtemu
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 15:58:27 -0500
message:
Add a function to work in raw C arrays instead of a python list object
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.27
revision-id: john at arbash-meinel.com-20080724203055-ecnlsf9rgx4gtemu
parent: john at arbash-meinel.com-20080724202814-3j2i7icorcj4k502
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 15:30:55 -0500
message:
Add a test which forces lots of matches
modified:
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.26
revision-id: john at arbash-meinel.com-20080724202814-3j2i7icorcj4k502
parent: john at arbash-meinel.com-20080724200941-r2i2opkvgb3baklk
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 15:28:14 -0500
message:
Start with a copy implementation of the _get_longest_match function.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.25
revision-id: john at arbash-meinel.com-20080724200941-r2i2opkvgb3baklk
parent: john at arbash-meinel.com-20080724200252-6yn8nq9jjwo12a3b
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 15:09:41 -0500
message:
Factor the get_longest_match into a helper func
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
------------------------------------------------------------
revno: 14.1.24
revision-id: john at arbash-meinel.com-20080724200252-6yn8nq9jjwo12a3b
parent: john at arbash-meinel.com-20080724193043-w3g53v16xugfptbk
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 15:02:52 -0500
message:
Factor out the most compute intensive portion, with plans to turn it into a compiled func.
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
------------------------------------------------------------
revno: 14.1.23
revision-id: john at arbash-meinel.com-20080724193043-w3g53v16xugfptbk
parent: john at arbash-meinel.com-20080724184245-tv8w4m489tg3x2op
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 14:30:43 -0500
message:
Now we can add more lines without having to rebuild the whole hash
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
------------------------------------------------------------
revno: 14.1.22
revision-id: john at arbash-meinel.com-20080724184245-tv8w4m489tg3x2op
parent: john at arbash-meinel.com-20080724172424-isijxcrk77anv9pa
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 13:42:45 -0500
message:
Switch the indexed integer into a flags integer.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
------------------------------------------------------------
revno: 14.1.21
revision-id: john at arbash-meinel.com-20080724172424-isijxcrk77anv9pa
parent: john at arbash-meinel.com-20080724164419-dvlka03aw0pdvpy3
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 12:24:24 -0500
message:
Add support for not including certain lines in the hashtable.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.20
revision-id: john at arbash-meinel.com-20080724164419-dvlka03aw0pdvpy3
parent: john at arbash-meinel.com-20080724164013-o7s2w0c3n663c9u9
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 11:44:19 -0500
message:
Test the results with real strings rather than just integers
modified:
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.19
revision-id: john at arbash-meinel.com-20080724164013-o7s2w0c3n663c9u9
parent: john at arbash-meinel.com-20080724163234-tk0s4p4j43bwq21m
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 11:40:13 -0500
message:
Do some more testing about what happens when you get hash collisions, etc.
modified:
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.18
revision-id: john at arbash-meinel.com-20080724163234-tk0s4p4j43bwq21m
parent: john at arbash-meinel.com-20080724162549-q9encnqgwblo1fcg
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 11:32:34 -0500
message:
Start actually storing matches in the hash table, and testing the result.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.17
revision-id: john at arbash-meinel.com-20080724162549-q9encnqgwblo1fcg
parent: john at arbash-meinel.com-20080724151336-022nlr16h3drtuie
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 11:25:49 -0500
message:
We now build the appropriate hash table entries.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.16
revision-id: john at arbash-meinel.com-20080724151336-022nlr16h3drtuie
parent: john at arbash-meinel.com-20080724145942-fhz7q6fpw8kde40q
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 10:13:36 -0500
message:
Test the recommended versus minimum hash table sizes.
We may actually want to increase the 'recommended' values a bit more.
It just depends how often we have to grow the hash table during real-world
testing.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 14.1.15
revision-id: john at arbash-meinel.com-20080724145942-fhz7q6fpw8kde40q
parent: john at arbash-meinel.com-20080724051851-5c96p66uwasrhp1v
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 09:59:42 -0500
message:
Start writing tests directly for the compiled class
These tests are implementation tests, rather than interface tests. To make it
easier to assert that the internals are properly written.
added:
tests/test__groupcompress_c.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
tests/__init__.py __init__.py-20080705181503-ccbxd6xuy1bdnrpu-11
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.14
revision-id: john at arbash-meinel.com-20080724051851-5c96p66uwasrhp1v
parent: john at arbash-meinel.com-20080724041849-06lrpzhaxtd1qvyq
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Thu 2008-07-24 00:18:51 -0500
message:
A bit more work, not really usable yet.
I *do* have an idea of where I want to go with this.
And I think it can be quite a bit simpler than the patience-diff hash tables.
modified:
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
------------------------------------------------------------
revno: 14.1.13
revision-id: john at arbash-meinel.com-20080724041849-06lrpzhaxtd1qvyq
parent: john at arbash-meinel.com-20080724031133-ext4wj2ec0flwtmc
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 23:18:49 -0500
message:
Copy the EquivalenceTable code into pyrex and get it under test.
added:
.bzrignore bzrignore-20080724041812-7jbgn9euewwtns1u-1
_groupcompress_c.pyx _groupcompress_c.pyx-20080724041824-yelg6ii7c7zxt4z0-1
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
setup.py setup.py-20080705181503-ccbxd6xuy1bdnrpu-9
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.12
revision-id: john at arbash-meinel.com-20080724031133-ext4wj2ec0flwtmc
parent: john at arbash-meinel.com-20080724030706-wsxxfi0vm1kplb9x
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 22:11:33 -0500
message:
Switch away from probing hidden member variables
modified:
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.11
revision-id: john at arbash-meinel.com-20080724030706-wsxxfi0vm1kplb9x
parent: john at arbash-meinel.com-20080724023524-h4usgh4ttfojop0g
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 22:07:06 -0500
message:
Convert back into grabbing a right-lines ahead of time.
This is to make it easier for the pyrex implementation.
modified:
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.10
revision-id: john at arbash-meinel.com-20080724023524-h4usgh4ttfojop0g
parent: john at arbash-meinel.com-20080724021449-iiaip6rlv55ft4j7
parent: robertc at robertcollins.net-20080724022142-j93zoiwj1xvwr8cu
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 21:35:24 -0500
message:
Merge in Robert's refactoring.
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
setup.py setup.py-20080705181503-ccbxd6xuy1bdnrpu-9
------------------------------------------------------------
revno: 15.1.2
revision-id: robertc at robertcollins.net-20080724022142-j93zoiwj1xvwr8cu
parent: robertc at robertcollins.net-20080724020930-wnm0fmro7lari347
committer: Robert Collins <robertc at robertcollins.net>
branch nick: trunk
timestamp: Thu 2008-07-24 12:21:42 +1000
message:
use extend rather than append when outputting lines.
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
------------------------------------------------------------
revno: 15.1.1
revision-id: robertc at robertcollins.net-20080724020930-wnm0fmro7lari347
parent: robertc at robertcollins.net-20080724015151-vul2s7bru8fqytjl
committer: Robert Collins <robertc at robertcollins.net>
branch nick: trunk
timestamp: Thu 2008-07-24 12:09:30 +1000
message:
Start to simplify flush_range.
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
setup.py setup.py-20080705181503-ccbxd6xuy1bdnrpu-9
------------------------------------------------------------
revno: 14.1.9
revision-id: john at arbash-meinel.com-20080724021449-iiaip6rlv55ft4j7
parent: john at arbash-meinel.com-20080724020259-uwf92qqc78c8or34
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 21:14:49 -0500
message:
If we are going to do it this way, we don't need to explicitly distinguish left and right
modified:
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.8
revision-id: john at arbash-meinel.com-20080724020259-uwf92qqc78c8or34
parent: john at arbash-meinel.com-20080724015338-09mokzjaseegvvkl
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 21:02:59 -0500
message:
We don't actually care much about the right-line relationships. We only need to track the left-hand side.
modified:
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.7
revision-id: john at arbash-meinel.com-20080724015338-09mokzjaseegvvkl
parent: john at arbash-meinel.com-20080724015127-d9s8vemejmt6g3ym
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 20:53:38 -0500
message:
Switch to using a plain list as much as possible.
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
------------------------------------------------------------
revno: 14.1.6
revision-id: john at arbash-meinel.com-20080724015127-d9s8vemejmt6g3ym
parent: john at arbash-meinel.com-20080723231816-dpbx07b285a7nvxn
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 20:51:27 -0500
message:
Use the new EquivalenceTable to track the lines.
modified:
groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
tests/test_groupcompress.py test_groupcompress.p-20080705181503-ccbxd6xuy1bdnrpu-13
------------------------------------------------------------
revno: 14.1.5
revision-id: john at arbash-meinel.com-20080723231816-dpbx07b285a7nvxn
parent: john at arbash-meinel.com-20080723231336-jl42weldf5k2r9f4
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 18:18:16 -0500
message:
Add a test that just uses lots of the same lines,
just to make sure our code won't blow up.
modified:
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.4
revision-id: john at arbash-meinel.com-20080723231336-jl42weldf5k2r9f4
parent: john at arbash-meinel.com-20080723231053-czm2asjhx7rs7imb
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 18:13:36 -0500
message:
Allow ignoring some of the new lines.
modified:
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.3
revision-id: john at arbash-meinel.com-20080723231053-czm2asjhx7rs7imb
parent: john at arbash-meinel.com-20080723230349-81wuwl9z3as3ojec
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 18:10:53 -0500
message:
We can now add more lines to left lines, and continue to track the right info.
modified:
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.2
revision-id: john at arbash-meinel.com-20080723230349-81wuwl9z3as3ojec
parent: john at arbash-meinel.com-20080723225620-8gc0w2h8xyrhpa1c
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 18:03:49 -0500
message:
we can now extract what lines in left match the right
modified:
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
------------------------------------------------------------
revno: 14.1.1
revision-id: john at arbash-meinel.com-20080723225620-8gc0w2h8xyrhpa1c
parent: robertc at robertcollins.net-20080721124131-0eoo6jo4bm52yoaw
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: groupcompress
timestamp: Wed 2008-07-23 17:56:20 -0500
message:
Start working on an EquivalenceTable construct.
added:
equivalence_table.py equivalence_table.py-20080723225607-fk4rlr7rm1wln8w4-1
tests/test_equivalence_table.py test_equivalence_tab-20080723225607-fk4rlr7rm1wln8w4-2
modified:
setup.py setup.py-20080705181503-ccbxd6xuy1bdnrpu-9
tests/__init__.py __init__.py-20080705181503-ccbxd6xuy1bdnrpu-11
Diff too large for email (1414 lines, the limit is 1000).
More information about the bazaar-commits
mailing list