Skip to content

Commit

Permalink
perf(p2p/conn): Remove a minint call that was appearing in write pack…
Browse files Browse the repository at this point in the history
…et delays (backport cometbft#2952) (cometbft#2975) (#42) (#52)

Somehow this minint call is appearing in CPU profiles. Its too large of
an appearance to be declared as noise, but I really don't get why its
there. Must be some weird system effect I don't get. (perhaps due to
being the result of a function call for a slice index? idk)

This PR just removes the function call, since its not needed, as we
already branch on the if statement.

Profile showing it:

![image](https://github.com/cometbft/cometbft/assets/6440154/a12c8918-e4ce-4a3d-bad4-5ae678988f94)

Contributes a 3% improvement to cometbft#2951

---

#### PR checklist

- [x] Tests written/updated - fully compatible with what already exists
- [x] Changelog entry added in `.changelog` (we use
[unclog](https://github.com/informalsystems/unclog) to manage our
changelog)
- [x] Updated relevant documentation (`docs/` or `spec/`) and code
comments
- [x] Title follows the [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec
<hr>This is an automatic backport of pull request cometbft#2952 done by
[Mergify](https://mergify.com).

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Dev Ojha <[email protected]>
Co-authored-by: Anton Kaliaev <[email protected]>
(cherry picked from commit 9ee1d13)

Co-authored-by: Adam Tucker <[email protected]>
  • Loading branch information
mergify[bot] and czarcas7ic authored May 3, 2024
1 parent c0c3193 commit 31309c5
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[p2p/conn]` Minor speedup (3%) to connection.WritePacketMsgTo, by removing MinInt calls.
([\#2952](https://github.com/cometbft/cometbft/pull/2952))
6 changes: 3 additions & 3 deletions p2p/conn/connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import (

flow "github.com/cometbft/cometbft/libs/flowrate"
"github.com/cometbft/cometbft/libs/log"
cmtmath "github.com/cometbft/cometbft/libs/math"
"github.com/cometbft/cometbft/libs/protoio"
"github.com/cometbft/cometbft/libs/service"
cmtsync "github.com/cometbft/cometbft/libs/sync"
Expand Down Expand Up @@ -830,14 +829,15 @@ func (ch *Channel) isSendPending() bool {
func (ch *Channel) nextPacketMsg() tmp2p.PacketMsg {
packet := tmp2p.PacketMsg{ChannelID: int32(ch.desc.ID)}
maxSize := ch.maxPacketMsgPayloadSize
packet.Data = ch.sending[:cmtmath.MinInt(maxSize, len(ch.sending))]
if len(ch.sending) <= maxSize {
packet.Data = ch.sending
packet.EOF = true
ch.sending = nil
atomic.AddInt32(&ch.sendQueueSize, -1) // decrement sendQueueSize
} else {
packet.Data = ch.sending[:maxSize]
packet.EOF = false
ch.sending = ch.sending[cmtmath.MinInt(maxSize, len(ch.sending)):]
ch.sending = ch.sending[maxSize:]
}
return packet
}
Expand Down

0 comments on commit 31309c5

Please sign in to comment.