diff options
| author | Dax Raad <[email protected]> | 2025-07-19 18:41:21 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-07-19 18:41:21 -0400 |
| commit | f06cd887734965a4acd55eae2f7cb13633f8456c (patch) | |
| tree | 5c2d23a0bfd23660f864cf800c84a7c4fe05de13 /packages/tui/internal/components | |
| parent | 9af92b6914a630ca62b91d181fbf758beb3e9a21 (diff) | |
| download | opencode-f06cd887734965a4acd55eae2f7cb13633f8456c.tar.gz opencode-f06cd887734965a4acd55eae2f7cb13633f8456c.zip | |
perf: more performance improvements
Diffstat (limited to 'packages/tui/internal/components')
| -rw-r--r-- | packages/tui/internal/components/chat/messages.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go index 7d8b1b3a9..8cd0c1fde 100644 --- a/packages/tui/internal/components/chat/messages.go +++ b/packages/tui/internal/components/chat/messages.go @@ -53,6 +53,8 @@ func (m *messagesComponent) Init() tea.Cmd { } func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) { + measure := util.Measure("messages.Update") + defer measure("from", fmt.Sprintf("%T", msg)) var cmds []tea.Cmd switch msg := msg.(type) { case tea.WindowSizeMsg: @@ -102,6 +104,7 @@ func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.loading = false m.tail = m.viewport.AtBottom() m.viewport = msg.viewport + m.header = msg.header if m.dirty { cmds = append(cmds, m.renderView()) } @@ -117,12 +120,12 @@ func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) { type renderCompleteMsg struct { viewport viewport.Model + header string partCount int lineCount int } func (m *messagesComponent) renderView() tea.Cmd { - m.header = m.renderHeader() if m.rendering { slog.Debug("pending render, skipping") @@ -138,6 +141,7 @@ func (m *messagesComponent) renderView() tea.Cmd { tail := m.tail return func() tea.Msg { + header := m.renderHeader() measure := util.Measure("messages.renderView") defer measure() @@ -405,6 +409,7 @@ func (m *messagesComponent) renderView() tea.Cmd { } return renderCompleteMsg{ + header: header, viewport: viewport, partCount: partCount, lineCount: lineCount, |
