]> git.lizzy.rs Git - micro.git/commitdiff
Optimization to lots of redraws on large files
authorZachary Yedidia <zyedidia@gmail.com>
Mon, 29 Jan 2018 21:47:55 +0000 (16:47 -0500)
committerZachary Yedidia <zyedidia@gmail.com>
Mon, 29 Jan 2018 21:47:55 +0000 (16:47 -0500)
cmd/micro/micro.go

index b097392ee507edc7adf6c417798baf2a1c6abf76..ad6c461417c29a7fe00e528b2a8fe245a92fc78d 100644 (file)
@@ -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() {