From d8dbfe6e6d71d5f2cc4c97c1e5570f3a971a108f Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Sat, 8 Nov 2014 17:13:41 +0100 Subject: [PATCH] Reduced size by 706 bytes by removing virtual destructors. --- include/ArduinoJson/JsonBuffer.hpp | 5 ++++- include/ArduinoJson/StaticJsonBuffer.hpp | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/ArduinoJson/JsonBuffer.hpp b/include/ArduinoJson/JsonBuffer.hpp index 86b71228..0d1f7bd4 100644 --- a/include/ArduinoJson/JsonBuffer.hpp +++ b/include/ArduinoJson/JsonBuffer.hpp @@ -20,7 +20,10 @@ class JsonObject; // fixed memory allocation. class JsonBuffer { public: - virtual ~JsonBuffer() {} + // CAUTION: NO VIRTUAL DESTRUCTOR! + // If we add a virtual constructor the Arduino compiler will add malloc() and + // free() to the binary, adding 706 useless bytes. + // virtual ~JsonBuffer() {} // Allocates an empty JsonArray. // diff --git a/include/ArduinoJson/StaticJsonBuffer.hpp b/include/ArduinoJson/StaticJsonBuffer.hpp index 02b1d887..d2e9a9b4 100644 --- a/include/ArduinoJson/StaticJsonBuffer.hpp +++ b/include/ArduinoJson/StaticJsonBuffer.hpp @@ -17,7 +17,6 @@ template class StaticJsonBuffer : public JsonBuffer { public: explicit StaticJsonBuffer() : _size(0) {} - virtual ~StaticJsonBuffer() {} size_t capacity() const { return CAPACITY; } size_t size() const { return _size; }