|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 14 Jan 2003 21:51:55 To : Eugene Bodin Subject : Re: map -------------------------------------------------------------------------------- Eugene Bodin wrote: > Hello Alexey, > "Alexey Mahotkin" <alexm@hsys.msk.ru> wrote: > AM> Заботиться об эффективности в языке, в котором конструкция > AM> $x = 1; > AM> $x = 2; > AM> $x = 3; > AM> выполняется в три раза медленнее, чем конструкция > AM> $x = 3; > AM> бессмысленное занятие. > > А почему первая конструкция не должна выполняться медленнее > (при том, что их действие может быть разным)? > Разруха, как известно, - не в клозетах, а в головах - > если программист так написал, значит у него были для этого причины > (а если не было - то оптимизацию надо начинать с него). > > Пример, навеянный конструкцией "$a[] = 1; $a[] = 2;" из PHP. > > ---начало--- > #!/usr/bin/perl > use strict; > package TestTie; > sub TIESCALAR{ .... Хрен с ними, с TIED переменными. В динамическом языке нельзя быть уверенным ни в чем, даже в константах. ------------ begin ------------ use overload; BEGIN { my $count = 0; overload::constant integer => sub { sleep($_[0] - ++$count); "const($count) is $_[0]" } }; my $x; $x = 1; $x = 2; $x = 3; print $x, "\n"; ------------- END --------------- Андрей P.S. Hе следует считать этот пример руководством по стилю написания программ на Perl. P.P.S. Данный пример опровергает утверждение о том, что: $x = 1; $x = 2; $x = 3; будет выполняться дольше чем: $x = 3; :-) --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577e944a9a1.html, оценка из 5, голосов 10
|