From a0269986827eb3c67f4de22798348a8c0aef51e2 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 21 Jul 2017 20:43:20 -0400 Subject: [PATCH] Marginally optimised `set_offset` to avoid `reset`s when possible. --- Storage/Tape/Tape.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Storage/Tape/Tape.cpp b/Storage/Tape/Tape.cpp index de4892b35..e0e3e81e3 100644 --- a/Storage/Tape/Tape.cpp +++ b/Storage/Tape/Tape.cpp @@ -55,7 +55,11 @@ uint64_t Tape::get_offset() { } void Tape::set_offset(uint64_t offset) { - reset(); + if(offset == offset_) return; + if(offset < offset_) { + reset(); + } + offset -= offset_; while(offset--) get_next_pulse(); }