From 6d4134a178f2dabdc71c3d47b185e3cdf0ab12c4 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Mon, 29 Jan 2018 16:47:55 -0500 Subject: [PATCH] Optimization to lots of redraws on large files --- cmd/micro/micro.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index b097392e..ad6c4614 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -57,11 +57,17 @@ var ( // Channel of jobs running in the background jobs chan JobFunction + // Event channel - events chan tcell.Event - autosave chan bool + events chan tcell.Event + autosave chan bool + + // Channels for the terminal emulator updateterm chan bool closeterm chan int + + // How many redraws have happened + numRedraw uint ) // LoadInput determines which files should be loaded into buffers @@ -232,6 +238,11 @@ func RedrawAll() { DisplayKeyMenu() } screen.Show() + + if numRedraw%50 == 0 { + runtime.GC() + } + numRedraw++ } func LoadAll() {