mirror of
https://github.com/sst/opencode.git
synced 2025-07-22 23:35:01 +00:00
perf: more performance improvements
This commit is contained in:
parent
9af92b6914
commit
f06cd88773
3 changed files with 10 additions and 2 deletions
|
@ -91,6 +91,9 @@ func main() {
|
|||
stream := httpClient.Event.ListStreaming(ctx)
|
||||
for stream.Next() {
|
||||
evt := stream.Current().AsUnion()
|
||||
if _, ok := evt.(opencode.EventListResponseEventStorageWrite); ok {
|
||||
continue
|
||||
}
|
||||
program.Send(evt)
|
||||
}
|
||||
if err := stream.Err(); err != nil {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -103,7 +103,7 @@ func (a appModel) Init() tea.Cmd {
|
|||
}
|
||||
|
||||
func (a appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||
measure := util.Measure("Update")
|
||||
measure := util.Measure("app.Update")
|
||||
defer measure("from", fmt.Sprintf("%T", msg))
|
||||
|
||||
var cmd tea.Cmd
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue