HomePhabricator

Update univalue to 1.1.1

Description

Update univalue to 1.1.1

Summary:
Update univalue to 1.1.1
https://github.com/jgarzik/univalue/compare/v1.0.5...v1.1.1

This improves getblocktemplate performance by ~28% on my machine.
Exerpt from https://github.com/jgarzik/univalue/pull/66 which is
the primary change associated with the perf improvement:

When the hand-written destructor is removed, the compiler will
automatically create a proper one, with correct noexcept. This
allows std::vector<UniValue> to be resized without having to copy
all elements first, which makes JSON generation of a bitcoin block
(as in the benchmark "BlockToJsonVerbose") 25% faster on my machine.

Author: @martinus

This update also includes some nice cleanup and a new reserve()
function that may allow us to squeeze out some more performance
in a few places.

Test Plan:

ninja check check-functional check-univalue

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D6063

Details

Provenance
jasonbcoxAuthored on May 13 2020, 22:32
jasonbcoxPushed on May 13 2020, 23:18
Reviewer
Restricted Project
Differential Revision
D6063: Update univalue to 1.1.1
Parents
rABCecf576938507: [tests] Give a useful error message when assert_debug_log is called with empty…
Branches
Unknown
Tags
Unknown