Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.perl.misc > #8669

Re: this should work

From Rainer Weikusat <rweikusat@mssgmbh.com>
Newsgroups comp.lang.perl.misc
Subject Re: this should work
Date 2013-07-11 18:48 +0100
Message-ID <87k3kxasym.fsf@sapphire.mobileactivedefense.com> (permalink)
References (1 earlier) <100720131549354102%jimsgibson@gmail.com> <87a9ltqw5i.fsf@sapphire.mobileactivedefense.com> <5ri2ba-85p1.ln1@anubis.morrow.me.uk> <87li5dclp5.fsf@sapphire.mobileactivedefense.com> <3q63bax8mr.ln2@goaway.wombat.san-francisco.ca.us>

Show all headers | View raw


Keith Keller <kkeller-usenet@wombat.san-francisco.ca.us> writes:
> On 2013-07-11, Rainer Weikusat <rweikusat@mssgmbh.com> wrote:
>>
>> In this case, this would be transforming the
>>
>> for (...) {
>> 	my $tmp = 'ar!';
>> }
>>
>> to
>>
>> my $tmp;
>> for (...) {
>> 	$tmp = 'ar!';
>> }
>>
>> because the 'my $tmp' is invariant code: It's effective result never
>> changes throughout the loop.
>
> This strikes me as premature optimization.

'Premature optimization' is a term which originally referred to the idea
of trying to write an 'optimal' machine-language programming 'from the
start', instead of concentrating on writing a working machine-language
program first and then - possibly - transform that into an
also-working but faster machine-language program and this in the
context of highly 'irregular' CISC-architecture as they were (still)
common in the 1970s where a lot of relatively 'bizarre' ways to
perform semantically identical operations in different ways actually
existed and it makes a hell lot of sense in this context.

It was never meant to be a universal justification for "But I don't
want to think about that!" and certainly also not for "But I don't
want to change my habits!"

> Unless I know my program is
> spending too much time doing my $tmp = 'ar!'; inside the for loop, I
> would much prefer to keep $tmp properly scoped and initialized inside
> the loop.

It is 'properly scoped' in the second example because the variable
stays (logically) alive for as long as it is going to be used and
'improperly scoped' in the first because (again, logically) it keeps
being destroyed and recreated (this is supposed to be a demonstration
that 'proper' means nothing on its own).

Unless you are having a serious out of memory problem,
'micro-optimizing' your code such that each object has the shortest
possible livetime can also be considered 'a premature optimization',
especially as it might not even help, as in this example.

Back to comp.lang.perl.misc | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

