Appending and deleting instances is suuuper slow in Glyphs 3

Interesting! Here’s what I get from this simple script on an empty new font:

import time
start = time.time()
Font.disableUpdateInterface()
for i in range(100):
	Font.instances.append( GSInstance() )
print("Appending: %s seconds" % (time.time() - start))
Font.enableUpdateInterface()

Font.disableUpdateInterface()
start = time.time()
for i in range(50):
	Font.removeInstance_(Font.instances[49-i])
print("Font.removeInstance_: %s seconds" % (time.time() - start))
Font.enableUpdateInterface()

Font.disableUpdateInterface()
start = time.time()
for i in range(50):
	del( font.instances[49-i] )
print("del(font.instances): %s seconds" % (time.time() - start))
Font.enableUpdateInterface()

Glyphs 3:

Appending: 0.0035860538482666016 seconds
Font.removeInstance_: 0.0017080307006835938 seconds
del(font.instances): 1.7925388813018799 seconds

Glyphs 2:

Appending: 0.00457906723022 seconds
Font.removeInstance_: 0.00204801559448 seconds
del(font.instances): 0.00971293449402 seconds