diff options
author | Vedant Kumar <vsk@apple.com> | 2019-12-10 18:17:28 -0800 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2019-12-11 10:04:00 -0800 |
commit | 5a486e0f156ce62b445ccf7b3ea15dd45394ea1c (patch) | |
tree | 249d2a5a0e495f1da7579c23bbd75d0267f86204 /lldb/packages/Python/lldbsuite/test/functionalities/non-overlapping-index-variable-i/TestIndexVariable.py | |
parent | d25437e957549bdab46f1a052bad4f330d31a9e1 (diff) | |
download | bcm5719-llvm-5a486e0f156ce62b445ccf7b3ea15dd45394ea1c.tar.gz bcm5719-llvm-5a486e0f156ce62b445ccf7b3ea15dd45394ea1c.zip |
[profile] Avoid allocating a page on the stack, NFC
When writing out a profile, avoid allocating a page on the stack for the
purpose of writing out zeroes, as some embedded environments do not have
enough stack space to accomodate this.
Instead, use a small, fixed-size zero buffer that can be written
repeatedly.
For a synthetic file with >100,000 functions, I did not measure a
significant difference in profile write times. We are removing a
page-length zero-fill `memset()` in favor of several smaller buffered
`fwrite()` calls: in practice, I am not sure there is much of a
difference. The performance impact is only expected to affect the
continuous sync mode (%c) -- zero padding is less than 8 bytes in all
other cases.
rdar://57810014
Differential Revision: https://reviews.llvm.org/D71323
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/non-overlapping-index-variable-i/TestIndexVariable.py')
0 files changed, 0 insertions, 0 deletions