> On Jan 10, 2015, at 9:58 AM, Joshua Root <[email protected]> wrote: > > On 2015-1-11 00:18 , Clemens Lang wrote: >> >> >> ----- On 10 Jan, 2015, at 12:28, Mojca Miklavec [email protected] wrote: >> >>> I already mentioned a while ago some annoying behaviour of macports: >>> sudo port uninstall <some port> >>> (maybe also sudo clean) sometimes takes forever. I can uninstall 10 >>> ports, but the time won't multiply by 10, it seems that there's only a >>> single very time consuming step somewhere in the process, but it's not >>> always exactly reproducible. >> >> Might be the registry VACUUM at the end. Do you see the uninstall output in >> normal speed and then it hangs before returning? > > That is what generally takes a lot of time after uninstalls. Ideally we > would only vacuum when the amount of wasted space reaches a certain > significant level, but that would not make it any quicker when it does > happen, probably the opposite in fact. Not sure if we could add a > progress indicator either.
We could check the ratio of free pages to total pages and VACUUM only when we reach a certain threshold. This would be VACUUM to recover unused space, but not necessarily to eliminate fragmentation. In general, I’d think VACUUM always takes about the same amount of time, given the same size of data: the algorithm is that a new file is created, and tables are copied into it one by one, I believe. See pragmas for freelist_count <https://sqlite.org/pragma.html#pragma_freelist_count> and page_count <https://sqlite.org/pragma.html#pragma_page_count>. James
_______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
