Hi Mike,
memory consumption is no memory leak :)
A memory leak is defined, if a program continues to occupy memory and NEVER gives it back.
A program like lasduplicate with *one* file can not have a memory leak by operating system mechanisms:
When the program ends, it give all memory back it occupied during runtime.
So your concern seems to be just about the memory consumption.
Please keep in mind that we have to measure the distance to each point against each other. So the matrix we have to build increases exponential to your number of points.
This is why we always tell the boring story about tiling...
The file you supplied did well in around 6 minutes:
LAStools lasduplicate (by
in...@rapidlasso.de) version 240522
reading 42146479 points of type 6 from '5094_51874.laz' and writing to 'thinned\5094_51874.laz'.
number of xy-duplicates 40532093
found 1330464 duplicates in '5094_51874.laz'. took 376.538 sec.
If you run out of memory on even bigger files than 42 million points we recommend
- to tile
- optional to thin the file first using lasthin, there we do not have to calculate all the distances and can operate more "on the fly", so this saves memory.
Cheers,
Jochen