terminal/src
Michael Niksa f087d03eb2
Reduce Transient Allocations during Bulk Text Output (#8617)
Make a few changes to memory usage throughout the application to reduce transient allocations from the `big.txt` test from ~213,000 to ~53,000.

## PR Checklist
* [x] Supports #3075
* [x] I work here.
* [x] Tested manually and WPR'd. Test suite should still pass.
* [x] Am core contributor

## Detailed Description of the Pull Request / Additional comments

Transient allocations are those that are new'd, used, then delete'd. Going back and forth to the system allocator for things we're just going to throw away or use rapidly again is a performance detriment. Not only is it a bunch of time to go ask the system with a syscall, it also hits a whole bunch of locks on the allocators. This PR identifies a few places where we were accidentally allocating and didn't mean to or were allocating and freeing just to turn around and allocate again. I chose other strategies to avoid this.

## Validation Steps Performed
- Ran `big.txt` sample (~6MB file) before and after. Observed heap allocations with WPR.
2021-01-05 18:06:06 +00:00
..
buffer Reduce Transient Allocations during Bulk Text Output (#8617) 2021-01-05 18:06:06 +00:00
cascadia Polish OpenSettings action for Settings UI and Profile page navigation on refresh (#8670) 2021-01-04 14:14:51 -08:00
dep Move all wildcards into targets or expand them (#6406) 2020-06-08 14:01:47 -07:00
host Reduce Transient Allocations during Bulk Text Output (#8617) 2021-01-05 18:06:06 +00:00
inc Reduce Transient Allocations during Bulk Text Output (#8617) 2021-01-05 18:06:06 +00:00
interactivity Fix the xterm and SGR mouse encodings for CTRL, ALT, SHIFT (#8379) 2020-11-30 03:45:53 +00:00
internal Change backslashes in include statements to forward slashes (#8205) 2020-11-25 21:02:10 +00:00
propsheet Change backslashes in include statements to forward slashes (#8205) 2020-11-25 21:02:10 +00:00
propslib Greatly reduce allocations in the conhost/OpenConsole startup path (#8489) 2020-12-16 10:40:30 -08:00
renderer Add support for the "italic" graphic rendition attribute (#8580) 2020-12-18 11:23:54 -08:00
server Reduce Transient Allocations during Bulk Text Output (#8617) 2021-01-05 18:06:06 +00:00
terminal Fix VT parser memory leak in tracing (#8618) 2021-01-04 17:14:08 +00:00
testlist inbox: Merge accumulated build fixes from RS_ONECORE_DEP_ACIOSS (#1002) 2019-05-24 12:28:30 -07:00
til Add support for autodetecting URLs and making hyperlinks (#7691) 2020-10-28 20:24:43 +00:00
tools Change backslashes in include statements to forward slashes (#8205) 2020-11-25 21:02:10 +00:00
tsf Fix Korean IME to display a character being composed in conhost (#8632) 2021-01-04 21:05:24 +00:00
types Add UI for adding, renaming, and deleting a color scheme (#8403) 2020-12-17 23:14:07 +00:00
winconpty conpty: fall back to conhost if OpenConsole is missing (#7741) 2020-10-15 11:50:27 -07:00
common.build.post.props Move CI and audit build to the WinDev scale set pool (#8080) 2020-10-28 20:49:13 +00:00
common.build.pre.props Greatly reduce allocations in the conhost/OpenConsole startup path (#8489) 2020-12-16 10:40:30 -08:00
common.build.tests.props Update TAEF to 10.57.200731005-develop (#7164) 2020-08-03 20:47:02 +00:00
ConsolePerf.regions.xml Tab to spaces (#578) 2019-05-13 18:06:36 -07:00
ConsolePerf.wprp Fix the WPR profile (#4007) 2019-12-17 17:14:15 -08:00
cppwinrt.build.post.props Remove all our path antics; force native projects to bin/, obj/ (#8062) 2020-10-27 15:00:41 -07:00
cppwinrt.build.pre.props Fix the WINRT_NO_MAKE_DETECTION build break (#8067) 2020-10-27 17:56:09 -07:00
dirs build: move oss required to build conhost out of dep/ (#5451) 2020-04-21 14:43:09 -07:00
project.inc Merged PR 5425054: [Git2Git] conhost: explicitly set /utf-8 on the compiler commandline 2020-11-19 23:25:34 +00:00
project.unittest.inc Merged PR 4915530: Reflect OS Build fixes on top of 58f5d7c7 2020-07-13 23:00:53 +00:00
StaticAnalysis.ruleset Fix SA for Visual Studio 16.8 (#8551) 2020-12-11 05:04:30 +00:00
unit.tests.x64.runsettings Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
unit.tests.x86.runsettings Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
wap-common.build.post.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
wap-common.build.pre.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00