Raymond Hettinger
4bad9ba282
SF patch #670367 : Micro-optimizations for ceval.c
...
Make the code slightly shorter, faster, and easier to
read.
* Eliminate unused DUP_TOPX code for x==1.
compile.c always generates DUP_TOP instead.
* Since only two cases remain for DUP_TOPX, replace
the switch-case with if-elseif.
* The in-lined integer compare does a CheckExact on
both arguments. Since the second is a little more
likely to fail, test it first.
* The switch-case for IS/IS_NOT and IN/NOT_IN can
separate the regular and inverted cases with no
additional work. For all four paths, saves a test and
jump.
2003-01-19 05:08:13 +00:00
..
2001-07-26 13:41:06 +00:00
2003-01-04 02:16:22 +00:00
2003-01-19 05:08:13 +00:00
2002-11-21 23:53:25 +00:00
2003-01-16 15:39:07 +00:00
2000-07-22 18:47:25 +00:00
2002-12-31 00:06:24 +00:00
2002-06-11 06:22:31 +00:00
2002-01-23 15:51:12 +00:00
2001-11-28 20:42:20 +00:00
2002-11-02 20:58:05 +00:00
2002-12-16 13:16:25 +00:00
2002-12-23 21:03:36 +00:00
2001-11-28 20:42:20 +00:00
2002-02-26 11:41:34 +00:00
2000-09-01 23:29:29 +00:00
2002-08-26 21:20:30 +00:00
2002-12-11 14:04:59 +00:00
2002-12-06 12:48:53 +00:00
2001-07-26 13:41:06 +00:00
2002-08-15 14:59:02 +00:00
2002-06-30 15:26:10 +00:00
2002-12-11 14:04:59 +00:00
2002-11-21 20:23:11 +00:00
2000-09-05 04:40:39 +00:00
2003-01-02 16:27:15 +00:00
2000-09-01 23:29:29 +00:00
2001-07-26 13:41:06 +00:00
2000-11-03 08:18:37 +00:00
2000-09-01 23:29:29 +00:00
2001-11-28 20:42:20 +00:00
2002-08-04 17:29:52 +00:00
2001-07-26 13:41:06 +00:00
2002-12-30 22:08:05 +00:00
2002-08-26 21:15:11 +00:00
2002-12-30 22:08:05 +00:00
2003-01-17 23:11:17 +00:00
2002-07-30 11:44:44 +00:00
2000-09-01 23:29:29 +00:00
2002-12-15 13:45:32 +00:00
2001-12-21 16:32:15 +00:00
2000-09-01 23:29:29 +00:00
2001-07-26 13:41:06 +00:00
2002-11-08 12:53:11 +00:00
2002-12-31 03:42:13 +00:00
2000-09-01 23:29:29 +00:00
2000-07-22 18:47:25 +00:00
2001-11-28 20:42:20 +00:00
2001-07-26 13:41:06 +00:00
2001-12-04 16:23:42 +00:00
2001-12-10 00:53:18 +00:00
2003-01-08 14:33:48 +00:00
2002-06-11 06:22:31 +00:00
2002-01-19 22:02:55 +00:00
2002-01-19 22:02:55 +00:00
2002-01-19 22:02:55 +00:00
2002-01-19 22:02:55 +00:00
2002-02-28 21:34:34 +00:00
2002-12-04 12:29:37 +00:00
2002-01-19 22:02:55 +00:00
2002-12-11 13:12:30 +00:00
2002-01-19 22:02:55 +00:00
2002-01-19 22:02:55 +00:00
2001-10-16 21:13:49 +00:00
2002-07-19 06:55:41 +00:00
2002-08-15 14:59:02 +00:00