DPS Initial Ideas
'Michel Talon'
talon at lpthe.jussieu.fr
Mon May 14 19:39:31 UTC 2007
On Mon, May 14, 2007 at 05:48:38PM +0100, Tom Evans wrote:
> On Mon, 2007-05-14 at 10:25 +0200, 'Michel Talon' wrote:
> > Where is this huge increase in size?
> > Admittedly, i have not created indexes, etc.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
> > Compare this to the portsdb created by portupgrade from the same INDEX-6
> >
> > niobe% ls -lh /usr/ports/INDEX-6.db
> > -rw-r--r-- 1 root wheel 21M 16 fév 13:36 /usr/ports/INDEX-6.db
> >
> > Surprise, surprise, the BerkeleyDB suddenly appears less glorious.
>
> Your index has no indices, and you wonder why it is smaller?
I am really tired answering questions about straw man,
misrepresentations of my position, and so on. I don't advocate using
XML, nor java, nor java tools nor anything of this sort. I am only
claiming that SQLite does a better job than a BerkeleyDB for the
precise mission that it seems the BerkeleyDB is programmed in the SOC.
As to the question of indices i am the one who pointed out there are no
indices, so there is little merit inventing this new objection.
Moreover the objection is completely bogus, because SQLite creates the
index in memory. After the following command
sqlite> create index path_ind on index6(path);
(i have created an index on origins, the only question of interest)
the size of the database doesn't change at all! It remains twice smaller
than the BerkeleyDB. But the memory consumption augments. here are the
values before and after creation of index:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
michel 1174 0,0 0,2 2984 2324 p2 I+ 21:03 0:00,01 sqlite3
michel 1174 0,0 0,6 6728 6068 p2 S+ 21:03 0:00,34 sqlite3
By the way, i don't concern myself with the problem of accelerating
package registration or similar stuff. Indeed most of these problems
can easily be solved by some optimizations in the makefile and
parallelism.
The true problem, as Kris said, is the problem of upgrading an
installation in a reasonable time -that is, not several days- and with
*total* reliability. None of present FreeBSD tools do that, while it is
common place with Debian. This is an extremely difficult problem
in the FreeBSD context as des said, and i am certainly not able to solve
it. But at least i have researched the question and written some code.
It is perfectly obvious that most of the bikesheds in this thread are
due to perfect ignorance of the subject, which could be remedied
reading:
http://www.lpthe.jussieu.fr/~talon/freebsdports.html
and the small SQLite documentation at:
http://www.sqlite.org/lang.html
--
Michel TALON
More information about the freebsd-hackers
mailing list