💬 theStack commented on pull request "cmake: Set top-level target output locations":
(https://github.com/bitcoin/bitcoin/pull/31161#issuecomment-2444734571)
> My understanding is that this change is mostly a convenience change for native Windows developers, so that it becomes easier to run binaries after compilation (without installing?).
Even as non-Windows developer, I personally find it quite handy if all binaries end up in a single folder and are not scattered around in different places, unnecessarily still reflecting the in-tree source structure (resulting sometimes in long nested paths, as one can see in the scripted-diff). Turned out to b
...
(https://github.com/bitcoin/bitcoin/pull/31161#issuecomment-2444734571)
> My understanding is that this change is mostly a convenience change for native Windows developers, so that it becomes easier to run binaries after compilation (without installing?).
Even as non-Windows developer, I personally find it quite handy if all binaries end up in a single folder and are not scattered around in different places, unnecessarily still reflecting the in-tree source structure (resulting sometimes in long nested paths, as one can see in the scripted-diff). Turned out to b
...
🚀 fanquake merged a pull request: "cmake: Add `FindZeroMQ` module"
(https://github.com/bitcoin/bitcoin/pull/30903)
(https://github.com/bitcoin/bitcoin/pull/30903)
💬 petertodd commented on issue "V2 Only Option":
(https://github.com/bitcoin/bitcoin/issues/29618#issuecomment-2444826150)
On Thu, Oct 24, 2024 at 02:52:55AM -0700, laanwj wrote:
> > CJDNS is still a routed ove rlay network, where packets do not always go the shortest (internet) route to the destination. That is a latency hit vs native IP.
>
> There are some edge cases where super low latency matters, such as mining (or spy nodes :sweat_smile: ), but in general, propagation of anything over the P2P network can be slow and that's fine. There's no tight UI loop. It's not worth to compromise privacy over latency-like
...
(https://github.com/bitcoin/bitcoin/issues/29618#issuecomment-2444826150)
On Thu, Oct 24, 2024 at 02:52:55AM -0700, laanwj wrote:
> > CJDNS is still a routed ove rlay network, where packets do not always go the shortest (internet) route to the destination. That is a latency hit vs native IP.
>
> There are some edge cases where super low latency matters, such as mining (or spy nodes :sweat_smile: ), but in general, propagation of anything over the P2P network can be slow and that's fine. There's no tight UI loop. It's not worth to compromise privacy over latency-like
...
💬 ryanofsky commented on pull request "tinyformat: enforce compile-time checks for format string literals":
(https://github.com/bitcoin/bitcoin/pull/31149#issuecomment-2444839496)
> I think there is merit in making the less safe (i.e. `std::string` overload) less convenient to use so that developers who are less familiar with this code don't accidentally use it when they don't have to, but I'll leave a comment on your PR so we can have the conversation there.
I agree with this, and commit b6a39c81e85338bc82f3db924157a599aa7e25fa in this PR shows places where code is doing things like `strprintf("[" + comment + "]")` that get around compile time checking. It'd be great
...
(https://github.com/bitcoin/bitcoin/pull/31149#issuecomment-2444839496)
> I think there is merit in making the less safe (i.e. `std::string` overload) less convenient to use so that developers who are less familiar with this code don't accidentally use it when they don't have to, but I'll leave a comment on your PR so we can have the conversation there.
I agree with this, and commit b6a39c81e85338bc82f3db924157a599aa7e25fa in this PR shows places where code is doing things like `strprintf("[" + comment + "]")` that get around compile time checking. It'd be great
...
💬 fanquake commented on pull request "cmake: Set top-level target output locations":
(https://github.com/bitcoin/bitcoin/pull/31161#issuecomment-2444839927)
Also added this to `29.x`, as if we are going to change this, it needs to happen along with the CMake switchover, and not be a new breaking change after that.
(https://github.com/bitcoin/bitcoin/pull/31161#issuecomment-2444839927)
Also added this to `29.x`, as if we are going to change this, it needs to happen along with the CMake switchover, and not be a new breaking change after that.
💬 darosior commented on pull request "Cleanups to port mapping module post UPnP drop":
(https://github.com/bitcoin/bitcoin/pull/31157#discussion_r1821213504)
Done.
(https://github.com/bitcoin/bitcoin/pull/31157#discussion_r1821213504)
Done.
💬 hebasto commented on pull request "depends: Use `CC_FOR_BUILD` for `config.guess `":
(https://github.com/bitcoin/bitcoin/pull/29963#issuecomment-2444855404)
My Guix build:
```
aarch64
a2d14a22db6670a4f33aa4a7f9bd04d45cb861993b51670c4c950bf98f68864f guix-build-707d65ba0d74/output/aarch64-linux-gnu/SHA256SUMS.part
71d45a6c783b287a3369503b34ef08a42b5c4a2c8c2f636cf4665574e4f2f0ac guix-build-707d65ba0d74/output/aarch64-linux-gnu/bitcoin-707d65ba0d74-aarch64-linux-gnu-debug.tar.gz
3f5fb049c4347d25c091ec4412dfb3a9a6488a28aad2cca7bd52d822ff6b5f0f guix-build-707d65ba0d74/output/aarch64-linux-gnu/bitcoin-707d65ba0d74-aarch64-linux-gnu.tar.gz
bb8a6a2a
...
(https://github.com/bitcoin/bitcoin/pull/29963#issuecomment-2444855404)
My Guix build:
```
aarch64
a2d14a22db6670a4f33aa4a7f9bd04d45cb861993b51670c4c950bf98f68864f guix-build-707d65ba0d74/output/aarch64-linux-gnu/SHA256SUMS.part
71d45a6c783b287a3369503b34ef08a42b5c4a2c8c2f636cf4665574e4f2f0ac guix-build-707d65ba0d74/output/aarch64-linux-gnu/bitcoin-707d65ba0d74-aarch64-linux-gnu-debug.tar.gz
3f5fb049c4347d25c091ec4412dfb3a9a6488a28aad2cca7bd52d822ff6b5f0f guix-build-707d65ba0d74/output/aarch64-linux-gnu/bitcoin-707d65ba0d74-aarch64-linux-gnu.tar.gz
bb8a6a2a
...
💬 ismaelsadeeq commented on issue "Faster way to get block with prevouts in JSON-RPC":
(https://github.com/bitcoin/bitcoin/issues/30495#issuecomment-2444881418)
I also noticed using `getblock` sequentially on a large number of blocks was slow while checking for clusters of size > 2 in previously mined blocks see https://github.com/bitcoin/bitcoin/pull/30079#issuecomment-2113010122.
To investigate further, I conducted a benchmark on a VPS with specs:
- 8 vCPU Cores, 24 GB RAM, 1.2 TB SSD, 32 TB Traffic
- Running Ubuntu 22 with Bitcoin Core on latest master da10e0bab4a3e98868dd663af02c43b1dc8b7f4a
I used a [script](https://gist.github.com/isma
...
(https://github.com/bitcoin/bitcoin/issues/30495#issuecomment-2444881418)
I also noticed using `getblock` sequentially on a large number of blocks was slow while checking for clusters of size > 2 in previously mined blocks see https://github.com/bitcoin/bitcoin/pull/30079#issuecomment-2113010122.
To investigate further, I conducted a benchmark on a VPS with specs:
- 8 vCPU Cores, 24 GB RAM, 1.2 TB SSD, 32 TB Traffic
- Running Ubuntu 22 with Bitcoin Core on latest master da10e0bab4a3e98868dd663af02c43b1dc8b7f4a
I used a [script](https://gist.github.com/isma
...
📝 ismaelsadeeq opened a pull request: "RPC: Add reserve member function to `UniValue` and use it in `getblock` RPC"
(https://github.com/bitcoin/bitcoin/pull/31179)
This PR is motivated by https://github.com/bitcoin/bitcoin/issues/30495#issuecomment-2444881418,
It adds a `reserve` member function to `UniValue` and applies it within the `getblock` RPC to pre-allocate memory, minimizing reallocations. This change provides a significant performance boost, particularly at verbosity levels 1 and 2.
Here are benchmark for this conducted on a VPS with the specs:
- 8 vCPU Cores, 24 GB RAM, 1.2 TB SSD, 32 TB Traffic
- Ubuntu 22 with Bitcoin Core on the lates
...
(https://github.com/bitcoin/bitcoin/pull/31179)
This PR is motivated by https://github.com/bitcoin/bitcoin/issues/30495#issuecomment-2444881418,
It adds a `reserve` member function to `UniValue` and applies it within the `getblock` RPC to pre-allocate memory, minimizing reallocations. This change provides a significant performance boost, particularly at verbosity levels 1 and 2.
Here are benchmark for this conducted on a VPS with the specs:
- 8 vCPU Cores, 24 GB RAM, 1.2 TB SSD, 32 TB Traffic
- Ubuntu 22 with Bitcoin Core on the lates
...
💬 andrewtoth commented on issue "Faster way to get block with prevouts in JSON-RPC":
(https://github.com/bitcoin/bitcoin/issues/30495#issuecomment-2444907742)
@ismaelsadeeq nice find!
I wonder, could you also benchmark [batch requests](https://www.jsonrpc.org/specification#batch)? Sending a single request that contains `rpcthread` number of `getblock` requests, sequentially and multithreaded on the client side?
(https://github.com/bitcoin/bitcoin/issues/30495#issuecomment-2444907742)
@ismaelsadeeq nice find!
I wonder, could you also benchmark [batch requests](https://www.jsonrpc.org/specification#batch)? Sending a single request that contains `rpcthread` number of `getblock` requests, sequentially and multithreaded on the client side?
💬 andrewtoth commented on pull request "RPC: Add reserve member function to `UniValue` and use it in `getblock` RPC":
(https://github.com/bitcoin/bitcoin/pull/31179#issuecomment-2444918015)
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/31179#issuecomment-2444918015)
Concept ACK
💬 achow101 commented on pull request "refactor: TxDownloadManager + fuzzing":
(https://github.com/bitcoin/bitcoin/pull/30110#issuecomment-2445007388)
light ACK 0f4bc635854597e15ea6968767fc4e5cf5bdd790
(https://github.com/bitcoin/bitcoin/pull/30110#issuecomment-2445007388)
light ACK 0f4bc635854597e15ea6968767fc4e5cf5bdd790
💬 achow101 commented on pull request "rpc: getorphantxs follow-up":
(https://github.com/bitcoin/bitcoin/pull/31043#issuecomment-2445022460)
ACK 0ea84bc362f395fd247623c22942eb5ca3d1b874
(https://github.com/bitcoin/bitcoin/pull/31043#issuecomment-2445022460)
ACK 0ea84bc362f395fd247623c22942eb5ca3d1b874
🤔 theuni reviewed a pull request: "cmake: Add `FindZeroMQ` module"
(https://github.com/bitcoin/bitcoin/pull/30903#pullrequestreview-2402777638)
Post-merge ACK 915640e191b6a17a245f0502bc399d82a6502ccf
(https://github.com/bitcoin/bitcoin/pull/30903#pullrequestreview-2402777638)
Post-merge ACK 915640e191b6a17a245f0502bc399d82a6502ccf
🚀 achow101 merged a pull request: "refactor: TxDownloadManager + fuzzing"
(https://github.com/bitcoin/bitcoin/pull/30110)
(https://github.com/bitcoin/bitcoin/pull/30110)
🚀 achow101 merged a pull request: "rpc: getorphantxs follow-up"
(https://github.com/bitcoin/bitcoin/pull/31043)
(https://github.com/bitcoin/bitcoin/pull/31043)
⚠️ sr-gi opened an issue: "`Wunused-member-function` in test each commit"
(https://github.com/bitcoin/bitcoin/issues/31180)
#31045 introduced `-werror` to test each commit, which makes things like `Wunused-member-function` an error now.
This feels pretty aggressive in the cases where some methods may be defined in isolation in commit A, and then used elsewhere in commit B (following A).
(https://github.com/bitcoin/bitcoin/issues/31180)
#31045 introduced `-werror` to test each commit, which makes things like `Wunused-member-function` an error now.
This feels pretty aggressive in the cases where some methods may be defined in isolation in commit A, and then used elsewhere in commit B (following A).
💬 achow101 commented on pull request "init: Correct coins db cache size setting":
(https://github.com/bitcoin/bitcoin/pull/31064#issuecomment-2445106612)
ACK 3a4a788ee0db83d20607f14801dbed2ee932943c
(https://github.com/bitcoin/bitcoin/pull/31064#issuecomment-2445106612)
ACK 3a4a788ee0db83d20607f14801dbed2ee932943c
🚀 achow101 merged a pull request: "init: Correct coins db cache size setting"
(https://github.com/bitcoin/bitcoin/pull/31064)
(https://github.com/bitcoin/bitcoin/pull/31064)
💬 andrewtoth commented on pull request "RPC: Add reserve member function to `UniValue` and use it in `getblock` RPC":
(https://github.com/bitcoin/bitcoin/pull/31179#issuecomment-2445122123)
I think we can take this further and reserve for VOBJ types instead of just VARR.
The VOBJ uses both values and keys, so we can reserve both. We can count how many times we do `pushKV` and reserve that amount for both keys and values.
(https://github.com/bitcoin/bitcoin/pull/31179#issuecomment-2445122123)
I think we can take this further and reserve for VOBJ types instead of just VARR.
The VOBJ uses both values and keys, so we can reserve both. We can count how many times we do `pushKV` and reserve that amount for both keys and values.
💬 achow101 commented on pull request "test: extend the SOCKS5 Python proxy to actually connect to a destination":
(https://github.com/bitcoin/bitcoin/pull/29420#issuecomment-2445134031)
ACK 57529ac4dbb2721c1ad0a3566f0299dbdb5ca5c0
(https://github.com/bitcoin/bitcoin/pull/29420#issuecomment-2445134031)
ACK 57529ac4dbb2721c1ad0a3566f0299dbdb5ca5c0