Ticket #14485: styled-map-renderer-use-parallel-sort.patch

File styled-map-renderer-use-parallel-sort.patch, 1.2 KB (added by michael2402, 8 years ago)
  • src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java

     
    2626import java.awt.geom.RoundRectangle2D;
    2727import java.awt.image.BufferedImage;
    2828import java.util.ArrayList;
     29import java.util.Arrays;
    2930import java.util.Collection;
    30 import java.util.Collections;
    3131import java.util.Comparator;
    3232import java.util.HashMap;
    3333import java.util.Iterator;
     
    20072007                return;
    20082008            }
    20092009
    2010             Collections.sort(allStyleElems); // TODO: try parallel sort when switching to Java 8
     2010            // We use parallel sort here. This is only available for arrays.
     2011            StyleRecord[] sorted = allStyleElems.toArray(new StyleRecord[allStyleElems.size()]);
     2012            Arrays.parallelSort(sorted, null);
    20112013
    20122014            if (!benchmark.renderDraw(allStyleElems)) {
    20132015                return;
    20142016            }
    20152017
    2016             for (StyleRecord record : allStyleElems) {
     2018            for (StyleRecord record : sorted) {
    20172019                paintRecord(record);
    20182020            }
    20192021