diff --git a/CHANGELOG.md b/CHANGELOG.md index a2468fb5..22aa4889 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ HEAD * Allow mixed configuration in compilation units (issue #809) * Fixed object keys not being duplicated * `JsonPair::key()` now returns a `JsonKey` +* Increased the default capacity of `DynamicJsonDocument` v6.4.0-beta (2018-09-11) ----------- diff --git a/src/ArduinoJson/Configuration.hpp b/src/ArduinoJson/Configuration.hpp index 914dd1de..f8d2bd97 100644 --- a/src/ArduinoJson/Configuration.hpp +++ b/src/ArduinoJson/Configuration.hpp @@ -53,6 +53,11 @@ #define ARDUINOJSON_DEFAULT_NESTING_LIMIT 10 #endif +// Default capacity for DynamicJsonDocument +#ifndef ARDUINOJSON_DEFAULT_POOL_SIZE +#define ARDUINOJSON_DEFAULT_POOL_SIZE 1024 +#endif + #else // ARDUINOJSON_EMBEDDED_MODE // On a computer we have plenty of memory so we can use doubles @@ -84,6 +89,11 @@ #define ARDUINOJSON_DEFAULT_NESTING_LIMIT 50 #endif +// Default capacity for DynamicJsonDocument +#ifndef ARDUINOJSON_DEFAULT_POOL_SIZE +#define ARDUINOJSON_DEFAULT_POOL_SIZE 16384 +#endif + #endif // ARDUINOJSON_EMBEDDED_MODE #ifdef ARDUINO diff --git a/src/ArduinoJson/Memory/DynamicMemoryPool.hpp b/src/ArduinoJson/Memory/DynamicMemoryPool.hpp index 1bda9cb5..e4f2c3ff 100644 --- a/src/ArduinoJson/Memory/DynamicMemoryPool.hpp +++ b/src/ArduinoJson/Memory/DynamicMemoryPool.hpp @@ -45,7 +45,7 @@ class DynamicMemoryPoolBase : public MemoryPool { public: enum { EmptyBlockSize = sizeof(EmptyBlock) }; - DynamicMemoryPoolBase(size_t initialSize = 256) + DynamicMemoryPoolBase(size_t initialSize = ARDUINOJSON_DEFAULT_POOL_SIZE) : _head(NULL), _nextBlockCapacity(initialSize) {} ~DynamicMemoryPoolBase() {