Hi Steve, thanks for review, I've added a unit test to show why your version doesn't work. I see no simple way to improve the index much more. I thought about a different approach: Instead of doing all the calculations before any rule is really executed we might do this dynamically. Each rule which changes or adds tags would point to a list of further rules which are to be checked. Only when such a change really happens the additional rules are checked. No idea if this can be implemented more efficiently than the current static index.
Gerd ________________________________________ Von: mkgmap-dev <[email protected]> im Auftrag von Steve Ratcliffe <[email protected]> Gesendet: Dienstag, 24. April 2018 23:06:11 An: [email protected] Betreff: Re: [mkgmap-dev] patch to improve style throughput Hi Gerd I don't think I understand any of this any more :( It didn't seem right to extract the key from the keystring so I tried without and the attached patch also passes all the tests - I make no other claim! Steve > Hi Steve, > > I think I found a simple patch to improve the rule index. I've noticed that > the unpatched version often returns far more rules to check than expected. > e.g. if an element has the tag a=3 and we have these 3 rules > a=1 {...} > a=2 & b=1 {...} > a=3 & c=1 {...} > > all three are evaluated, in fact all rules which have a keystring beginning > with a= are returned by the index. The patch changes this so that rules which > cannot match are not > returned. This makes style evaluation a bit faster. I've tried it with a few > styles and some input files and found no changes in the output, also all unit > tests pass, so I hope I did not miss something. What do you think? > > Gerd > > > > _______________________________________________ > mkgmap-dev mailing list > [email protected] > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > _______________________________________________ mkgmap-dev mailing list [email protected] http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