this should work "George Mpouras" <nospam.gravitalsun.antispam@spamno.hotmail.anispam.com.nospam> - 2013-07-11 01:08 +0300
  Re: this should work Jim Gibson <jimsgibson@gmail.com> - 2013-07-10 15:49 -0700
    Re: this should work George Mpouras <nospam.gravitalsun.noadsplease@hotmail.noads.com> - 2013-07-11 09:42 +0300
      Re: this should work tmcd@panix.com (Tim McDaniel) - 2013-07-11 08:02 +0000
        Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-11 12:45 +0100
          Re: this should work George Mpouras <nospam.gravitalsun.noadsplease@hotmail.noads.com> - 2013-07-11 15:03 +0300
            Re: this should work "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2013-07-11 14:52 +0200
              Re: this should work George Mpouras <nospam.gravitalsun.noadsplease@hotmail.noads.com> - 2013-07-11 16:01 +0300
                Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 14:29 +0100
        Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 14:27 +0100
          Re: this should work Peter Makholm <peter@makholm.net> - 2013-07-11 15:50 +0200
      Re: this should work Jürgen Exner <jurgenex@hotmail.com> - 2013-07-11 03:34 -0700
        Re: this should work George Mpouras <nospam.gravitalsun.noadsplease@hotmail.noads.com> - 2013-07-11 13:55 +0300
          Re: this should work Peter Makholm <peter@makholm.net> - 2013-07-11 13:57 +0200
          Re: this should work Shmuel (Seymour J.) Metz <spamtrap@library.lspace.org.invalid> - 2013-07-11 09:10 -0400
            Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-11 21:35 +0100
    Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 10:32 +0100
      Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-11 12:51 +0100
        Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 13:42 +0100
          Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-11 16:23 +0100
            Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 17:17 +0100
              Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 18:08 +0100
              Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-11 21:48 +0100
          Re: this should work Keith Keller <kkeller-usenet@wombat.san-francisco.ca.us> - 2013-07-11 10:32 -0700
            Re: this should work Jürgen Exner <jurgenex@hotmail.com> - 2013-07-11 10:48 -0700
              Re: this should work "George Mpouras" <nospam.gravitalsun.antispam@spamno.hotmail.anispam.com.nospam> - 2013-07-11 21:38 +0300
              Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 23:08 +0100
            Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 18:48 +0100
              Re: this should work Charles DeRykus <derykus@gmail.com> - 2013-07-11 12:03 -0700
                Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-11 22:02 +0100
                Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 23:06 +0100
                Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-12 01:04 +0100
                Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-15 13:41 +0100
                Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-15 14:07 +0100
                Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-15 15:05 +0100
                Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-15 21:02 +0100
                Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-15 23:58 +0100
                Re: this should work tmcd@panix.com (Tim McDaniel) - 2013-07-15 17:23 +0000
                Re: this should work Charlton Wilbur <cwilbur@chromatico.net> - 2013-07-15 15:40 -0400
              Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-11 21:58 +0100
                Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-11 23:17 +0100
                [OT] scoping Ivan Shmakov <oneingray@gmail.com> - 2013-07-12 07:50 +0000
                Re: [OT] scoping aka 'new holes in old shoes' Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-12 11:53 +0100
                [OT] engineering Ivan Shmakov <oneingray@gmail.com> - 2013-07-15 11:37 +0000
                Re: [OT] engineering Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-16 21:49 +0100
                Re: [OT] engineering Ivan Shmakov <oneingray@gmail.com> - 2013-07-17 09:27 +0000
                Re: [OT] engineering Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-17 15:53 +0100
                Re: [OT] engineering Ivan Shmakov <oneingray@gmail.com> - 2013-07-22 10:36 +0000
                Re: [OT] engineering Shmuel (Seymour J.) Metz <spamtrap@library.lspace.org.invalid> - 2013-07-23 06:43 -0400
                Re: [OT] engineering Ivan Shmakov <oneingray@gmail.com> - 2013-07-22 10:38 +0000
                Re: [OT] engineering Rui Maciel <rui.maciel@gmail.com> - 2013-07-26 10:09 +0100
                Re: [OT] scoping "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2013-07-12 14:58 +0200
                Re: [OT] scoping Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-12 15:50 +0100
                Re: [OT] scoping Shmuel (Seymour J.) Metz <spamtrap@library.lspace.org.invalid> - 2013-07-12 13:34 -0400
                Re: [OT] scoping Ben Morrow <ben@morrow.me.uk> - 2013-07-12 22:04 +0100
                Re: [OT] scoping Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-13 13:13 +0100
                Re: [OT] scoping John Black <jblack@nospam.com> - 2013-07-13 20:01 -0500
                Re: [OT] scoping Ben Morrow <ben@morrow.me.uk> - 2013-07-14 03:24 +0100
                Re: [OT] scoping "Dr.Ruud" <rvtol+usenet@xs4all.nl> - 2013-07-14 10:49 +0200
                Re: [OT] scoping Ben Morrow <ben@morrow.me.uk> - 2013-07-14 13:13 +0100
                Re: [OT] scoping "Dr.Ruud" <rvtol+usenet@xs4all.nl> - 2013-07-14 17:02 +0200
                Re: [OT] scoping Ben Morrow <ben@morrow.me.uk> - 2013-07-14 22:21 +0100
                Re: [OT] scoping "Dr.Ruud" <rvtol+usenet@xs4all.nl> - 2013-07-15 02:21 +0200
                Re: [OT] scoping Xho Jingleheimerschmidt <xhoster@gmail.com> - 2013-07-14 17:04 -0700
                Re: [OT] scoping Ben Morrow <ben@morrow.me.uk> - 2013-07-15 14:12 +0100
                Re: [OT] scoping tmcd@panix.com (Tim McDaniel) - 2013-07-14 15:11 +0000
                Re: [OT] scoping "Dr.Ruud" <rvtol+usenet@xs4all.nl> - 2013-07-14 17:34 +0200
                Re: [OT] scoping Xho Jingleheimerschmidt <xhoster@gmail.com> - 2013-07-14 15:34 -0700
                Re: [OT] scoping Ben Morrow <ben@morrow.me.uk> - 2013-07-15 14:27 +0100
                Re: [OT] scoping John Black <jblack@nospam.com> - 2013-07-14 23:48 -0500
                Re: [OT] scoping Martijn Lievaart <m@rtij.nl.invlalid> - 2013-07-13 12:14 +0200
      Re: this should work David Harmon <source@netcom.com> - 2013-07-11 10:02 -0700
        Re: this should work Ben Morrow <ben@morrow.me.uk> - 2013-07-11 22:04 +0100
          Re: this should work David Harmon <source@netcom.com> - 2013-07-12 09:34 -0700
            Re: this should work Rainer Weikusat <rweikusat@mssgmbh.com> - 2013-07-12 18:16 +0100
        Re: this should work "Dr.Ruud" <rvtol+usenet@xs4all.nl> - 2013-07-12 15:44 +0200
          Re: this should work David Harmon <source@netcom.com> - 2013-07-12 15:53 -0700
  Re: this should work Shmuel (Seymour J.) Metz <spamtrap@library.lspace.org.invalid> - 2013-07-11 09:14 -0400
    Re: this should work "George Mpouras" <nospam.gravitalsun.antispam@spamno.hotmail.anispam.com.nospam> - 2013-07-11 19:45 +0300

csiph-web