logo separator

[mkgmap-dev] [PATCH v2] LocationHook speedup

From Gerd Petermann gpetermann_muenchen at hotmail.com on Sat Dec 31 13:58:30 GMT 2011

I used another way to optimize that part. On my machine, the list() method is much faster than listFiles():

            String [] boundaryFileNames = boundaryDir.list();
            boolean foundBndFile = false;
            for (String s: boundaryFileNames){
                if (s.endsWith(".bnd")) {
                    foundBndFile = true;
                    break;
                }
            }
            if (!foundBndFile) {
                log.error("Disable LocationHook because boundary directory contains files. Dir: "
                        + boundaryDir);
                return false;
            }


Gerd

I've found and fixed another performance bottleneck:
The init method of the LocationHook contained a check if there is any 
bounds file in the boundary directory. On my computer this check 
requires ~1200ms. This is done for each tile and must be perfomed once 
only.
So attached patch saves additionally 1200ms for each tile :-)
 
WanMil
 
> I tried to improve the first patch by removing anything not required in
> the Quadtree and by using a different internal data structure.
>
> I've seen performance improvements but please try and test yourself :-)
>
> The most time is now spend in the creation of the Quadtree. So if you
> want to search for more performance just start there.
>
> WanMil
>
>
>> Gerds patches inspired me to look for more things that could be improved.
>>
>> I found that the Quadtree used in the LocationHook is not very optimal.
>> The patch is a first try to increase the performance. The time required
>> for the LocationHook is reduced by 10-50% which is great.
>>
>> Warning: I haven't checked so far if the results are equal. So maybe
>> there are big bugs in the patch... (and the speedup comes from the poor
>> implementation)
>>
>> I will do some more tests and optimizations but maybe some of you can
>> have a look on it, test it and comment it.
>>
>> Have fun!
>> WanMil 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20111231/7380caeb/attachment.html 


More information about the mkgmap-dev mailing list