MacPorts on COW filesystem

Clemens Lang cal at macports.org
Fri Jul 10 14:02:57 PDT 2015


Hi, me again,

----- On 10 Jul, 2015, at 20:26, René J.V. Bertin rjvbertin at gmail.com wrote:

> If I'm not mistaken, registry.db-journal acts more or less like the HFS, EXT3,
> NTFS (etc) journals work,

More or less, yes.

> and should be completely redundant on a COW filesystem

Not necessarily. It depends on how the database management system does I/O. One
should be able to write a database system that doesn't need a separate
journaling system on ZFS, but just disabling the journaling does not necessarily
give you the same behavior. As the SQLite documentation on journal modes states,
disabling the journaling will disable ROLLBACK (and while SQLite *could* just
use the filesystem to do the rollback in this case, it currently doesn't. Talk
to upstream on this topic).

> (as well as a significant performance bottleneck).

I am completely at loss how you determine *significant* here. The SQLite
database is absolutely not MacPorts' performance bottleneck, not by far. I would
actually argue that any time you currently put into optimizing the database
performance could be much more well-spent in other areas, such as speeding up
Portfile execution in general (which means optimizing code in port1.0). For
example, I think we currently check for Xcode's existence once per port and run
xcodebuild for each Portfile that we parse -- there's huge potential for
improvements here, and the changes would actually benefit a large number of
people rather than a few that happen to run on a COW filesystem.

-- 
Clemens Lang


More information about the macports-dev mailing list