logo separator

Build mkgmap/mkgmap #542

Commit: 4185 by gerd
Branch: trunk
Time: 6 May 2018, 6:51 a.m.
Passed
Total time: 4 min 31 sec

tags5.patch: Improve the RuleIndex. Attached patch reduces again the number of evaluated rules, but should still evaluates all necessary rules. The old index still returned too many rules. Let's look at the example that I added as unit test. Set of rules: 0: a=* {set b=1} 1: b=1 {set c=1} 2: d=2 {set c=2} 3: c=* {set a=2} 4: c=1 {set d=2} 5: c=2 {set d=1} 6: d=1 [0x10401 resolution 24] 7: d=2 [0x10402 resolution 24] Assume we have no index and an element with only one tag a=1. We check each rule: Rules 0 matches and sets b=1 Now 1 matches and sets c=1 Rule 2 doesn't match. Rule 3 matches and sets a=2 Rule 4 matches and sets d=2 Rule 5 doesn't match. Rule 6 doesn't match. Rule 7 matches. The index is used to reduce the number of evaluated rules. In the best case it should return rules 0,1,3,4, and 7 for the given element. But the current code returns all rules because it thinks that rule 4 can set d=2 and therefore rule 2 might be triggered (which is wrong). The patch changes the index to recognizes the order of the rules which change tags and therefore returns only the needed rules.

  • java=jdk8, python=default
    Passed
    2 min 42 sec
  • java=openjdk8, python=default
    Passed
    1 min 47 sec

Latest commits

  • splitter-r654 - add note that splitter doesn't handle holes in *.poly files.
    05 apr 2024
  • mkgmap-r4919 Avoid possible integer overflow in blocksize calculation when gmapsupp contains large number of tiles.
    04 apr 2024
  • mkgmap-r4918 add surface=chipseal to group of surfaces which means paved.
    06 mar 2024
  • mkgmap-r4917 fix typos in documentation: $LONG_DATE$ -> $LONGDATE$, $SHORT_DATE$ -> $SHORTDATE$.
    18 feb 2024
  • mkgmap-r4916 sortResource_v3.patch (with updated date in comment) by Ticker Berkin.
    13 oct 2023
See more...