Created
December 15, 2018 23:32
-
-
Save Whateverable/efff3094c4c18896eaf8fc6797107997 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
class C {}; multi infix:<~>($a, C) is default {42}; say "test" ~ C.new |
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: 4488 revisions left to test after this (roughly 12 steps) | |
[4afa6126214a775bfe37026b10713664294e1035] Remove .path attribute from cat handle | |
»»»»» Testing 4afa6126214a775bfe37026b10713664294e1035 | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing bececb7b7525bf76ed4d19956e79e2013936528d | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 5c429e4eadcdcb9ba5aa3d7eb79264f172990f0e | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing c2b66c144c368f4d98a542d4de3c553e85febbe5 | |
»»»»» Cannot test this commit. Reason: Commit exists, but a perl6 executable could not be built for it | |
»»»»» Therefore, skipping this revision | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 20f0df8f7251486a5ea0a160cc88459937f4aa12 | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing de98129322489bc57c1997b8b620363977c28e8c | |
»»»»» Cannot test this commit. Reason: Commit exists, but a perl6 executable could not be built for it | |
»»»»» Therefore, skipping this revision | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 89055755e270334e326b5364e24d991ac192f08c | |
»»»»» Script output: | |
testC<94542350007040> | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 1bf086120d57aae02f0fd11d22b3378c82a0e273 | |
»»»»» Script output: | |
testC<94272385317376> | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 36d37cbc8b4794cdda7945fce74fc8b3ca3b669d | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 9a5c538fa286061267be3350600ed09a88e9bca5 | |
»»»»» Script output: | |
testC<94907867968368> | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 1070fa0c84af1bc3f25bd29f207da64396c7260c | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing fa73bb48d5a6ac72e17b6c7f5cb7b9ec47a260df | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing bf9ab42e0f598b0701c44ba0da71f1f0f2f68a61 | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing 3ae97e5f38e85a5db76053ed2c7757c59a22f73d | |
»»»»» Script output: | |
testC<94309944378016> | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is different | |
»»»»» Therefore, marking this revision as “new” | |
»»»»» ------------------------------------------------------------------------- | |
»»»»» Testing dc68b932d37c8b31a28ae0fdc2273ebd8a4de9a3 | |
»»»»» Script output: | |
42 | |
»»»»» Script exit code: 0 | |
»»»»» Bisecting by output | |
»»»»» Output on “old” revision is: | |
42 | |
»»»»» The output is identical | |
»»»»» Therefore, marking this revision as “old” | |
»»»»» ------------------------------------------------------------------------- | |
3ae97e5f38e85a5db76053ed2c7757c59a22f73d is the first new commit | |
commit 3ae97e5f38e85a5db76053ed2c7757c59a22f73d | |
Author: Elizabeth Mattijsen <liz@wenzperl.nl> | |
Date: Thu Aug 9 15:53:37 2018 +0200 | |
Optimize interpolation | |
Before, all interpolation was codegenned with a call to "Stringy". This | |
has several disadvantages: | |
- it created a more opcodes (this patch makes core setting 25K smaller) | |
- it wouldn't allow for better optimized infix:<~> candidates | |
- it didn't allow custom infix:<~> to be seen (as all became Str) | |
This commit does the following things: | |
- remove codegenning a method call to Stringy | |
- except if it's the only one, to handle the case of "$a".WHAT | |
- add several candidates for infix:<~> to handle optimisable cases | |
- Cool ~ Str | Str ~ Cool | Cool ~ Cool: directly call Cool.Str | |
- str ~ Str | Str ~ str | str ~ str: always return a str | |
- [~] @foo: now handles str @foo | @foo with separate candidate | |
This made code like "$a $a": | |
- 2% faster in the case of $a being a Str | |
- 10% faster in the case of $a being an Int | |
- 2x as fast in the case of $a being a str | |
:040000 040000 ad8f5a64bee6c1922b8b80e50f8ea2bdf0568446 a30b5a28581ac53cd0d418a6018511889d4b0a10 M src |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment