Modify

Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#16698 closed enhancement (fixed)

Slow performance in filters

Reported by: naoliv Owned by: team
Priority: normal Milestone: 18.09
Component: Core Version:
Keywords: performance filter Cc:

Description

When working with a lot of data it's possible to feel that JOSM reacts very slowly to, basically, anything (even adding a single node and some tags).

Profiling it with visualvm it's possible to see that, when doing a simple test of adding a node and unselecting it, JOSM uses a fair amount of time dealing with filters, even though I don't have any filters enabled¹:

https://i.imgur.com/gTLNEkY.png

¹ I have some filters, but none of them are enabled:
https://i.imgur.com/wYwpjfY.png

Could this somehow be improved?
Maybe have some option (even if hidden) to completely (and temporarily) disable the filter system?

Even to open the status report dialog I can feel the slowness (and it seems that the filter system also affects it?)
https://i.imgur.com/u4pQs7i.png

JOSM:

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-08-29 23:16:52 +0200 (Wed, 29 Aug 2018)
Revision:14204
Build-Date:2018-08-30 01:32:31
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (14204 pt_BR) Linux Debian GNU/Linux testing (buster)
Memory Usage: 4739 MB / 7168 MB (2503 MB allocated, but free)
Java version: 10.0.2+13-Debian-1, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1600x900, :0.1 1280x1024
Maximum Screen Size: 1600x1024
Java package: openjdk-10-jre:amd64-10.0.2+13-1
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-21
VM arguments: [--add-modules=java.activation,java.se.ee, -Dawt.useSystemAAFontSettings=gasp]
Dataset consistency test: No problems found

Plugins:
+ ImportImagePlugin (34576)
+ OpeningHoursEditor (34535)
+ PicLayer (34544)
+ SimplifyArea (34586)
+ apache-commons (34506)
+ buildings_tools (34572)
+ download_along (34503)
+ editgpx (34506)
+ ejml (34389)
+ geojson (87)
+ geotools (34513)
+ jts (34524)
+ log4j (34527)
+ measurement (34529)
+ opendata (34576)
+ pbf (34576)
+ poly (34546)
+ reverter (34552)
+ scripting (30787)
+ tageditor (34560)
+ todo (30305)
+ turnlanes-tagging (272)
+ turnrestrictions (34576)
+ undelete (34568)
+ utilsplugin2 (34506)

Attachments (0)

Change History (7)

comment:1 Changed 3 months ago by Don-vip

@naoliv this is the kind of bug reports I love! Thank you so much!

comment:2 Changed 3 months ago by Don-vip

Keywords: filter added

comment:3 Changed 3 months ago by Don-vip

Milestone: 18.09

comment:4 Changed 3 months ago by Don-vip

Resolution: fixed
Status: newclosed

In 14206/josm:

fix #16698, see #15670 - make sure filters are executed (costly operation) only when necessary:

  • data changes imply execution of filters only when at least a filter is enabled
  • filter changes imply execution of filters even is no filter is enabled
  • filter dataset change events should not trigger a new filter execution!

comment:5 Changed 3 months ago by naoliv

It's feeling much better now!
Thanks!

comment:6 Changed 3 months ago by Don-vip

Ticket #16662 has been marked as a duplicate of this ticket.

comment:7 Changed 3 months ago by Don-vip

Ticket #16689 has been marked as a duplicate of this ticket.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.