mirror of
https://github.com/sst/opencode.git
synced 2025-07-24 00:05:02 +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)
|
stream := httpClient.Event.ListStreaming(ctx)
|
||||||
for stream.Next() {
|
for stream.Next() {
|
||||||
evt := stream.Current().AsUnion()
|
evt := stream.Current().AsUnion()
|
||||||
|
if _, ok := evt.(opencode.EventListResponseEventStorageWrite); ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
program.Send(evt)
|
program.Send(evt)
|
||||||
}
|
}
|
||||||
if err := stream.Err(); err != nil {
|
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) {
|
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
|
var cmds []tea.Cmd
|
||||||
switch msg := msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case tea.WindowSizeMsg:
|
case tea.WindowSizeMsg:
|
||||||
|
@ -102,6 +104,7 @@ func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||||
m.loading = false
|
m.loading = false
|
||||||
m.tail = m.viewport.AtBottom()
|
m.tail = m.viewport.AtBottom()
|
||||||
m.viewport = msg.viewport
|
m.viewport = msg.viewport
|
||||||
|
m.header = msg.header
|
||||||
if m.dirty {
|
if m.dirty {
|
||||||
cmds = append(cmds, m.renderView())
|
cmds = append(cmds, m.renderView())
|
||||||
}
|
}
|
||||||
|
@ -117,12 +120,12 @@ func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||||
|
|
||||||
type renderCompleteMsg struct {
|
type renderCompleteMsg struct {
|
||||||
viewport viewport.Model
|
viewport viewport.Model
|
||||||
|
header string
|
||||||
partCount int
|
partCount int
|
||||||
lineCount int
|
lineCount int
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *messagesComponent) renderView() tea.Cmd {
|
func (m *messagesComponent) renderView() tea.Cmd {
|
||||||
m.header = m.renderHeader()
|
|
||||||
|
|
||||||
if m.rendering {
|
if m.rendering {
|
||||||
slog.Debug("pending render, skipping")
|
slog.Debug("pending render, skipping")
|
||||||
|
@ -138,6 +141,7 @@ func (m *messagesComponent) renderView() tea.Cmd {
|
||||||
tail := m.tail
|
tail := m.tail
|
||||||
|
|
||||||
return func() tea.Msg {
|
return func() tea.Msg {
|
||||||
|
header := m.renderHeader()
|
||||||
measure := util.Measure("messages.renderView")
|
measure := util.Measure("messages.renderView")
|
||||||
defer measure()
|
defer measure()
|
||||||
|
|
||||||
|
@ -405,6 +409,7 @@ func (m *messagesComponent) renderView() tea.Cmd {
|
||||||
}
|
}
|
||||||
|
|
||||||
return renderCompleteMsg{
|
return renderCompleteMsg{
|
||||||
|
header: header,
|
||||||
viewport: viewport,
|
viewport: viewport,
|
||||||
partCount: partCount,
|
partCount: partCount,
|
||||||
lineCount: lineCount,
|
lineCount: lineCount,
|
||||||
|
|
|
@ -103,7 +103,7 @@ func (a appModel) Init() tea.Cmd {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a appModel) Update(msg tea.Msg) (tea.Model, 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))
|
defer measure("from", fmt.Sprintf("%T", msg))
|
||||||
|
|
||||||
var cmd tea.Cmd
|
var cmd tea.Cmd
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue