Opened 3 years ago

Last modified 2 years ago

#22603 closed defect

[WIP Patch] Add PBF reading support to JOSM — at Initial Version

Reported by: taylor.smock Owned by: team
Priority: normal Milestone: 23.03
Component: Core Version:
Keywords: pbf Cc:

Description

This is a followup of #6886.

Major differences:

  • It uses the JOSM Protobuf parsing code instead of Google's Protobuf parser
  • It is not based off of any of the code from https://github.com/openstreetmap/OSM-binary except for the proto files. I'm unsure what the licensing situation would require.
  • ~1500 added lines
  • Roughly comparable performance to PBF reading when compared against the PBF plugin
    • colorado-latest.osm.pbf was used for profiling. Note: Takes ~8.8 GB of memory to load the file, no clue how much is needed to render it.
    • PBF plugin (max memory in use: 8779 MB):
      • Time spent loading PBF: 49.5s (3 runs with same time spent)
      • Memory allocations: 30,155,126,741 (average across three runs, ~500 MB spread)
      • CPU cyles: 3061 (average across 3 runs, ~600 CPU cycle spread)
    • Patch (max memory in use: 8783 MB):
      • Time spent loading PBF: 75s (average across 3 runs, min 62s, max 89s)
      • Memory allocations: 30,098,125,773 (average across three runs, ~900 MB spread)
      • CPU cyles: 4650 (average across 3 runs, min 3862, max 5356)

Additional notes:
No tests yet (hence WIP)

Change History (0)

Note: See TracTickets for help on using tickets.