"Updating database of binaries" step very slow under Yosemite?
James Berry
jberry at macports.org
Mon Oct 20 16:23:21 PDT 2014
> On Oct 20, 2014, at 3:50 PM, James Berry <jberry at macports.org> wrote:
>
>
>> On Oct 20, 2014, at 3:27 AM, Clemens Lang <cal at macports.org> wrote:
>>
>> Hi,
>>
>> ----- On 20 Oct, 2014, at 08:18, Lawrence Velázquez larryv at macports.org wrote:
>>
>>> On Oct 20, 2014, at 1:22 AM, Leo Singer <aronnax at macports.org> wrote:
>>>
>>>> I found that the "Updating database of binaries" step of installing a port
>>>> became very slow after I upgraded to Yosemite (i.e., takes many minutes on an
>>>> SSD). I am just starting to install my ports again after uninstalling all of
>>>> them, so if this operation scales with the number of ports it should be even
>>>> faster than usual right now. Has anyone else experienced this?
>>>
>>> I've been seeing this also. Good to hear that I'm not imagining it.
>>
>> I think our SQLite database isn't performing very will in large transactions
>> (such as this one, or activating boost).
>
> I just saw this too...
>
> As a guess, and from a quick look at the code (where I might have missed something), the updates are not wrapped in a SQL transaction, so the update for each file is triggering an implicit transaction, with a full acid commit and flush to disk, so things are very slow. If this is the case, a transaction should probably be wrapped around either the entire update of binaries, or around smaller sets of them.
And I did miss something, as the updates for “Updating database of binaries” are all done inside registry::write, which should mean they’re all in one transaction. So much for that theory…
More information about the macports-users
mailing list