[mkgmap-dev] Merging back the performance branch
From Gerd Petermann gpetermann_muenchen at hotmail.com on Thu Mar 8 20:58:32 GMT 2012
Hi WanMil, > Date: Thu, 8 Mar 2012 21:37:50 +0100 > From: wmgcnfg at web.de > To: mkgmap-dev at lists.mkgmap.org.uk > Subject: Re: [mkgmap-dev] Merging back the performance branch > > I've commited the other changes also. > I have removed the System.out calls from the LocationHook with a > separate logger. There might be some questions why a given street or POI > is not assigned to a special city. To answer such questions it is > necessary to be enable logging in an mkgmap build. Okay, I'll look at this tomorrow. > > There are also similar debug System.outs in the BoundaryQuadTree. > Although I think they should be replaced with log statements (it's the > debugging facility of mkgmap) I have left them there because I think the > output is mostly interesting for you. see above > > Did I miss any patch? I think I have commited all but there were so > many... :-) yes, there was one more : styledConv_v1.patch was posted 2012-03-03 17:35 Today I have found a good solution to reduce the number of tag evaluations by detecting common subexpresesions in rules and caching the results. Maybe I can finish that tomorrow. On my machine, mkgmap is now often waiting for the I/O :-) Ciao, Gerd > > WanMil > > > Hi Gerd, > > > > regards the findbugs fixes: > > I have commited the StyleTester change. And I have changed the > > LocationHook synchronization to use a separate static lock object. Using > > the boundaryDirName could have the same problem like using BOUNDS_OPTION. > > > > I am unsure about the other findbugs changes (GmapsuppBuilder and > > TypCompiler). > > They look good to me but Steve should know better if they are a good fix > > or if they remove a required side effect?!? > > > > WanMil > > > >> Hi WanMil, > >> > >> attached are two patches: > >> 1) findbugs found several problems in the existing sources. > >> findbugs.patch contains my suggested solution for three of them, > >> please review > >> > >> 2) performance_cleanup_v1.patch contains > >> - updated javadoc > >> - removed dead or commented code > >> - private constructor for stand-alone BoundaryPreparer to get > >> rid of new parameters like "preparer-out-dir" > >> - System.out.println -> log.* > >> - moved readArea() to readStreamRawFormat to get closer to the > >> trunk version > >> - LocationHook: findbugs doesn't like > >> synchronized (BOUNDS_OPTION) {...} > >> because BOUNDS_OPTION is an interned String. The > >> patch changes that to > >> synchronized (boundaryDirName){...} > >> I am not sure if that is better? > >> > >> Gerd > >> > >> > >> > Date: Sun, 4 Mar 2012 17:18:41 +0100 > >> > From: wmgcnfg at web.de > >> > To: mkgmap-dev at lists.mkgmap.org.uk > >> > Subject: Re: [mkgmap-dev] Merging back the performance branch > >> > > >> > > Hi WanMil, > >> > > > >> > > > >> > > > Date: Sun, 4 Mar 2012 16:28:12 +0100 > >> > > > From: wmgcnfg at web.de > >> > > > To: mkgmap-dev at lists.mkgmap.org.uk > >> > > > Subject: [mkgmap-dev] Merging back the performance branch > >> > > > > >> > > > Hi Gerd, > >> > > > > >> > > > in your opinion what is the current status of the performance branch? > >> > > > There seem to be no more fundamental changes so I would like to > >> focus on > >> > > > merging it back to the trunk. Additional improvements can then be > >> > > > applied to the trunk. > >> > > > >> > > well, r2234 doesn't contain all patches that I've posted. Do you > >> plan to > >> > > add them? > >> > > >> > Of course, but I want to have a look on the patches before commiting > >> them. > >> > > >> > > > >> > > My latest version contains another big change regarding Tags and > >> > > StyledConverter. > >> > > I'd like to change the Rule evaluation in a way that it will allow to > >> > > skip many rules > >> > > that are now partly evaluated. > >> > > Up to now my changes are saving maybe 5% - 10 %, but I hope to see > >> more. > >> > > I don't think that this will be done soon. > >> > > >> > We can merge back the performance branch and continue using it for the > >> > style changes. > >> > > >> > > > >> > > I have an idea how splitArea() could be changed to be much faster, but > >> > > no algorithm > >> > > yet. I believe that we don't need any Area.intersect() calculations for > >> > > that, we > >> > > just have to split a few lines. > >> > > >> > That's great. > >> > Maybe you can invest your time better in other points of mkgmap with a > >> > greater improvement. Performance improvements are great but there are > >> > some functional problems unsolved, e.g. the Subdivision creation in > >> > mkgmap has some problems which need to be addressed. > >> > > >> > > > >> > > > > >> > > > The performance improvements are great. Before merging back I > >> would like > >> > > > to invite people (and give them the chance) to test it carefully. For > >> > > > this I will upload the complete world bounds so that anyone can > >> > > participate. > >> > > > >> > > good. I can't believe that so many changes do not contain any bugs:-) > >> > > > >> > > > > >> > > > From my point of view the following things must be done before > >> merging > >> > > > back: > >> > > > * Remove several System.out printouts. Please use the mkgmap internal > >> > > > logging system. > >> > > > * One note to the logging system: Instead of using > >> > > > log.info("There were "+n+" results") > >> > > > better use > >> > > > log.info("There were", n, "results") > >> > > > This avoids string creation in case the log message is not logged. > >> > > > >> > > okay, I will change that. > >> > > > >> > > > * Please check the code with FindBugs or something similar > >> > > > >> > > okay, I wasn't aware that this tool is for free :-) > >> > > > >> > > > * Is the source code well documented? > >> > > > >> > > hard to say. I tend to comment only those lines that implement > >> > > a tricky solution. Everything else should be self-documenting. > >> > > > >> > > > * Is the licence header added to all classes? > >> > > What would the right one? > >> > > >> > I don't know if there is a 'correct' one but I am using the following: > >> > /* > >> > * Copyright (C) 2006, 2012. > >> > * > >> > * This program is free software; you can redistribute it and/or modify > >> > * it under the terms of the GNU General Public License version 3 or > >> > * version 2 as published by the Free Software Foundation. > >> > * > >> > * This program is distributed in the hope that it will be useful, but > >> > * WITHOUT ANY WARRANTY; without even the implied warranty of > >> > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > >> > * General Public License for more details. > >> > */ > >> > > >> > > > >> > > > * The BoundaryPreparer uses options like "preparer-out-dir". Are > >> these > >> > > > options documented? The name should be more specific (e.g. > >> > > bounds-out-dir). > >> > > okay > >> > > > >> > > Gerd > >> > > > >> > > > >> > > > > >> > > > WanMil > >> > > > _______________________________________________ > >> > > > mkgmap-dev mailing list > >> > > > mkgmap-dev at lists.mkgmap.org.uk > >> > > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > >> > > > >> > > > >> > > _______________________________________________ > >> > > mkgmap-dev mailing list > >> > > mkgmap-dev at lists.mkgmap.org.uk > >> > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > >> > > >> > _______________________________________________ > >> > mkgmap-dev mailing list > >> > mkgmap-dev at lists.mkgmap.org.uk > >> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > >> > >> > >> _______________________________________________ > >> mkgmap-dev mailing list > >> mkgmap-dev at lists.mkgmap.org.uk > >> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > > > _______________________________________________ > > mkgmap-dev mailing list > > mkgmap-dev at lists.mkgmap.org.uk > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20120308/96095ab2/attachment.html
- Previous message: [mkgmap-dev] Merging back the performance branch
- Next message: [mkgmap-dev] Commit: r2235: The attached patch includes the OSM id in the message, so it should be
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list