-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Mike McGrath wrote:
On Sun, 25 Oct 2009, Ben Boeckel wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Hi,
>
> I am working on a project designed to mirror large, changing archives of
> software in a manner that ensures data integrity and atomic updates using a
> peer-to-peer protocol.
>
> My team and I would like to design this software such that it provides a
> suitable replacement for rsync. As Fedora is among the leading
> distributions, I would like to solicit your opinions on the implementation.
> We have designed much of the architecture, but have not implemented anything
> yet. One issue we wish to address currently is that of interpreted vs.
> compiled languages.
>
> My team and I would like to know whether the community would be accepting of
> such a project (which includes a daemon) if it were written in Python rather
> than C or C++. If so, it would greatly simplify the implementation and
> allow it to be more robust. Python's built-in libraries and facilities
> provide much of the path and network manipulation that the daemon requires.
> Using the Python standard libraries allows us to rely upon a well-tested
> base and focus on higher-level issues.
>
> What are your opinions, as system administrators, on using Python for
> long-running daemon processes when the developers are explicitly mindful of
> memory considerations?
>
I've generally had better luck with C/C++ based daemons from a systems
admin point of view. But we've used plenty of python based daemons that
worked just fine. I think the problem is the lower barrier to using
python means it's easier for less experienced developers to create python
daemons.
Really though, if it's done right, python daemons can be just as good as C
daemons. And extending Python is very easy as you mentioned with using
pythons built in libraries. If you're concerned about performance though
it shouldn't take much to do the basics of what you want and compare C to
python. Sometimes they're identical, sometimes C wins but I don't think
I've seen python win yet (with performance). But it is much easier to
work with python :)
-Mike
Thanks for your reply.
Seeing as it is a mirroring daemon, the network is the bottleneck. If it isn't
then either you're sitting next door, our implementation is bad, or the
hardware shouldn't be a mirror in the first place.
- --Ben
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iQIcBAEBCAAGBQJK5NUuAAoJEKaxavVX4C1XwboQANvsgFvNHSuYUFGNT6Vze/4u
fCxzohcTnM+UosCEKDbSzknVlPhcoRGq71Lm1bju/Spsr8o1VHy18a5+nlEv7FlE
icyo/J1ls7diWDMnA/zkoadQUlzg2nb5qpxV5jZVCrNWf3oDmxGuTLb1f9KlucQV
Z2gROXyJw9ALvZJ+nY3HYE5MEBa/w44RkS/HoE0PDFeToMufnv728JXJ6AE3dTVs
IEIq9EBhFZ/wqvEShdoz/UqmVTx7Y9CfD/31PN5yat9eGPaomXrN9jaG4LB4l2sV
A2TuaV0lC+qy6woScnIC0WMfREc5QHxQLXag9L8DOJN/nnRCV3fKKFxY3zW8xK92
cIDhUqjWWXDBc5kAuxwyId5UpKD3KJmd8ZoyGNwuYGdEff96thiAOurKIYpmKjXK
r8eI5BarfyeELOvMo5sb4vi1WEpzxQN+xjsrUGEM3BtvXy7+rsIwkpUkL20/5gYG
HYDo3xQG0ya1XX27Tm6+pbORoWW6YjhgJ8JN+acNAiopLP2P04/ErLyC4Jvga4+u
G1FSd8hvv9gz3I2uDf98PD/npye2yj/w/gWPwofPI5Ono9mJIPCHPzD89WinFYE8
BARSfJaWhNv1tM6BffpRg51t1w4D82ulVWdPMRs5224HlRSozoaoVLkMYcRWEL+O
q+mTgi/7jKZ31pEjwxqV
=PF8I
-----END PGP SIGNATURE-----