[josm-dev] Selection Performance
Dave Hansen
dave at sr71.net
Thu Oct 8 08:10:07 BST 2009
It takes almost a second for me to do a mouse click and have a single
object be selected. I think it's worse for large data sets, but it
seems to exist most of the time despite the size of the data set.
Personally, I think a whole second to wait for a mouse click is pretty
bad.
Most of the time appears to be spent notifying things about the
selection change. I just counted 110 of these, and we fire once for the
clearSelection() and again for the new selection. They all seem to add
up to almost a second of latency. I actually went and printed out a
bunch of timestamps to confirm this.
Any thoughts on how to make this better? I've been using my QuadBuckets
code to make the click coordinate searches faster, but I'm clueless as
to what to do with these notifiers.
DataSet.fireSelectionChanged() 1254985384285 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 3082f392
DataSet.fireSelectionChanged() 1254985384285 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 65450f1f
DataSet.fireSelectionChanged() 1254985384285 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 18e3f02a
DataSet.fireSelectionChanged() 1254985384285 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 1cac622a
DataSet.fireSelectionChanged() 1254985384285 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7960c21a
DataSet.fireSelectionChanged() 1254985384285 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 3f677737
DataSet.fireSelectionChanged() 1254985384285 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 21c3dc66
DataSet.fireSelectionChanged() 1254985384285 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 41babddb
DataSet.fireSelectionChanged() 1254985384295 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 4b069693
DataSet.fireSelectionChanged() 1254985384295 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 1d87b360
DataSet.fireSelectionChanged() 1254985384296 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 381172c5
DataSet.fireSelectionChanged() 1254985384355 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 1860045
DataSet.fireSelectionChanged() 1254985384355 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 47bb2cb
DataSet.fireSelectionChanged() 1254985384355 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 55172fb9
DataSet.fireSelectionChanged() 1254985384355 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 653e4653
DataSet.fireSelectionChanged() 1254985384355 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 5b7b2712
DataSet.fireSelectionChanged() 1254985384355 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 72423da9
DataSet.fireSelectionChanged() 1254985384366 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 5ade5cd9
DataSet.fireSelectionChanged() 1254985384366 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 3ca1d92a
DataSet.fireSelectionChanged() 1254985384378 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 70a6aa31
DataSet.fireSelectionChanged() 1254985384393 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 4defb0be
DataSet.fireSelectionChanged() 1254985384404 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 333cb1eb
DataSet.fireSelectionChanged() 1254985384404 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 55c4d594
DataSet.fireSelectionChanged() 1254985384415 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 6da21389
DataSet.fireSelectionChanged() 1254985384415 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 2bb0bf9a
DataSet.fireSelectionChanged() 1254985384415 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 60f32dde
DataSet.fireSelectionChanged() 1254985384415 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7d487b8b
DataSet.fireSelectionChanged() 1254985384415 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 21a722ef
DataSet.fireSelectionChanged() 1254985384415 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 63e68a2b
DataSet.fireSelectionChanged() 1254985384426 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 46bd530
DataSet.fireSelectionChanged() 1254985384437 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 43794494
DataSet.fireSelectionChanged() 1254985384447 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 4e857327
DataSet.fireSelectionChanged() 1254985384459 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 1b4b2db7
DataSet.fireSelectionChanged() 1254985384475 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 64a65760
DataSet.fireSelectionChanged() 1254985384486 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 64b2933f
DataSet.fireSelectionChanged() 1254985384497 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7e140bf
DataSet.fireSelectionChanged() 1254985384509 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 5561bfa3
DataSet.fireSelectionChanged() 1254985384509 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 46c9220
DataSet.fireSelectionChanged() 1254985384519 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 73ed7524
DataSet.fireSelectionChanged() 1254985384545 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 6aa5c9f1
DataSet.fireSelectionChanged() 1254985384556 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 2a6d23ea
DataSet.fireSelectionChanged() 1254985384567 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 6350ed68
DataSet.fireSelectionChanged() 1254985384578 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 561279c8
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 56f9659d
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at f7e5307
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 2e7cf883
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at e9f784d
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7930ebb
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 47ac1adf
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 74184b3b
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 66f34a08
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 6e818805
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7a0938f0
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 73795327
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 224260ab
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 33d88c1f
DataSet.fireSelectionChanged() 1254985384589 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 4dd761d0
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7756c69c
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 620968f9
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 57cae5b7
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 49af7e68
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 209403a3
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 557ad30a
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 72b5615d
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 620b5b80
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 57a462c9
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 6951a712
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 6fafc4c2
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7c9ed5d6
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 1fe91485
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7f423820
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 5472fe25
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 498b5a73
DataSet.fireSelectionChanged() 1254985384601 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 5bdf59bd
DataSet.fireSelectionChanged() 1254985384684 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 247cb66a
DataSet.fireSelectionChanged() 1254985384684 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 77abfbdc
DataSet.fireSelectionChanged() 1254985384684 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 3c2465e5
DataSet.fireSelectionChanged() 1254985384684 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 799dbc3b
DataSet.fireSelectionChanged() 1254985384684 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 62b103dd
DataSet.fireSelectionChanged() 1254985384684 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 5374d4c9
DataSet.fireSelectionChanged() 1254985384685 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 1b3e02ed
DataSet.fireSelectionChanged() 1254985384685 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 4322394
DataSet.fireSelectionChanged() 1254985384685 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 77bdcbb2
DataSet.fireSelectionChanged() 1254985384685 org.openstreetmap.josm.gui.MapView$2 at 4d885088
DataSet.fireSelectionChanged() 1254985384685 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 305f387c
DataSet.fireSelectionChanged() 1254985384686 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 3b756db3
DataSet.fireSelectionChanged() 1254985384686 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 1a752144
DataSet.fireSelectionChanged() 1254985384686 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7fdb04ed
DataSet.fireSelectionChanged() 1254985384686 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 420a52f
DataSet.fireSelectionChanged() 1254985384686 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7b3cb2c6
DataSet.fireSelectionChanged() 1254985384686 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 4dfd245f
DataSet.fireSelectionChanged() 1254985384687 org.openstreetmap.josm.gui.dialogs.PropertiesDialog[toggleDialog.propertiesdialog,0,0,330x142,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EtchedBorder at 265f00f9,flags=329,maximumSize=,minimumSize=java.awt.Dimension[width=0,height=0],preferredSize=java.awt.Dimension[width=2147483647,height=150]]
DataSet.fireSelectionChanged() 1254985384688 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 2738ef1d
DataSet.fireSelectionChanged() 1254985384688 org.openstreetmap.josm.gui.dialogs.HistoryDialog$HistoryItemTableModel at ada6d09
DataSet.fireSelectionChanged() 1254985384700 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at a2c6f70
DataSet.fireSelectionChanged() 1254985384700 org.openstreetmap.josm.gui.dialogs.SelectionListDialog[toggleDialog.selectionlist,0,0,330x142,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EtchedBorder at 265f00f9,flags=9,maximumSize=,minimumSize=java.awt.Dimension[width=0,height=0],preferredSize=java.awt.Dimension[width=2147483647,height=150]]
DataSet.fireSelectionChanged() 1254985384701 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 2b49a2c8
DataSet.fireSelectionChanged() 1254985384701 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 6f5e0eab
DataSet.fireSelectionChanged() 1254985384701 org.openstreetmap.josm.gui.dialogs.UserListDialog[toggleDialog.userlist,0,0,330x142,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EtchedBorder at 265f00f9,flags=9,maximumSize=,minimumSize=java.awt.Dimension[width=0,height=0],preferredSize=java.awt.Dimension[width=2147483647,height=150]]
DataSet.fireSelectionChanged() 1254985384701 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 8f8acd0
DataSet.fireSelectionChanged() 1254985384701 org.openstreetmap.josm.gui.dialogs.ConflictDialog[toggleDialog.conflict,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EtchedBorder at 265f00f9,flags=9,maximumSize=,minimumSize=java.awt.Dimension[width=0,height=0],preferredSize=java.awt.Dimension[width=0,height=100]]
DataSet.fireSelectionChanged() 1254985384702 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 7e199049
DataSet.fireSelectionChanged() 1254985384702 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 404fe94c
DataSet.fireSelectionChanged() 1254985384702 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 3e5d9d90
DataSet.fireSelectionChanged() 1254985384702 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 741378ec
DataSet.fireSelectionChanged() 1254985384702 org.openstreetmap.josm.plugins.validator.ValidatorDialog[toggleDialog.validator,0,0,330x142,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EtchedBorder at 265f00f9,flags=9,maximumSize=,minimumSize=java.awt.Dimension[width=0,height=0],preferredSize=java.awt.Dimension[width=2147483647,height=150]]
DataSet.fireSelectionChanged() 1254985384702 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 2a68097d
DataSet.fireSelectionChanged() 1254985384702 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 1447034b
DataSet.fireSelectionChanged() 1254985384718 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 42293b53
DataSet.fireSelectionChanged() 1254985384729 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 20f5e814
DataSet.fireSelectionChanged() 1254985384740 org.openstreetmap.josm.actions.JosmAction$SelectionChangeAdapter at 705789f3
-- Dave
More information about the josm-dev
mailing list