Annotation of wikisrc/projects/project/pkgsrc_spawn_support.mdwn, revision 1.1

1.1     ! asau        1: [[!template id=project
        !             2: 
        !             3: title="posix_spawn support in bmake and pdksh"
        !             4: 
        !             5: contact="""
        !             6: [tech-pkg](mailto:tech-pkg@NetBSD.org)
        !             7: """
        !             8: 
        !             9: mentors="""
        !            10: [Aleksej Saushev](mailto:asau@NetBSD.org)
        !            11: """
        !            12: 
        !            13: category="pkgsrc"
        !            14: difficulty="easy"
        !            15: duration="3 months"
        !            16: 
        !            17: description="""
        !            18: There exist two ways of launching processes: one is forking them
        !            19: with fork or vfork and replacing the clone with exec-family function,
        !            20: another is spawning process directly with procedures like posix_spawn.
        !            21: Not all platforms implement fork model, and spawn model has its own merits.
        !            22: 
        !            23: pkgsrc relies heavily on launching subprocesses when building software.
        !            24: NetBSD posix_spawn support was implemented in GSoC 2011, it is included
        !            25: in NetBSD 6.0. Now that NetBSD supports both ways, it would be nice to
        !            26: compare the efficiency of both ways of launching subprocesses and measure
        !            27: its effect when using pkgsrc (both in user and developer mode).
        !            28: In order to accomplish that, the following tools should support posix_spawn:
        !            29: devel/bmake, NetBSD base make, shells/pdksh, NetBSD sh, NetBSD base ksh,
        !            30: potentially some other tools (e.g. land/nawk, shells/bash, lang/perl5).
        !            31: 
        !            32: Optionally, MinGW spawn support could be added as well.
        !            33: 
        !            34: The main goal of this project is to support starting processes and
        !            35: subprocesses by posix_spawn in devel/bmake and in shells/pdksh,
        !            36: measure its efficiency and compare it to traditional fork+exec.
        !            37: """
        !            38: ]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb