mirror of
https://github.com/nlohmann/json.git
synced 2026-10-12 01:17:14 +00:00
Do not shrink the output of dump()
finish() copied the whole output when the buffer was more than twice as large as the result (citm dump +11%). The tighter source_extent() estimate already keeps the buffer of a small value small. Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
1 file changed
-5
@@ -46,11 +46,6 @@ class output_buffer
|
|||||||
{
|
{
|
||||||
const auto size = static_cast<std::size_t>(m_pos - m_out.data());
|
const auto size = static_cast<std::size_t>(m_pos - m_out.data());
|
||||||
m_out.resize(size);
|
m_out.resize(size);
|
||||||
// do not keep a buffer that was sized for a much larger output
|
|
||||||
if (m_out.capacity() > 1024 && m_out.capacity() / 2 > size)
|
|
||||||
{
|
|
||||||
m_out.shrink_to_fit();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NLOHMANN_VIEW_ALWAYS_INLINE void reserve(std::size_t n)
|
NLOHMANN_VIEW_ALWAYS_INLINE void reserve(std::size_t n)
|
||||||
|
|||||||
Reference in new issue
Block a user