#15782 closed defect (wontfix)
Presets loading is very slow with Java 9+ / WebStart
Reported by: | Don-vip | Owned by: | team |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Core Webstart | Version: | |
Keywords: | performance java9 java10 presets javabug | Cc: | stoecker |
Description
I noticed JOSM is very slow to load in WebStart with Java 9 or 10.
It appears the presets loading takes between 28 and 30 seconds with these versions (tested with 9.0.1 and 10-ea+39) while Java 8 only takes about 3 seconds.
I'm not sure why. probably linked to the fact Java WebStart runs with a security manager.
Maybe linked to JEP 232: Improve Secure Application Performance ?
Attachments (2)
Change History (17)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Java 9.0.4 (--debug) run from Eclipse:
2018-01-17 00:44:28.983 FINE: Loading imagery preferences completed in (1.7 s) 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=stop_position && (train=yes || subway=yes || monorail=yes || tram=yes || light_rail=yes) 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=stop_position && (train=yes || subway=yes || monorail=yes || tram=yes || light_rail=yes) 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=stop_position && (train=yes || subway=yes || monorail=yes || tram=yes || light_rail=yes) 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:44:29.425 FINE: Parsed search expression is railway 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=stop_position && (bus=yes || trolleybus=yes) 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=stop_position && (bus=yes || trolleybus=yes) 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=stop_position && (bus=yes || trolleybus=yes) 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:44:29.425 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:44:29.441 FINE: Parsed search expression is highway 2018-01-17 00:44:29.441 FINE: Parsed search expression is type=route 2018-01-17 00:44:29.441 FINE: Parsed search expression is public_transport=stop_position 2018-01-17 00:44:29.456 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:44:29.456 FINE: Parsed search expression is railway=subway_entrance 2018-01-17 00:44:29.456 FINE: Parsed search expression is amenity || public_transport=station 2018-01-17 00:44:29.472 FINE: Parsed search expression is highway=bus_stop || railway=station || railway=halt || railway=tram_stop 2018-01-17 00:44:29.472 FINE: Parsed search expression is highway=bus_stop || railway=station || railway=halt || railway=tram_stop 2018-01-17 00:44:29.472 FINE: Parsed search expression is highway=bus_stop || railway=station || railway=halt || railway=tram_stop 2018-01-17 00:44:29.472 FINE: Parsed search expression is highway=platform || railway=platform 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is tourism || amenity 2018-01-17 00:44:32.012 FINE: Parsed search expression is natural=peak || natural=volcano || mountain_pass=yes || natural=water || tourism=viewpoint || amenity=drinking_water || natural=spring || place=locality 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is tourism || amenity 2018-01-17 00:44:32.012 FINE: Parsed search expression is natural=peak || natural=volcano || mountain_pass=yes || natural=water || tourism=viewpoint || amenity=drinking_water || natural=spring || place=locality 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is tourism || amenity 2018-01-17 00:44:32.012 FINE: Parsed search expression is natural=peak || natural=volcano || mountain_pass=yes || natural=water || tourism=viewpoint || amenity=drinking_water || natural=spring || place=locality 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is power 2018-01-17 00:44:32.012 FINE: Parsed search expression is railway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:44:32.012 FINE: Parsed search expression is highway 2018-01-17 00:44:32.028 FINE: Parsed search expression is addr:housenumber || addr:interpolation || addr:housename 2018-01-17 00:44:32.028 FINE: Parsed search expression is waterway && !waterway=riverbank 2018-01-17 00:44:32.028 FINE: Parsed search expression is waterway && !waterway=riverbank 2018-01-17 00:44:32.028 FINE: Parsed search expression is waterway && !waterway=riverbank 2018-01-17 00:44:32.105 FINE: Presets read in 5.0 s
Java 9.0.4 (--debug) run from WebStart:
2018-01-17 00:43:00.513 FINE: Loading imagery preferences completed in (1.2 s) 2018-01-17 00:43:07.220 FINE: Parsed search expression is public_transport=stop_position && (train=yes || subway=yes || monorail=yes || tram=yes || light_rail=yes) 2018-01-17 00:43:07.220 FINE: Parsed search expression is public_transport=stop_position && (train=yes || subway=yes || monorail=yes || tram=yes || light_rail=yes) 2018-01-17 00:43:07.220 FINE: Parsed search expression is public_transport=stop_position && (train=yes || subway=yes || monorail=yes || tram=yes || light_rail=yes) 2018-01-17 00:43:07.220 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:43:07.220 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:43:07.220 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:43:07.235 FINE: Parsed search expression is railway 2018-01-17 00:43:07.235 FINE: Parsed search expression is public_transport=stop_position && (bus=yes || trolleybus=yes) 2018-01-17 00:43:07.235 FINE: Parsed search expression is public_transport=stop_position && (bus=yes || trolleybus=yes) 2018-01-17 00:43:07.235 FINE: Parsed search expression is public_transport=stop_position && (bus=yes || trolleybus=yes) 2018-01-17 00:43:07.235 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:43:07.235 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:43:07.235 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:43:07.235 FINE: Parsed search expression is highway 2018-01-17 00:43:07.235 FINE: Parsed search expression is type=route 2018-01-17 00:43:07.282 FINE: Parsed search expression is public_transport=stop_position 2018-01-17 00:43:07.282 FINE: Parsed search expression is public_transport=platform 2018-01-17 00:43:07.282 FINE: Parsed search expression is railway=subway_entrance 2018-01-17 00:43:07.282 FINE: Parsed search expression is amenity || public_transport=station 2018-01-17 00:43:07.562 FINE: Parsed search expression is highway=bus_stop || railway=station || railway=halt || railway=tram_stop 2018-01-17 00:43:07.562 FINE: Parsed search expression is highway=bus_stop || railway=station || railway=halt || railway=tram_stop 2018-01-17 00:43:07.562 FINE: Parsed search expression is highway=bus_stop || railway=station || railway=halt || railway=tram_stop 2018-01-17 00:43:07.562 FINE: Parsed search expression is highway=platform || railway=platform 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is tourism || amenity 2018-01-17 00:43:26.453 FINE: Parsed search expression is natural=peak || natural=volcano || mountain_pass=yes || natural=water || tourism=viewpoint || amenity=drinking_water || natural=spring || place=locality 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is tourism || amenity 2018-01-17 00:43:26.453 FINE: Parsed search expression is natural=peak || natural=volcano || mountain_pass=yes || natural=water || tourism=viewpoint || amenity=drinking_water || natural=spring || place=locality 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is tourism || amenity 2018-01-17 00:43:26.453 FINE: Parsed search expression is natural=peak || natural=volcano || mountain_pass=yes || natural=water || tourism=viewpoint || amenity=drinking_water || natural=spring || place=locality 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is power 2018-01-17 00:43:26.453 FINE: Parsed search expression is railway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway || route=ferry 2018-01-17 00:43:26.453 FINE: Parsed search expression is highway 2018-01-17 00:43:26.453 FINE: Parsed search expression is addr:housenumber || addr:interpolation || addr:housename 2018-01-17 00:43:26.453 FINE: Parsed search expression is waterway && !waterway=riverbank 2018-01-17 00:43:26.453 FINE: Parsed search expression is waterway && !waterway=riverbank 2018-01-17 00:43:26.453 FINE: Parsed search expression is waterway && !waterway=riverbank 2018-01-17 00:43:26.485 FINE: Presets read in 27.3 s
comment:3 by , 7 years ago
Milestone: | → 18.01 |
---|
comment:4 by , 7 years ago
The loading of svg icons is a lot slower with java 9:
2018-01-17 01:09:32.566 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/gondola.svg java.awt.Dimension[width=-1,height=16] 2018-01-17 01:09:32.598 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/gondola.svg java.awt.Dimension[width=-1,height=24] 2018-01-17 01:09:32.598 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/cable_car.svg java.awt.Dimension[width=-1,height=16] 2018-01-17 01:09:32.644 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/cable_car.svg java.awt.Dimension[width=-1,height=24] 2018-01-17 01:09:32.644 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/chair_lift.svg java.awt.Dimension[width=-1,height=16] 2018-01-17 01:09:32.691 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/chair_lift.svg java.awt.Dimension[width=-1,height=24] 2018-01-17 01:09:32.691 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/mixed_lift.svg java.awt.Dimension[width=-1,height=16] 2018-01-17 01:09:32.723 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/mixed_lift.svg java.awt.Dimension[width=-1,height=24]
compared to java 8:
2018-01-17 01:29:54.445 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/gondola.svg java.awt.Dimension[width=-1,height=16] 2018-01-17 01:29:54.445 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/gondola.svg java.awt.Dimension[width=-1,height=24] 2018-01-17 01:29:54.445 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/cable_car.svg java.awt.Dimension[width=-1,height=16] 2018-01-17 01:29:54.445 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/cable_car.svg java.awt.Dimension[width=-1,height=24] 2018-01-17 01:29:54.445 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/chair_lift.svg java.awt.Dimension[width=-1,height=16] 2018-01-17 01:29:54.445 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/chair_lift.svg java.awt.Dimension[width=-1,height=24] 2018-01-17 01:29:54.445 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/mixed_lift.svg java.awt.Dimension[width=-1,height=16] 2018-01-17 01:29:54.461 FINEST: createImageFromSvg: jar:https://josm.openstreetmap.de/download/josm-latest.jar!/images/presets/transport/aerialway/mixed_lift.svg java.awt.Dimension[width=-1,height=24]
(web start, trace, same command line)
by , 7 years ago
by , 7 years ago
Attachment: | 15782_bis.png added |
---|
comment:7 by , 7 years ago
Keywords: | javabug added |
---|---|
Milestone: | 18.01 |
For me it's a Java bug. Created report 9052342.
comment:9 by , 7 years ago
As Oracle kills WebStart in Java 11, they closed the bug as won't fix: https://bugs.openjdk.java.net/browse/JDK-8196053
comment:10 by , 7 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Thus, nothing we can do. We will have to replace WebStart by something else. Right now, I don't know what.
comment:11 by , 7 years ago
comment:13 by , 6 years ago
Yes. Java 9 and 10 are already obsolete, and Java 11 does not provide WebStart anymore.
Right now the best solution is to stick to Oracle Java 8. For end-user consumers, they say they will provide public updates until end of 2020 at least: https://www.java.com/en/download/release_notice.jsp
I hope AdoptOpenJDK will include IcedTea-Web (a free implementation of WebStart done by RedHat) in later builds, so we can abandon Oracle in 2019 or 2020 and switch from Java 8 to Java 11 or later.
comment:14 by , 6 years ago
Cc: | added |
---|
I think there should be some hint on wiki:/WikiStart to use Java 8 if you use webstart and Java 11 if not!?
comment:15 by , 6 years ago
Not needed. Oracle 10 WebStart should soon redirect users to latest Java 8 update.
In 13332/josm: