Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created July 19, 2019 03:17
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save Whateverable/af5e0a19e2ac29d82712aecead381aad to your computer and use it in GitHub Desktop.
bisectable6
old=2018.10 new=2018.11 my $fmt = { sprintf "%04d%02d%02d", .year, .month, .day }; .say for (Date.new('2019-05-01', formatter => $fmt) .. Date.new('2019-05-31', formatter => $fmt));
Bisecting: 98 revisions left to test after this (roughly 7 steps)
[ec2848c43ae54961dd7b9109a48f68c03b206abb] Final tweaks on the Hyper refactor
»»»»» Testing ec2848c43ae54961dd7b9109a48f68c03b206abb
»»»»» Cannot test this commit. Reason: Commit exists, but a perl6 executable could not be built for it
»»»»» Therefore, skipping this revision
»»»»» -------------------------------------------------------------------------
»»»»» Testing 549f53e4c9cb26eb5af59c4aeea1fbf6c5327646
»»»»» Script output:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 98d07cf6f9c2dd27390d7e842ef7aaa47259271f
»»»»» Script output:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 0d5a8132404e15cb8e91583482ecb720ec8a8c3c
»»»»» Script output:
20190501
20190502
20190503
20190504
20190505
20190506
20190507
20190508
20190509
20190510
20190511
20190512
20190513
20190514
20190515
20190516
20190517
20190518
20190519
20190520
20190521
20190522
20190523
20190524
20190525
20190526
20190527
20190528
2019-05-29
2019-05-30
2019-05-31
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 21434dda43c88fea1bfe717dd2ba2380571d7f8d
»»»»» Script output:
20190501
20190502
20190503
20190504
20190505
20190506
20190507
20190508
20190509
20190510
20190511
20190512
20190513
20190514
20190515
20190516
20190517
20190518
20190519
20190520
20190521
20190522
20190523
20190524
20190525
20190526
20190527
20190528
2019-05-29
2019-05-30
2019-05-31
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 674a083705d652ae685019e98de54fdef84fe0de
»»»»» Script output:
20190501
20190502
20190503
20190504
20190505
20190506
20190507
20190508
20190509
20190510
20190511
20190512
20190513
20190514
20190515
20190516
20190517
20190518
20190519
20190520
20190521
20190522
20190523
20190524
20190525
20190526
20190527
20190528
2019-05-29
2019-05-30
2019-05-31
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing a11d599f4b8856d78ddea6540b09e7827776db49
»»»»» Script output:
20190501
20190502
20190503
20190504
20190505
20190506
20190507
20190508
20190509
20190510
20190511
20190512
20190513
20190514
20190515
20190516
20190517
20190518
20190519
20190520
20190521
20190522
20190523
20190524
20190525
20190526
20190527
20190528
2019-05-29
2019-05-30
2019-05-31
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 18ded174e5947f6212305496614dd7a9c3e45bcf
»»»»» Cannot test this commit. Reason: Commit exists, but a perl6 executable could not be built for it
»»»»» Therefore, skipping this revision
»»»»» -------------------------------------------------------------------------
»»»»» Testing b463746daf51254bc5b8135af715d89be484bdd3
»»»»» Script output:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing bf3eb8ec9cec785f6ccb3e1e7a4d767f815c708b
»»»»» Script output:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
20190501
2019-05-02
2019-05-03
2019-05-04
2019-05-05
2019-05-06
2019-05-07
2019-05-08
2019-05-09
2019-05-10
2019-05-11
2019-05-12
2019-05-13
2019-05-14
2019-05-15
2019-05-16
2019-05-17
2019-05-18
2019-05-19
2019-05-20
2019-05-21
2019-05-22
2019-05-23
2019-05-24
2019-05-25
2019-05-26
2019-05-27
2019-05-28
2019-05-29
2019-05-30
2019-05-31
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
a11d599f4b8856d78ddea6540b09e7827776db49 is the first new commit
commit a11d599f4b8856d78ddea6540b09e7827776db49
Author: Elizabeth Mattijsen <liz@wenzperl.nl>
Date: Sun Nov 11 17:21:34 2018 +0100
Make Date.succ/pred and Date ± N about 3x as fast (usually)
This should make iterating over a range of Dates or a loop with ++$date
about 3x as fast. Optimization based on the observation that if only the
date value can change, we just need to clone the object and update the day
value. Complicating factor could be the daycount attribute that also needs
updating if it is set. If anything apart the day needs to change, then it
will fallback to the old logic, creating a new object using the daycount
attribute.
:040000 040000 cc604ec1944e45805872149c98e4c2a307752969 8a7ee4b3d97878d88dab11ae2ed6ff10e570d29f M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment