TL;DR:  A Git packfile for SQLite is about 52% larger than the
equivalent content in a Fossil repository.

I downloaded a copy of the Git packfile from mackyle's mirror of
SQLite on GitHub (https://github.com/mackyle/sqlite).  Git uses a
tightly coded binary implementation for packfiles, so I was expecting
that a Git packfile would be significantly smaller than the equivalent
Fossil repo.

I was wrong.

The Git packfile comes in a 86.8MB and the entire Fossil repo is only
68.8MB.  This is in spite of the fact that the Fossil repo contains a
lot of supplemental information (ex: indexes) used to make it faster
as well as additional content (wiki, tickets) that Git does not
support.

The equivalent of a Git packfile in Fossil would be the contents of
the BLOB and DELTA tables without the UNIQUE index on the BLOB.UUID
field.  Comparing the packfile against just the unindexed BLOB table
and the DELTA table, I find that the packfile is 52% larger.

  Git packfile:  86.8MB
  Fossil content tables:  57.1MB

I do not know why this is.  I have put almost no effort toward
optimizing Fossil repositories for size, whereas metrics like
performance and size seem to be driving forces behind Git.
-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to