diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-11-05 00:27:15 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-11-05 00:30:21 +0200 |
commit | 346aacf27f9bdfe8416efc30e2611f53dfc0cf5c (patch) | |
tree | 86445823ec1256bb601302ac7ddbc693fa5719ff | |
parent | ff8d0e071c4281e7593b4798e92af56bb80f5471 (diff) | |
download | micropython-346aacf27f9bdfe8416efc30e2611f53dfc0cf5c.tar.gz micropython-346aacf27f9bdfe8416efc30e2611f53dfc0cf5c.zip |
unix: fast: Set initial module dict size big to have high pystone score.
For this, introduce MICROPY_MODULE_DICT_SIZE config setting.
-rw-r--r-- | py/mpconfig.h | 5 | ||||
-rw-r--r-- | py/objmodule.c | 2 | ||||
-rw-r--r-- | unix/mpconfigport_fast.h | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/py/mpconfig.h b/py/mpconfig.h index 6f92f3d88b..8ef3e62fec 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -100,6 +100,11 @@ #define MICROPY_ALLOC_PATH_MAX (512) #endif +// Initial size of module dict +#ifndef MICROPY_MODULE_DICT_SIZE +#define MICROPY_MODULE_DICT_SIZE (1) +#endif + /*****************************************************************************/ /* Micro Python emitters */ diff --git a/py/objmodule.c b/py/objmodule.c index 01349c3d28..7f765ff95c 100644 --- a/py/objmodule.c +++ b/py/objmodule.c @@ -96,7 +96,7 @@ mp_obj_t mp_obj_new_module(qstr module_name) { mp_obj_module_t *o = m_new_obj(mp_obj_module_t); o->base.type = &mp_type_module; o->name = module_name; - o->globals = mp_obj_new_dict(1); + o->globals = mp_obj_new_dict(MICROPY_MODULE_DICT_SIZE); // store __name__ entry in the module mp_obj_dict_store(o->globals, MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(module_name)); diff --git a/unix/mpconfigport_fast.h b/unix/mpconfigport_fast.h index 98ec3dfa28..2dd55e42a5 100644 --- a/unix/mpconfigport_fast.h +++ b/unix/mpconfigport_fast.h @@ -30,3 +30,6 @@ #include <mpconfigport.h> #define MICROPY_PY___FILE__ (0) +// 91 is a magic number proposed by @dpgeorge, which make pystone run ~ at tie +// with CPython 3.4. +#define MICROPY_MODULE_DICT_SIZE (91) |