WString: Optimize a bit by jjsuwa · Pull Request #7553 · esp8266/Arduino
requested changes Aug 28, 2020
mcspr
mentioned this pull request
mcspr added a commit to mcspr/esp8266-Arduino that referenced this pull request
Sep 27, 2020based on the esp8266#7553 without isSSO -> isHeap rename and inline optimizations additionally, remove useless pre-c++11 preprocessor checks Co-authored-by: Takayuki 'January June' Suwa <jjsuwa@sys3175.com>
earlephilhower pushed a commit that referenced this pull request
Sep 27, 2020* (test) WString: c_str() returns null pointer target = std::move(source) does not reset buffer pointer back to the sso * wstring: correctly do move invalidation & copy based on the #7553 without isSSO -> isHeap rename and inline optimizations additionally, remove useless pre-c++11 preprocessor checks Co-authored-by: Takayuki 'January June' Suwa <jjsuwa@sys3175.com>
Jason2866 referenced this pull request in arendst/Tasmota
Oct 22, 2020Tasmota Arduino Core v2.7.4.5 allowing webpassword over 47 characters (#9687)
mcspr
mentioned this pull request
1 task
* move bodies of dtor, `init()` and `charAt()` to .h (implicitly inlined) * unify descriptions of the initialization into one: `init()` (literally), that is called from each ctors, `invalidate()` and `move()` * invert the SSO state logic in order to make init state zeroed (as a result, each inlined `init()` saves 1 insn) * detab and trim * remove `inline` from .h * cosmetics * optimize the non-SSO -> SSO transition part of `changeBuffer()` * remove duped body of `operator =(StringSumHelper &&rval)` * remove common subexpressions from `lastIndexOf()` and `substring()` * eliminate `strlen(buf)` after calling `sprintf(buf, ...)` that returns # of chars written * eliminate `len()` after calling `setLen(newlen)` * make ctor`(char c)` inlineable * optimize `setLen()` * replace constant-forwarding overload functions with default argument ones * optimize `concat(char c)` IROM size @ FSBrowser: 304916 -> 304372 (saved 544 from master)
jjsuwa
deleted the
WString_cutWaste
branch
mcspr
mentioned this pull request
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters