Created
December 7, 2016 03:25
-
-
Save Whateverable/28dcb535797f4cd5272e62a9ad94386b to your computer and use it in GitHub Desktop.
bisectable6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
say S:g/d// given 'abc' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Bisecting: 1325 revisions left to test after this (roughly 10 steps) | |
[ffc79b753553b4ab692b0655237c8f6a770bf450] Remove some =:= from hot paths | |
»»»»» Testing ffc79b753553b4ab692b0655237c8f6a770bf450 | |
»»»»» Script output: | |
abc | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 96299c7453980b4d9dc8b3f83761c600d3553a3a | |
»»»»» Script output: | |
abc | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing b4dfed2a86b8af0e46d14b74077d907b49ddf957 | |
»»»»» Script output: | |
() | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing e08da94d635a356455db04b8a1f6a0689e7be51e | |
»»»»» Script output: | |
abc | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing aaec5177e293d21febe42cd8e42e208fb99308d0 | |
»»»»» Script output: | |
() | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 2dd0ddbbc2910564d08a9e0ac0cda15c7c2527fc | |
»»»»» Script output: | |
abc | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 87bba047a2e0783a0a17bc4ea4e2494f550490b2 | |
»»»»» Script output: | |
abc | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 127b3be424e3119ac6f1aed4673ad0fc1c50fb10 | |
»»»»» Script output: | |
abc | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 1b956369ab700566b07f2f2e195549d075d040de | |
»»»»» Script output: | |
() | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 41e2572051967dc391de33ea6339b2389bd5728e | |
»»»»» Script output: | |
() | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing b7201a8f22338a906f2d8027a21387e8f5c77f41 | |
»»»»» Script output: | |
() | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
abc | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
b7201a8f22338a906f2d8027a21387e8f5c77f41 is the first new commit | |
commit b7201a8f22338a906f2d8027a21387e8f5c77f41 | |
Author: Elizabeth Mattijsen <liz@dijkmat.nl> | |
Date: Sun Oct 23 21:52:51 2016 +0200 | |
Completely re-imagine Str.match internals | |
Simple matches without any modifying adverbs is about 1.5x faster. | |
Complicated setups like with :nth(1,3..*), :3x are about 14x faster. | |
Other mixes of parameters are generally in the 2x to 3x faster range. | |
Two semantic changes: (see RT #129945): the family of :nth (as in :st, | |
:nd, :rd and :th) are now lazy and will return whatever they can find. | |
Before all matches would be cached to find out if enough matches were | |
found and none would be returned if not enough were found. Please | |
use an additional :x for that if you want that behaviour. Also, when | |
using .nth with an iterator using non-monotonically increasing index | |
values, it will now die, instead of silently not producing the Matchi | |
object associated with the non-monotonically increasing index value. | |
How this was done: | |
- use MMD for handling single adverb calls faster | |
- rewrite all (private) methods using nqp | |
- use iterators instead of gather/take combo's | |
- use new "skip-one" iterator methods wherever possible | |
- don't use signatures for multiple named variables | |
- pass $/ to be set around as a parameter | |
:040000 040000 310922caf347317b45596f65c9a108c5b4ef6836 898eea463f82db6215203f8380e2753429a1a439 M src |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment