﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
5209	[patch] SelectionListDialog performance issues	doctau@…	doctau@…	"When you have a number of ways selection with different names (or any objects really) and delete a tag from them, the SelectionListDialog$SelectioListModel.tagsChanged() gets called to handle the tag changes.

Via update() the CONTENTS_CHANGED listeners are called once per selected object, including TitleUpdater. That recounts the number of nodes/ways/relations which can't actually have changed in a tagsChanged event.

Because it counts the selected objects one at a time, once per selected object, this is a N^2 operation - for something that will be the same as it was originally.


Ideally the updater wouldn't need to be called for something that won't have changed, but I don't know enough about JOSM's code to know if that's possible to fix.

Having the SelectionListDialog either maintain counts itself (updated when the selection changes), or a ""counts dirty"" flag so it only recomputes it once after being changed would be good, and reduce it to an O(n) thing rather than O(n^2)."	defect	closed	normal		Core	latest	fixed		
