monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Unix Attributes and Symlinks


From: Daniel Dickinson
Subject: Re: [Monotone-devel] Unix Attributes and Symlinks
Date: Sun, 9 Jul 2006 23:16:14 -0400

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sat, 8 Jul 2006 23:08:03 -0700
Nathaniel Smith <address@hidden> wrote:

> > I'll have to try that, but it's the 'mtn get attr x' and 'mtn set
> > attr x y' that are noticeably slow even on single files (at least a
> > second per file), not the commit itself.
> 
> Okay, yeah, inodeprints won't help with that.  But it's still a bit
> odd; 'attr get' and 'attr set' are both ~0.1s for me here, on
> monotone's tree, which is ~1700 files and ~13 MB (though only the
> former should matter for attr get/set, since it doesn't have to touch
> any file content).  That's still maybe longer than you'd like, of
> course.

What kind of machine? (the machines I've tested are a PII 350 and a
PowerPC 640e @ 160 MHz, as I was originally just planning on
tracking /etc, /boot, etc, no actually doing any development).  I've
got a development workstation I'll be using it on soon.

> It'd be interesting to see a profile of where monotone is spending its
> time on those command, if you happen to have appropriate tools
> available...

Can you make some suggestions?  Later this month/early next month, I
should be able to do some testing, and am willing to install the
necessary tools.

> The real solution is to figure out what extensions would be needed to
> move all of this inside monotone, of course.

Well, I've added lua hooks using attr_init_functions, and they appear
to be working, and much faster than the mtn-add script.  I'll let you
know when I post them on the wiki.  If there were
attr_update_functions that were called on mtn commit, which are passed
(filename, value) and get new-value out (and only affect the commit if
there's a change), we'd be laughing.  It would have been more
convenient if popen were available, but with a helper shell script I've
been able to create execout, which executes a command, redirecting to
temporary file, and reads the output from the temporary file.

Cheers,

Daniel

- -- 
And that's my crabbing done for the day.  Got it out of the way early, 
now I have the rest of the afternoon to sniff fragrant tea-roses or 
strangle cute bunnies or something.   -- Michael Devore

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFEscaGhvWBpdQuHxwRAhqiAJ9bottk3v/0wHFTj4jVfy84ubSpeQCbB2L0
HUxR97A2qSsZJDnuKyST1TE=
=wqG7
-----END PGP SIGNATURE-----

reply via email to

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