Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created December 1, 2021 23:12
Show Gist options
  • Save Whateverable/b38351cbc6526125b3e2c7be0a63ad54 to your computer and use it in GitHub Desktop.
Save Whateverable/b38351cbc6526125b3e2c7be0a63ad54 to your computer and use it in GitHub Desktop.
bisectable6
say (1..120).pick(*).grep(*>*>*).so
Bisecting: 52 revisions left to test after this (roughly 6 steps)
[f2959ad5c64f5b42f442fb1df18d382cc31ecdcb] Re-imagine IterateOneWithoutPhasers.pull-one
»»»»» Testing f2959ad5c64f5b42f442fb1df18d382cc31ecdcb
»»»»» Script output:
True
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing d668d992928f221ee834401074a2446c2d8ecf97
»»»»» Script output:
Too few positionals passed; expected 5 arguments but got 4
in block <unit> at /tmp/nCcfOoaMA3 line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 68b08a3523e230499dd1f988105c138f4dabc248
»»»»» Script output:
Too few positionals passed; expected 5 arguments but got 4
in block <unit> at /tmp/nCcfOoaMA3 line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 38626c6860f0d400500bd83bac3552846b81157e
»»»»» Script output:
Too few positionals passed; expected 5 arguments but got 4
in block <unit> at /tmp/nCcfOoaMA3 line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 0761d4b2d498be314c15b1dd54b001b5e9060aba
»»»»» Script output:
True
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing bb09bbb8581364f7323ff1f17ab4d84dffbe798c
»»»»» Script output:
Too few positionals passed; expected 5 arguments but got 4
in block <unit> at /tmp/nCcfOoaMA3 line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing ddc7c9ff2297ceea8a7bd4a568643415f654a2da
»»»»» Script output:
True
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
bb09bbb8581364f7323ff1f17ab4d84dffbe798c is the first new commit
commit bb09bbb8581364f7323ff1f17ab4d84dffbe798c
Author: Elizabeth Mattijsen <liz@wenzperl.nl>
Date: Sat Jul 10 14:54:38 2021 +0200
Improve performance of .grep(Callable) and cleanup
- about 1% for single arg Callable
- more than 2x as fast for 2 arg Callable
- a few percent for 2+ arg Callables
This gets rid of the CheatArity hack, that turned out to be only in
place to let "sequential-map" select the correct iterator to use.
Selection of the correct iterator now happens in !grep-callable itself,
so that we don't need the CheatArity hack anymore.
The 2 arg Callable's improvement is due to the fact that it no longer
needs to take a full capture, but instead operates on a Callable that
just takes 2 parameters.
:040000 040000 563cc95d256ef089ca9ec940ca30270fe15857f7 b503bda7871b373478adee95b00c824881a434a7 M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment