Damien George
7ee91cf861
py: Add option to cache map lookup results in bytecode.
...
This is a simple optimisation inspired by JITing technology: we cache in
the bytecode (using 1 byte) the offset of the last successful lookup in
a map. This allows us next time round to check in that location in the
hash table (mp_map_t) for the desired entry, and if it's there use that
entry straight away. Otherwise fallback to a normal map lookup.
Works for LOAD_NAME, LOAD_GLOBAL, LOAD_ATTR and STORE_ATTR opcodes.
On a few tests it gives >90% cache hit and greatly improves speed of
code.
Disabled by default. Enabled for unix and stmhal ports.
2015-01-07 21:07:23 +00:00
..
2015-01-01 21:06:20 +00:00
2014-08-06 22:33:31 +01:00
2014-10-04 01:54:02 +01:00
2014-10-25 01:14:39 +01:00
2014-03-11 23:55:41 -07:00
2014-05-03 18:26:03 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2014-05-02 23:03:23 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-10-02 17:32:02 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2014-08-04 11:09:51 +01:00
2015-01-01 21:06:20 +00:00
2014-12-27 20:20:51 +00:00
2015-01-01 21:06:20 +00:00
2014-11-05 22:52:51 +00:00
2014-05-03 23:27:38 +01:00
2014-05-03 23:27:38 +01:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-12-27 20:20:51 +00:00
2015-01-01 21:06:20 +00:00
2014-05-08 23:04:49 +01:00
2014-03-12 18:15:55 -07:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2014-11-30 21:23:25 +00:00
2015-01-01 21:06:20 +00:00
2014-06-15 00:41:47 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-11-29 14:39:27 +00:00
2015-01-01 21:06:20 +00:00
2014-11-27 17:54:37 +00:00
2015-01-01 21:06:20 +00:00
2014-12-04 18:57:57 +00:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2014-04-19 00:32:25 +01:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2015-01-01 21:06:20 +00:00
2015-01-07 21:07:23 +00:00
2014-09-26 00:57:26 +01:00
2015-01-01 21:06:20 +00:00
2014-11-27 16:58:31 +00:00
2015-01-07 20:33:00 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-06-15 22:48:05 -07:00
2015-01-01 21:13:30 +00:00
2015-01-01 21:13:30 +00:00
2014-09-19 09:26:13 -07:00
2014-10-12 20:23:47 +01:00
2015-01-01 21:06:20 +00:00
2014-04-16 02:41:26 +01:00
2014-09-07 20:40:32 +01:00
2015-01-01 21:06:20 +00:00
2014-11-05 21:16:41 +00:00
2015-01-01 21:06:20 +00:00
2014-10-22 19:14:20 +01:00
2014-12-27 20:20:51 +00:00
2015-01-01 21:06:20 +00:00
2014-11-27 16:58:31 +00:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-09-15 23:49:57 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-09-30 22:36:47 +01:00
2014-03-11 23:55:41 -07:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2014-10-21 16:48:32 +02:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2014-10-29 15:42:38 +00:00
2014-10-04 01:54:31 +01:00
2015-01-01 21:06:20 +00:00
2014-11-30 21:23:25 +00:00
2015-01-01 21:06:20 +00:00
2014-09-21 22:54:02 +01:00
2015-01-01 21:06:20 +00:00
2014-10-21 22:15:20 +01:00
2015-01-01 21:06:20 +00:00
2014-11-27 16:58:31 +00:00
2014-11-29 15:23:21 +00:00
2014-10-31 00:12:02 +00:00
2014-06-02 21:43:02 +02:00
2015-01-01 21:06:20 +00:00
2014-10-25 22:55:07 +01:00
2014-10-25 22:55:07 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00
2015-01-01 21:06:20 +00:00
2014-05-03 23:27:38 +01:00