launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #04614
Forking 'bzr lp-serve'
-
To:
Launchpad Community Development Team <launchpad-dev@xxxxxxxxxxxxxxxxxxx>
-
From:
John Arbash Meinel <john@xxxxxxxxxxxxxxxxx>
-
Date:
Tue, 14 Sep 2010 15:26:33 -0500
-
User-agent:
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
So I've finally gotten the end-to-end code working, such that 'ssh lp
bzr serve ...' can actually use a daemon which preloads some python
libraries, forks for each request, and doesn't re-exec.
lp:~jameinel/launchpad/lp-service
I think there is still a fair number of cleanup passes necessary, but I
think for all of that I'm going to need a bit of help. Stuff like "where
should I be putting the log files", etc.
As such, what is the best way to progress forward? Put it up as a merge
request? Get someone to pair with me for a little while to have a quick
turn around for all those little questions?
Times for 'echo hello | ssh localhost -p 5022 bzr serve'
2.5s baseline
0.8s without twisted conch and 'lp-serve'
0.6s 'ssh localhost /bin/false' (openssh)
0.25s with forking
So at this point, connecting to the 'lp' service is faster than running
against openssh and spawning bzr directly. And, in general, it looks to
shave most of the connection overhead. (The 250ms seems to be mostly
fork() time, as lsprof only sees about 50ms in the client.)
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkyP2nkACgkQJdeBCYSNAAPyUACgjfOUxyPynntRbOUUtxB7YfvS
9ysAoLKjM1jPsIZaNEGQ6J6aPFerC0XC
=yt1n
-----END PGP SIGNATURE-----
Follow ups