[Lustre-devel] Language choice for Lustre tests

Nathan Rutman nathan_rutman at xyratex.com
Tue Oct 23 11:36:02 PDT 2012

At LAD'12 we proposed a plan for improving the Lustre test framework as an important part of the Lustre quality story.  One of the discussion points there was that the bash language of the current tests was lacking in a variety of areas.  We're moving forward with this work but need community agreement on the best course.  

Given the requirements and language options below, the reasonable choices rapidly diminish to a showdown between perl and python.  I think we're leaning at this point toward perl, based on it's superior speed and inter-version compatibility.  The final piece of the puzzle is the knowledge of existing Lustre test writers, so please chime in.  (But note that "popularity" is the reason we chose bash the first time, and look where that got us...)

		1. easy to use
		2. strict structure
		3. universally available
		4. widely maintained
		5. widely understood
		6. good filesystem interface: posix API
		7. fast - replace e.g. createmany with embedded function
		8. operate remote instances
		9. inter-version compatibility
		bash - capable, but too flexible, easy to abuse
		perl - forward compatible, universal, more widely understood, xperior, compact; hard to read later
			posix::open, opendir, lseek, etc.
			~2x faster than python
			more version compatible
		python - very clear structure, swig module for c inclusion; non-standard installations, support
			os.open: all c flags	
			MPI bindings
			tab/space requirements make remote editing more difficult
		cucumber - ruby based, difficult deployment
		java - easy deployment, dev environ, debugger, fast; must compile
		ruby - compact


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20121023/3ba94dff/attachment.htm>

More information about the lustre-devel mailing list