@@ -544,7 +544,6 @@ o_1_space_nested streamLen =
544o_1_space_transformation :: Int -> Benchmark
544o_1_space_transformation :: Int -> Benchmark
545o_1_space_transformation streamLen =
545o_1_space_transformation streamLen =
546 bgroup "transformation"
546 bgroup "transformation"
548 [ benchFold "foldrS" (foldrS 1) (sourceUnfoldrM streamLen)
547 [ benchFold "foldrS" (foldrS 1) (sourceUnfoldrM streamLen)
549 , benchFold "scan" (scan 1) (sourceUnfoldrM streamLen)
548 , benchFold "scan" (scan 1) (sourceUnfoldrM streamLen)
550 , benchFold "map" (map 1) (sourceUnfoldrM streamLen)
549 , benchFold "map" (map 1) (sourceUnfoldrM streamLen)
@@ -552,7 +551,10 @@ o_1_space_transformation streamLen =
552 , benchFold "mapM" (mapM 1) (sourceUnfoldrM streamLen)
551 , benchFold "mapM" (mapM 1) (sourceUnfoldrM streamLen)
553 , benchFold "mapMSerial" (mapMSerial 1) (sourceUnfoldrM streamLen)
552 , benchFold "mapMSerial" (mapMSerial 1) (sourceUnfoldrM streamLen)
555+o_1_space_transformationX4 :: Int -> Benchmark
556+o_1_space_transformationX4 streamLen =
555− , bgroup "X4"
557+ bgroup "transformationX4"
556 [ benchFold "scan" (scan 4) (sourceUnfoldrM streamLen)
558 [ benchFold "scan" (scan 4) (sourceUnfoldrM streamLen)
557 , benchFold "map" (map 4) (sourceUnfoldrM streamLen)
559 , benchFold "map" (map 4) (sourceUnfoldrM streamLen)
558 , benchFold "fmap" (fmapK 4) (sourceUnfoldrM streamLen)
560 , benchFold "fmap" (fmapK 4) (sourceUnfoldrM streamLen)
@@ -561,7 +563,6 @@ o_1_space_transformation streamLen =
561 -- XXX this is horribly slow
563 -- XXX this is horribly slow
562 -- , benchFold "concatMap" (concatMap 4) (sourceUnfoldrM streamLen16)
564 -- , benchFold "concatMap" (concatMap 4) (sourceUnfoldrM streamLen16)
566o_1_space_concat :: Int -> Benchmark
567o_1_space_concat :: Int -> Benchmark
567o_1_space_concat streamLen =
568o_1_space_concat streamLen =
@@ -600,7 +601,6 @@ o_1_space_concat streamLen =
600o_1_space_filtering :: Int -> Benchmark
601o_1_space_filtering :: Int -> Benchmark
601o_1_space_filtering streamLen =
602o_1_space_filtering streamLen =
602 bgroup "filtering"
603 bgroup "filtering"
604 [ benchFold "filter-even" (filterEven 1) (sourceUnfoldrM streamLen)
604 [ benchFold "filter-even" (filterEven 1) (sourceUnfoldrM streamLen)
605 , benchFold "filter-all-out" (filterAllOut streamLen 1) (sourceUnfoldrM streamLen)
605 , benchFold "filter-all-out" (filterAllOut streamLen 1) (sourceUnfoldrM streamLen)
606 , benchFold "filter-all-in" (filterAllIn streamLen 1) (sourceUnfoldrM streamLen)
606 , benchFold "filter-all-in" (filterAllIn streamLen 1) (sourceUnfoldrM streamLen)
@@ -611,7 +611,10 @@ o_1_space_filtering streamLen =
611 , benchFold "dropWhile-true" (dropWhileTrue streamLen 1) (sourceUnfoldrM streamLen)
611 , benchFold "dropWhile-true" (dropWhileTrue streamLen 1) (sourceUnfoldrM streamLen)
612 , benchFold "dropWhile-false" (dropWhileFalse 1) (sourceUnfoldrM streamLen)
612 , benchFold "dropWhile-false" (dropWhileFalse 1) (sourceUnfoldrM streamLen)
615+o_1_space_filteringX4 :: Int -> Benchmark
616+o_1_space_filteringX4 streamLen =
614− , bgroup "X4"
617+ bgroup "filteringX4"
615 [ benchFold "filter-even" (filterEven 4) (sourceUnfoldrM streamLen)
618 [ benchFold "filter-even" (filterEven 4) (sourceUnfoldrM streamLen)
616 , benchFold "filter-all-out" (filterAllOut streamLen 4) (sourceUnfoldrM streamLen)
619 , benchFold "filter-all-out" (filterAllOut streamLen 4) (sourceUnfoldrM streamLen)
617 , benchFold "filter-all-in" (filterAllIn streamLen 4) (sourceUnfoldrM streamLen)
620 , benchFold "filter-all-in" (filterAllIn streamLen 4) (sourceUnfoldrM streamLen)
@@ -622,7 +625,6 @@ o_1_space_filtering streamLen =
622 , benchFold "dropWhile-true" (dropWhileTrue streamLen 4) (sourceUnfoldrM streamLen)
625 , benchFold "dropWhile-true" (dropWhileTrue streamLen 4) (sourceUnfoldrM streamLen)
623 , benchFold "dropWhile-false" (dropWhileFalse 4) (sourceUnfoldrM streamLen)
626 , benchFold "dropWhile-false" (dropWhileFalse 4) (sourceUnfoldrM streamLen)
627o_1_space_zipping :: Int -> Benchmark
629o_1_space_zipping :: Int -> Benchmark
628o_1_space_zipping streamLen =
630o_1_space_zipping streamLen =
@@ -633,7 +635,6 @@ o_1_space_zipping streamLen =
633o_1_space_mixed :: Int -> Benchmark
635o_1_space_mixed :: Int -> Benchmark
634o_1_space_mixed streamLen =
636o_1_space_mixed streamLen =
635 bgroup "mixed"
637 bgroup "mixed"
637 [ benchFold "scan-map" (scanMap 1) (sourceUnfoldrM streamLen)
638 [ benchFold "scan-map" (scanMap 1) (sourceUnfoldrM streamLen)
638 , benchFold "drop-map" (dropMap 1) (sourceUnfoldrM streamLen)
639 , benchFold "drop-map" (dropMap 1) (sourceUnfoldrM streamLen)
639 , benchFold "drop-scan" (dropScan 1) (sourceUnfoldrM streamLen)
640 , benchFold "drop-scan" (dropScan 1) (sourceUnfoldrM streamLen)
@@ -645,7 +646,10 @@ o_1_space_mixed streamLen =
645 , benchFold "filter-scan" (filterScan streamLen 1) (sourceUnfoldrM streamLen)
646 , benchFold "filter-scan" (filterScan streamLen 1) (sourceUnfoldrM streamLen)
646 , benchFold "filter-map" (filterMap streamLen 1) (sourceUnfoldrM streamLen)
647 , benchFold "filter-map" (filterMap streamLen 1) (sourceUnfoldrM streamLen)
650+o_1_space_mixedX2 :: Int -> Benchmark
651+o_1_space_mixedX2 streamLen =
648− , bgroup "X2"
652+ bgroup "mixedX2"
649 [ benchFold "scan-map" (scanMap 2) (sourceUnfoldrM streamLen)
653 [ benchFold "scan-map" (scanMap 2) (sourceUnfoldrM streamLen)
650 , benchFold "drop-map" (dropMap 2) (sourceUnfoldrM streamLen)
654 , benchFold "drop-map" (dropMap 2) (sourceUnfoldrM streamLen)
651 , benchFold "drop-scan" (dropScan 2) (sourceUnfoldrM streamLen)
655 , benchFold "drop-scan" (dropScan 2) (sourceUnfoldrM streamLen)
@@ -657,7 +661,10 @@ o_1_space_mixed streamLen =
657 , benchFold "filter-scan" (filterScan streamLen 2) (sourceUnfoldrM streamLen)
661 , benchFold "filter-scan" (filterScan streamLen 2) (sourceUnfoldrM streamLen)
658 , benchFold "filter-map" (filterMap streamLen 2) (sourceUnfoldrM streamLen)
662 , benchFold "filter-map" (filterMap streamLen 2) (sourceUnfoldrM streamLen)
665+o_1_space_mixedX4 :: Int -> Benchmark
666+o_1_space_mixedX4 streamLen =
660− , bgroup "X4"
667+ bgroup "mixedX4"
661 [ benchFold "scan-map" (scanMap 4) (sourceUnfoldrM streamLen)
668 [ benchFold "scan-map" (scanMap 4) (sourceUnfoldrM streamLen)
662 , benchFold "drop-map" (dropMap 4) (sourceUnfoldrM streamLen)
669 , benchFold "drop-map" (dropMap 4) (sourceUnfoldrM streamLen)
663 , benchFold "drop-scan" (dropScan 4) (sourceUnfoldrM streamLen)
670 , benchFold "drop-scan" (dropScan 4) (sourceUnfoldrM streamLen)
@@ -669,7 +676,6 @@ o_1_space_mixed streamLen =
669 , benchFold "filter-scan" (filterScan streamLen 4) (sourceUnfoldrM streamLen)
676 , benchFold "filter-scan" (filterScan streamLen 4) (sourceUnfoldrM streamLen)
670 , benchFold "filter-map" (filterMap streamLen 4) (sourceUnfoldrM streamLen)
677 , benchFold "filter-map" (filterMap streamLen 4) (sourceUnfoldrM streamLen)
674o_1_space_list :: Int -> Benchmark
680o_1_space_list :: Int -> Benchmark
675o_1_space_list streamLen =
681o_1_space_list streamLen =
@@ -697,10 +703,14 @@ o_1_space streamLen =
697 , o_1_space_elimination streamLen
703 , o_1_space_elimination streamLen
698 , o_1_space_nested streamLen
704 , o_1_space_nested streamLen
699 , o_1_space_transformation streamLen
705 , o_1_space_transformation streamLen
706+ , o_1_space_transformationX4 streamLen
700 , o_1_space_concat streamLen
707 , o_1_space_concat streamLen
701 , o_1_space_filtering streamLen
708 , o_1_space_filtering streamLen
709+ , o_1_space_filteringX4 streamLen
702 , o_1_space_zipping streamLen
710 , o_1_space_zipping streamLen
703 , o_1_space_mixed streamLen
711 , o_1_space_mixed streamLen
712+ , o_1_space_mixedX2 streamLen
713+ , o_1_space_mixedX4 streamLen
704 , o_1_space_list streamLen
714 , o_1_space_list streamLen