Modify

Opened 2 years ago

Last modified 2 years ago

#20405 new enhancement

History browser for complex relations requires lots of memory

Reported by: GerdP Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report history performance Cc: Don-vip

Description

What steps will reproduce the problem?

  1. Browse history of r2795128 (EuroVelo 3 - Pilgrim's Route - part Germany), a relation with > 1200 versions and > 4600 members
  2. Open e.g. VisualVm to create and analyse a heapdump

What is the expected result?

No (additional) instances for RelationMemberData as the dialog doesn't show any member specific data

What happens instead?

5.345.959(!) instances of RelationMemberData which require ~244 MB
The single instance of HistoryRelation retains ~300MB.

Please provide any additional information below. Attach a screenshot if possible.

I think it would be better to wait for the use to actually select the members tab before we create instances of RelationMemberData. Should not take too long when the corresponding changeset files were downloaded and cached.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-12-28 22:03:23 +0100 (Mon, 28 Dec 2020)
Build-Date:2020-12-30 02:30:55
Revision:17428
Relative:URL: ^/trunk

Identification: JOSM/1.5 (17428 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 2004 (19041)
Memory Usage: 1414 MB / 3641 MB (1083 MB allocated, but free)
Java version: 1.8.0_221-b11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
VM arguments: [-XX:StartFlightRecording=name=MyRecording2,settings=d:\dbg\gerd.jfc, -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=e:\ld\perf_20210119_072729.jfr]

Plugins:
+ ColumbusCSV (35640)
+ buildings_tools (35669)
+ o5m (35640)
+ pbf (35650)
+ poly (35640)
+ reltoolbox (35640)
+ reverter (35688)
+ undelete (35640)
+ utilsplugin2 (35682)

Validator rules:
+ c:\josm\core\resources\data\validator\geometry.mapcss

Attachments (0)

Change History (2)

comment:1 in reply to:  description Changed 2 years ago by Don-vip

Keywords: performance added

Replying to GerdP:

5.345.959(!) instances of RelationMemberData which require ~244 MB
The single instance of HistoryRelation retains ~300MB.

wow

I think it would be better to wait for the use to actually select the members tab before we create instances of RelationMemberData. Should not take too long when the corresponding changeset files were downloaded and cached.

Indeed!

comment:2 Changed 2 years ago by GerdP

I guess it is a major change and I'll probably not have time to work on this soon. Maybe a GSOC project?

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set.
to The owner will be changed from team to the specified user.
The owner will change to GerdP
as duplicate The resolution will be set to duplicate.The specified ticket will be cross-referenced with this ticket
The owner will be changed from team to anonymous.

Add Comment


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

 
Note: See TracTickets for help on using tickets.