All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacques-Charles Lafoucriere <jacques-charles.lafoucriere@cea.fr>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] Language choice for Lustre tests
Date: Tue, 23 Oct 2012 21:39:49 +0200	[thread overview]
Message-ID: <5086F285.6000809@cea.fr> (raw)
In-Reply-To: <9E235E88-FAD1-44BF-A4DC-12A5801E0467@xyratex.com>

hello all

I personally always had difficulties with perl ...
the code is generally very hard to read, and the language brings very 
quickly to tricky optimization only experts understood
python is a more generic language, very easy to learn and if we make the 
right basic object definitions, it will help a lot for future 
improvement and code structure
at CEA our admin tools like shine or cluster-shell are python based and 
this choice allows us in getting scallable/reliable tools
For example, the initial version of shine (~6 years ago) was perl based 
and we were pleased to move to python for the new design

The target is lustre developers (ie kernel developers), it will be much 
easier for them to learn python than perl.
it will also be easier for them to get the right "python" way of 
programming than the right "perl" way of programming
(in both cases the worst way is to use the new language as bash, which 
can arrive much quickly with perl than with python)

about python, what do you mean by non standard installation ?
if your python configuration is right, the local differences should be 
hidden to the test framework

Bye

JC

On 10/23/2012 08:36 PM, Nathan Rutman wrote:
> 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...)
>
> requirements
> 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
> options
> 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.
> parallel::MPI
> ~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
>
>
> http://silicainsilico.wordpress.com/2012/03/26/switching-from-perl-to-python-speed/
> http://tenser.typepad.com/tenser_said_the_tensor/2006/08/python_vs_perl_.html
> http://opennomad.com/content/performance-different-scripting-languages-shell-v-perl-v-python-v-ruby
> http://hentenaar.com/serendipity/index.php?/archives/27-Benchmark-PHP-vs.-Python-vs.-Perl-vs.-Ruby.html
>
>
>
>
> _______________________________________________
> Lustre-devel mailing list
> Lustre-devel at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-devel

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

  reply	other threads:[~2012-10-23 19:39 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-23 18:36 [Lustre-devel] Language choice for Lustre tests Nathan Rutman
2012-10-23 19:39 ` Jacques-Charles Lafoucriere [this message]
2012-10-23 20:31   ` [Lustre-devel] [lustre-devel] " Bruce Korb
2012-10-24  6:31   ` [Lustre-devel] " Roman Grigoryev
2012-10-24  7:18     ` Kilian Cavalotti
2012-10-24  8:44       ` Roman Grigoryev
2012-10-24 16:30         ` DEGREMONT Aurelien
2012-10-24 20:32           ` [Lustre-devel] [lustre-devel] " Christopher J. Morrone
2012-10-23 20:05 ` [Lustre-devel] " Kilian Cavalotti
  -- strict thread matches above, loose matches on Subject: below --
2012-10-24 20:02 Gearing, Chris
2012-10-24 22:05 ` Nathan Rutman
2012-10-24 22:09   ` Colin Faber
2012-10-25 17:23   ` Brian Behlendorf
2012-10-25 18:04     ` Nathan Rutman
2012-10-25 21:17       ` Prakash Surya
2012-10-25 21:36         ` Nathan Rutman
2012-10-25 21:50           ` Nathan Rutman
2012-10-25 22:13           ` Prakash Surya
2012-10-25 22:19     ` Roman Grigoryev
2012-10-25 18:20   ` Gearing, Chris
2012-10-25 19:24     ` Nathan Rutman
2012-10-25 21:13       ` Christopher J. Morrone
2012-10-25 21:28         ` Nathan Rutman
2012-10-25 21:52           ` Prakash Surya
2012-10-26  6:24             ` Kilian Cavalotti
2012-10-26  8:52               ` Roman Grigoryev
2012-10-26 11:53                 ` Kilian Cavalotti
2012-10-25 18:38 Gearing, Chris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5086F285.6000809@cea.fr \
    --to=jacques-charles.lafoucriere@cea.fr \
    --cc=lustre-devel@lists.lustre.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.