From dc62dd9d829b3860f31012e3dff4cc3fb3792a2c Mon Sep 17 00:00:00 2001 From: Dmytro Maluka Date: Mon, 17 Jun 2024 12:59:32 +0200 Subject: [PATCH] autosave: don't save unmodified buffer (#3356) Saving a buffer every time without even checking if it was modified (i.e. even when the user is not editing the buffer) is wasteful, especially if the autosave period is set to a short value. --- internal/buffer/save.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/buffer/save.go b/internal/buffer/save.go index fbafa6a8..efbf04f4 100644 --- a/internal/buffer/save.go +++ b/internal/buffer/save.go @@ -95,6 +95,11 @@ func (b *Buffer) Save() error { // AutoSave saves the buffer to its default path func (b *Buffer) AutoSave() error { + // Doing full b.Modified() check every time would be costly, due to the hash + // calculation. So use just isModified even if fastdirty is not set. + if !b.isModified { + return nil + } return b.saveToFile(b.Path, false, true) }