From abec199c19fdbd9705bd803cd9b8b2910c21bd3a Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 26 Mar 2018 07:31:13 -0500 Subject: [PATCH] Enable high-quality float hash This appears to have a relatively small impact on flash usage but fixes some pathological slow behavior putting floats in dicts or sets. Closes: #704 --- ports/atmel-samd/mpconfigport.h | 1 + ports/esp8266/mpconfigport.h | 1 + ports/nrf/mpconfigport.h | 1 + 3 files changed, 3 insertions(+) diff --git a/ports/atmel-samd/mpconfigport.h b/ports/atmel-samd/mpconfigport.h index a5884b6ad9..de8703943d 100644 --- a/ports/atmel-samd/mpconfigport.h +++ b/ports/atmel-samd/mpconfigport.h @@ -64,6 +64,7 @@ #define MICROPY_PY_SYS (1) #define MICROPY_PY_SYS_MAXSIZE (1) #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT) +#define MICROPY_FLOAT_HIGH_QUALITY_HASH (1) #define MICROPY_STREAMS_NON_BLOCK (1) // fatfs configuration used in ffconf.h diff --git a/ports/esp8266/mpconfigport.h b/ports/esp8266/mpconfigport.h index 8caecf7594..616e9875c1 100644 --- a/ports/esp8266/mpconfigport.h +++ b/ports/esp8266/mpconfigport.h @@ -91,6 +91,7 @@ #define MICROPY_CPYTHON_COMPAT (0) #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ) #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT) +#define MICROPY_FLOAT_HIGH_QUALITY_HASH (1) #define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_NORMAL) #define MICROPY_WARNINGS (1) #define MICROPY_PY_STR_BYTES_CMP_WARN (1) diff --git a/ports/nrf/mpconfigport.h b/ports/nrf/mpconfigport.h index e806c201f1..45c82439b3 100644 --- a/ports/nrf/mpconfigport.h +++ b/ports/nrf/mpconfigport.h @@ -47,6 +47,7 @@ //CP UPDATE: See mpconfigport.h for LONGINT implementation #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ) #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT) +#define MICROPY_FLOAT_HIGH_QUALITY_HASH (1) #define MICROPY_OPT_COMPUTED_GOTO (0) #define MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE (0)