Syntactic Confectionery Delight PerlMonks

### Comment on

 Need Help??
Those three parse the same, but the block loops don't parse that way. In fact, there are at least three different ways to do an infinite loop with redo that parse differently... So I modified tye's benchmark, and got:
```#!/usr/bin/perl -w

use strict;
use Benchmark;

timethese( 1000,
{
'0while' => sub { \$_ = 0; while (1)   { \$_++; last if (\$_ == 10000)
+; } },
'0for'   => sub { \$_ = 0; for   (;;)  { \$_++; last if (\$_ == 10000)
+; } },
'0redo1' => sub { \$_ = 0;   { \$_++; redo if     (\$_ <  10000);
+  } },
'0redo2' => sub { \$_ = 0;   { \$_++; redo unless (\$_ == 10000);
+  } },
'0redo3' => sub { \$_ = 0;   { \$_++; last if     (\$_ == 10000); redo
+; } },
'1while' => sub { \$_ = 0; while (1)   { \$_++; last if (\$_ == 10000)
+; } },
'1for'   => sub { \$_ = 0; for   (;;)  { \$_++; last if (\$_ == 10000)
+; } },
'1redo1' => sub { \$_ = 0;   { \$_++; redo if     (\$_ <  10000);
+  } },
'1redo2' => sub { \$_ = 0;   { \$_++; redo unless (\$_ == 10000);
+  } },
'1redo3' => sub { \$_ = 0;   { \$_++; last if     (\$_ == 10000); redo
+; } },
});
__END__
Benchmark: timing 1000 iterations of 0for, 0redo1, 0redo2, 0redo3, 0wh
+ile, 1for, 1redo1, 1redo2, 1redo3, 1while...
0for: 14 wallclock secs (11.43 usr +  0.00 sys = 11.43 CPU)
0redo1: 14 wallclock secs (11.62 usr +  0.00 sys = 11.62 CPU)
0redo2: 15 wallclock secs (12.68 usr +  0.00 sys = 12.68 CPU)
0redo3: 15 wallclock secs (12.36 usr +  0.00 sys = 12.36 CPU)
0while: 14 wallclock secs (11.48 usr +  0.00 sys = 11.48 CPU)
1for: 13 wallclock secs (11.40 usr +  0.00 sys = 11.40 CPU)
1redo1: 14 wallclock secs (11.63 usr +  0.00 sys = 11.63 CPU)
1redo2: 14 wallclock secs (11.54 usr +  0.00 sys = 11.54 CPU)
1redo3: 15 wallclock secs (12.36 usr +  0.01 sys = 12.37 CPU)
1while: 14 wallclock secs (11.42 usr +  0.00 sys = 11.42 CPU)
I don't know why the difference in times between the first run and the second...

In reply to RE: RE: (tye)RE: The Best Infinite Loop by BlaisePascal
in thread The Best Infinite Loop by zdog

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

• Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
• Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
• Read Where should I post X? if you're not absolutely sure you're posting in the right place.
• Posts may use any of the Perl Monks Approved HTML tags:
a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
• You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
 For: Use: & & < < > > [ [ ] ]
• Link using PerlMonks shortcuts! What shortcuts can I use for linking?

Create A New User
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2018-04-22 23:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My travels bear the most uncanny semblance to ...

Results (84 votes). Check out past polls.

Notices?