Shenghou Ma
63d72f6901
cmd/7g: enable peephole optimizer
Based on cmd/9g/peep.go.
Go 1 benchmark comparison:
benchmark old ns/op new ns/op delta
BenchmarkBinaryTree17 24328574000 18351639000 -24.57%
BenchmarkFannkuch11 17029365000 10817758000 -36.48%
BenchmarkFmtFprintfEmpty 291 223 -23.37%
BenchmarkFmtFprintfString 1073 799 -25.54%
BenchmarkFmtFprintfInt 1024 778 -24.02%
BenchmarkFmtFprintfIntInt 1654 1277 -22.79%
BenchmarkFmtFprintfPrefixedInt 1360 1083 -20.37%
BenchmarkFmtFprintfFloat 2272 1415 -37.72%
BenchmarkFmtManyArgs 5933 4742 -20.07%
BenchmarkGobDecode 53166003 38584736 -27.43%
BenchmarkGobEncode 37930156 30074874 -20.71%
BenchmarkGzip 1880638900 1286832100 -31.57%
BenchmarkGunzip 386343633 292194480 -24.37%
BenchmarkHTTPClientServer 237077 179776 -24.17%
BenchmarkJSONEncode 101731690 73116925 -28.13%
BenchmarkJSONDecode 344655360 241277600 -29.99%
BenchmarkMandelbrot200 28329778 12950809 -54.29%
BenchmarkGoParse 21670755 16554244 -23.61%
BenchmarkRegexpMatchEasy0_32 557 484 -13.11%
BenchmarkRegexpMatchEasy0_1K 4687 4832 +3.09%
BenchmarkRegexpMatchEasy1_32 539 483 -10.39%
BenchmarkRegexpMatchEasy1_1K 5100 5080 -0.39%
BenchmarkRegexpMatchMedium_32 796 651 -18.22%
BenchmarkRegexpMatchMedium_1K 233099 182047 -21.90%
BenchmarkRegexpMatchHard_32 13202 9897 -25.03%
BenchmarkRegexpMatchHard_1K 401027 303602 -24.29%
BenchmarkRevcomp 3837679666 2816546600 -26.61%
BenchmarkTemplate 440608300 324831040 -26.28%
BenchmarkTimeParse 1460 1019 -30.21%
BenchmarkTimeFormat 1609 1174 -27.04%
benchmark old MB/s new MB/s speedup
BenchmarkGobDecode 14.44 19.89 1.38x
BenchmarkGobEncode 20.24 25.52 1.26x
BenchmarkGzip 10.32 15.08 1.46x
BenchmarkGunzip 50.23 66.41 1.32x
BenchmarkJSONEncode 19.07 26.54 1.39x
BenchmarkJSONDecode 5.63 8.04 1.43x
BenchmarkGoParse 2.67 3.50 1.31x
BenchmarkRegexpMatchEasy0_32 57.38 66.05 1.15x
BenchmarkRegexpMatchEasy0_1K 218.47 211.91 0.97x
BenchmarkRegexpMatchEasy1_32 59.29 66.21 1.12x
BenchmarkRegexpMatchEasy1_1K 200.76 201.54 1.00x
BenchmarkRegexpMatchMedium_32 1.26 1.53 1.21x
BenchmarkRegexpMatchMedium_1K 4.39 5.62 1.28x
BenchmarkRegexpMatchHard_32 2.42 3.23 1.33x
BenchmarkRegexpMatchHard_1K 2.55 3.37 1.32x
BenchmarkRevcomp 66.23 90.24 1.36x
BenchmarkTemplate 4.40 5.97 1.36x
Fixes #10105.
Change-Id: I353cc9fdf922e431821508c9dbbe4d9a85d64bd4
Signed-off-by: Shenghou Ma <minux@golang.org>
Reviewed-on: https://go-review.googlesource.com/8471
Reviewed-by: Dave Cheney <dave@cheney.net>
2015-04-08 08:16:54 +00:00
..
2014-09-08 00:06:45 -04:00
2014-12-22 22:41:34 +00:00
2014-07-16 19:27:10 -04:00
2012-10-10 22:35:27 +02:00
2013-01-11 22:00:48 +01:00
2015-04-03 23:40:40 +00:00
2012-10-07 23:22:01 +02:00
2013-12-12 19:02:11 -08:00
2015-03-20 20:05:37 +00:00
2012-02-25 08:47:04 +11:00
2014-01-07 13:26:48 +01:00
2013-01-11 22:05:46 +01:00
2014-09-08 00:06:45 -04:00
2013-12-12 17:18:12 -08:00
2013-01-30 20:21:08 +01:00
2012-02-19 13:19:43 +11:00
2013-02-12 13:17:49 -05:00
2012-02-19 13:19:43 +11:00
2012-02-19 13:19:43 +11:00
2012-11-08 09:04:27 -08:00
2012-02-19 13:19:43 +11:00
2014-10-06 17:16:39 -04:00
2013-02-12 13:17:49 -05:00
2012-05-24 22:41:07 -04:00
2013-09-28 15:19:05 -07:00
2013-10-08 14:36:20 -04:00
2012-09-10 13:03:07 -07:00
2012-09-10 13:03:07 -07:00
2012-09-24 00:06:41 -04:00
2012-02-19 13:19:43 +11:00
2014-12-08 22:18:17 +00:00
2012-02-19 13:19:43 +11:00
2012-02-19 13:19:43 +11:00
2014-10-31 11:08:27 -04:00
2012-02-16 23:48:57 -05:00
2015-01-29 13:07:30 +00:00
2015-02-03 15:48:48 +00:00
2012-07-01 21:59:50 +04:00
2014-01-31 00:30:56 +01:00
2014-02-27 08:07:50 +01:00
2013-03-11 22:55:14 +01:00
2012-03-22 02:14:44 +08:00
2015-01-15 00:00:06 +00:00
2015-01-15 00:00:06 +00:00
2012-02-19 13:19:43 +11:00
2012-02-19 13:19:43 +11:00
2012-02-19 13:19:43 +11:00
2013-12-12 17:18:12 -08:00
2012-09-28 08:30:30 -07:00
2012-02-19 13:19:43 +11:00
2013-02-12 13:17:49 -05:00
2014-04-03 19:04:33 -04:00
2013-06-26 18:05:02 +02:00
2013-02-21 12:48:38 -05:00
2012-02-19 13:19:43 +11:00
2012-02-19 13:19:43 +11:00
2012-02-19 13:19:43 +11:00
2012-02-19 13:19:43 +11:00
2012-02-19 13:19:43 +11:00
2012-07-03 09:09:05 +10:00
2013-02-12 13:17:49 -05:00
2012-04-20 23:45:43 +08:00
2012-09-28 08:30:30 -07:00
2012-10-10 22:35:27 +02:00
2012-03-07 11:17:26 -08:00
2013-02-12 13:17:49 -05:00
2012-10-07 21:52:57 +02:00
2013-02-12 13:17:49 -05:00
2014-01-24 22:35:11 +04:00
2012-02-24 13:17:26 +11:00
2012-01-18 16:12:24 -08:00
2013-02-12 13:17:49 -05:00
2013-12-27 08:59:02 -08:00
2012-02-19 14:28:53 +11:00
2012-02-18 21:18:13 -08:00
2012-02-19 14:28:53 +11:00
2012-02-19 14:28:53 +11:00
2013-05-23 04:41:22 +08:00
2015-03-30 16:11:22 +00:00
2015-03-28 16:15:27 +00:00
2012-02-19 14:28:53 +11:00
2015-02-26 17:36:00 +00:00
2015-03-28 16:15:27 +00:00
2015-03-28 16:15:27 +00:00
2015-03-28 16:15:27 +00:00
2015-03-28 16:15:27 +00:00
2015-03-28 16:15:27 +00:00
2015-03-28 16:15:27 +00:00
2015-03-28 16:15:27 +00:00
2015-03-30 10:12:05 +00:00
2015-03-28 13:18:42 +00:00
2013-02-12 13:17:49 -05:00
2014-12-08 22:22:58 +00:00
2014-05-21 17:19:12 -04:00
2014-05-21 17:12:06 -04:00
2013-02-12 13:17:49 -05:00
2013-02-12 13:17:49 -05:00
2012-02-19 14:28:53 +11:00
2013-03-15 15:24:13 -04:00
2012-02-19 14:28:53 +11:00
2012-02-19 14:28:53 +11:00
2012-02-19 14:28:53 +11:00
2012-02-19 14:28:53 +11:00
2012-02-19 14:28:53 +11:00
2013-02-12 13:17:49 -05:00
2013-02-12 13:17:49 -05:00
2012-02-19 14:28:53 +11:00
2013-12-12 17:18:12 -08:00
2013-12-12 17:18:12 -08:00
2012-02-19 14:28:53 +11:00
2015-02-06 05:36:26 +00:00
2012-02-19 14:28:53 +11:00
2014-03-11 23:58:39 -04:00
2013-04-12 16:04:19 -07:00
2012-01-18 16:12:24 -08:00
2012-02-19 14:28:53 +11:00
2012-02-24 13:17:26 +11:00
2012-01-18 16:12:24 -08:00
2012-02-23 18:47:26 +11:00
2013-12-12 19:02:11 -08:00
2012-10-07 23:22:01 +02:00
2012-10-07 23:22:01 +02:00
2012-02-29 15:28:36 -05:00
2012-02-23 18:47:26 +11:00
2012-11-07 12:33:54 -08:00
2012-11-07 12:33:54 -08:00
2012-11-07 12:33:54 -08:00
2013-09-27 20:38:52 -07:00
2012-02-23 18:47:26 +11:00
2012-02-23 18:47:26 +11:00
2015-02-13 22:13:56 +00:00
2012-02-23 18:47:26 +11:00
2012-02-20 07:44:24 +11:00
2012-02-23 18:47:26 +11:00
2012-12-17 11:05:58 -05:00
2015-02-26 17:36:00 +00:00
2012-02-23 18:47:26 +11:00
2012-02-23 18:47:26 +11:00
2012-02-23 18:47:26 +11:00
2012-02-23 18:47:26 +11:00
2012-02-23 18:47:26 +11:00
2015-01-02 18:36:44 +00:00
2014-11-06 15:14:08 -05:00
2013-02-12 13:17:49 -05:00
2014-02-15 10:58:55 -05:00
2015-02-12 09:53:52 +00:00
2015-02-12 22:23:38 +00:00
2012-02-23 18:47:26 +11:00
2012-06-07 03:06:40 -04:00
2014-08-06 17:02:55 -04:00
2014-10-27 18:59:02 -04:00
2012-02-23 18:47:26 +11:00
2013-08-29 10:00:58 +02:00
2012-02-23 18:47:26 +11:00
2012-10-07 23:22:01 +02:00
2013-03-20 17:11:09 -04:00
2013-02-11 18:20:52 -05:00
2014-08-11 16:11:55 -07:00
2012-02-21 22:54:07 -05:00
2013-02-12 13:17:49 -05:00
2015-01-07 22:36:06 +00:00
2013-10-08 14:36:20 -04:00
2015-04-08 08:16:54 +00:00
2014-02-26 12:25:13 -08:00
2013-09-05 23:06:34 -04:00
2015-03-16 18:46:35 +00:00
2012-11-08 09:04:27 -08:00
2012-02-24 10:30:39 +11:00
2012-02-24 10:30:39 +11:00
2014-07-31 13:48:48 -07:00
2014-07-31 13:48:48 -07:00
2012-02-24 13:17:26 +11:00
2012-01-18 16:12:24 -08:00
2014-07-16 19:27:10 -04:00
2012-02-16 23:51:04 -05:00
2012-02-16 23:51:04 -05:00
2013-08-15 11:51:04 -04:00
2015-03-17 05:25:01 +00:00
2014-10-22 08:06:15 -07:00
2012-02-24 15:06:32 +11:00
2013-02-12 13:17:49 -05:00
2014-04-01 13:31:38 -04:00
2013-02-11 18:20:52 -05:00
2013-08-07 11:31:01 -07:00
2015-02-19 20:14:21 +00:00
2015-02-19 20:14:21 +00:00
2015-02-19 20:14:21 +00:00
2015-02-19 20:14:21 +00:00
2013-01-11 22:42:55 +01:00
2015-02-23 19:56:11 +00:00
2012-02-24 10:30:39 +11:00
2012-02-24 10:30:39 +11:00
2014-07-20 12:25:24 -07:00
2013-06-25 08:06:34 +02:00
2012-02-24 11:48:19 +11:00
2014-01-29 09:28:23 +01:00
2012-01-18 16:12:24 -08:00
2012-02-24 11:48:19 +11:00
2014-11-09 21:10:49 -05:00
2014-11-06 15:14:08 -05:00
2013-06-02 19:10:11 +02:00
2014-08-25 14:38:19 -04:00
2013-12-12 17:18:12 -08:00
2014-08-25 14:38:19 -04:00
2012-02-24 11:48:19 +11:00
2012-02-24 11:48:19 +11:00
2013-12-12 17:17:02 -08:00
2012-08-08 14:01:23 -07:00
2012-02-24 11:48:19 +11:00
2012-08-03 21:47:26 +02:00
2013-03-15 00:35:09 -04:00
2013-03-15 00:35:09 -04:00
2014-01-24 22:35:11 +04:00
2014-07-01 09:20:51 +02:00
2012-02-24 11:48:19 +11:00
2014-01-03 21:03:20 +01:00
2012-02-24 11:48:19 +11:00
2012-02-24 11:48:19 +11:00
2012-09-28 08:30:30 -07:00
2012-02-24 11:48:19 +11:00
2012-02-24 11:48:19 +11:00
2012-02-24 11:48:19 +11:00
2012-02-24 11:48:19 +11:00
2012-02-24 11:48:19 +11:00
2013-02-12 13:17:49 -05:00