monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Re: Support for binary files, scalability and Windows p


From: graydon hoare
Subject: [Monotone-devel] Re: Support for binary files, scalability and Windows port
Date: Mon, 12 Jan 2004 14:29:11 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Asger Ottar Alstrup wrote:

Does monotone support binary files? Also, does the CVS conversion script
support binary files?

yes to #1, not yet to #2.

Secondly, does monotone scale well? Does it handle files bigger than
50MB, and can it handle archives that are several GB big?

not yet to #1 (current limit on files is 2^24 bytes = 16mb), yes to #2 (current database limit is 2^41 bytes, I think). there are also some scalability issues with very large history graphs (gcc's entire history can be imported, but operations are slow) and very large file trees (sha1 hashing every file in a multi-gigabyte tree takes a while).

And, does monotone work on Windows?

not yet, but it's designed to be portable to there.

Finally, if monotone is weak in these areas, how much effort do you
think it requires to do these things? Depending on how much work it
takes, we might be able to allocate some resources to improve these
areas.

none of them are particularly hard, I just only have evenings and weekends, and there's a lot of stuff on the to-do list. I'd guess, assuming a decent C++ skill set and a few days spent gaining familliarity with the code and design, the efforts are like this:

  - support binary files on CVS import: 1 person-week. probably involves
    some small changes to rcs_file.cc and rcs_import.cc, nothing major,
    but those files are a little hairy.

  - support ~2^32 byte files (rather than current 2^24): 1 person-week.
    all work is in sqlite/*, and is plain ANSI C. I have a partial patch
    sitting around which gets about half of this done, but there are
    some cases in the database virtual machine which aren't handled,
    and I'd want to talk to the sqlite author about it to be sure,
    maybe have it folded in upstream.

  - port to windows: 1-4 person-weeks. could be as simple as doing a
    configure with a cygwin toolchain, could be uglier if either you
    don't like cygwin, or cygwin doesn't work, or there are windows
    peculiarities I haven't insulated against.

-graydon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]