Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Ilia Vinokurov                       2:5020/400     17 Nov 2003  14:18:43
 To : Yury Kopyl
 Subject : Re: Производительность ООП
 -------------------------------------------------------------------------------- 
 
 Hello, Yury!
 You wrote to Ilia Vinokurov on Mon, 17 Nov 2003 09:44:38 +0000 (UTC):
 
  IV>> Hello, All!
 
  IV>> Возникла чуднАя мысль по поводу того, что программа, написанная в
  IV>> стиле ООП, будет работать медленнее аналога, написанного в старом
  IV>> стиле. Аргумент - Объекты строятся на хэше и т.п., который в
  IV>> принципе работает медленнее скаляров.
 
  YK> Читать Perl Object Programming. Проблессить можно любой тип переменных,
  YK> даже регулярные выражения.
 
 Это понятно. Хэш был выбран в качестве самого популярного решения :-)
 
  IV>> Обращаясь к свойствам  объекта, мы все время осуществляем поиск в
  IV>> хэше, что должно сказаться на производительности.
 
  IV>> Каков ваш опыт ?
 
  YK> Взять железку помощнее.
 
 А что делать, если железки помощнее нету
 (не предлагать перебираться на Mac или AS400),
 а colocation кластерного решения слишком дорог ?
 
 Мораль следующая - быстрые алгоритмы еще никому
 не мешали :-)
 
 От нечего делать написал прогу:
 ------------------- Файл Test.pl -----------------------------
 #!/usr/bin/perl -w
 use Benchmark;
 use TestOld;
 use TestOOP;
 use TestOOP2;
 my $op = TestOOP->new();
 my $op2 = TestOOP2->new();
 print timethis (100, sub { TestOld::testsub() }), "\n";
 print timethis (100, sub { $op->testsub() }), "\n";
 print timethis (100, sub { $op2->testsub() }), "\n";
 ---------------------------------------------------------------
 
 Результаты:
 timethis 100: 12 wallclock secs (11.78 usr +  0.00 sys = 11.78 CPU) @
 8.49/s (n=100)
 timethis 100: 35 wallclock secs (28.58 usr +  0.00 sys = 28.58 CPU) @
 3.50/s (n=100)
 timethis 100: 28 wallclock secs (24.33 usr +  0.00 sys = 24.33 CPU) @
 4.11/s (n=100)
 
 Как видно из тестов - разница в два раза, что, несомненно, печально.
 
 ------------------- Файл TestOld.pm -----------------------------
 package TestOld;
 my $var = 0;
 sub testsub{
   for( my $i=1; $i<100000; $i++ ){
     $var = $i;
     $var = $var/$var;
   };
 };
 1;
 
 ------------------- Файл TestOOP.pm -----------------------------
 package TestOOP;
 sub new{
   my $class = shift;
   my $self = bless {}, $class;
   $self->{'var'} = 0;
   return $self;
 };
 sub testsub{
   my $self = $_[0];
   for( my $i=1; $i<100000; $i++ ){
     $self->{'var'} = $i;
     $self->{'var'} = $self->{'var'}/$self->{'var'};
   };
 };
 1;
 
 ------------------- Файл TestOOP2.pm -----------------------------
 package TestOOP2;
 sub new{
   my $class = shift;
   my $self = bless [], $class;
   $self->[0] = 0;
   return $self;
 };
 sub testsub{
   my $self = $_[0];
   for( my $i=1; $i<100000; $i++ ){
     $self->[0] = $i;
     $self->[0] = $self->[0]/$self->[0];
   };
 };
 1;
 ----------------------------------------------------------------
 
 With best regards, Ilia Vinokurov1771273003.  E-mail: ilvin@teleserv.ru
 --- ifmail v.2.15dev5.1
  * Origin: Comcor (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Производительность ООП   Ilia Vinokurov   14 Nov 2003 18:21:05 
 Re: Производительность ООП   Sergey Leschenko   14 Nov 2003 18:26:08 
 Re: Производительность ООП   Ilia Vinokurov   14 Nov 2003 18:28:17 
 Re: Производительность ООП   Konstantin Tokar   14 Nov 2003 18:56:30 
 Re: Производительность ООП   Artem Chuprina   14 Nov 2003 18:33:58 
 Re: Производительность ООП   Ilia Vinokurov   14 Nov 2003 18:39:08 
 Re: Производительность ООП   Ilia Vinokurov   14 Nov 2003 18:41:22 
 Re: Производительность ООП   Artem Chuprina   14 Nov 2003 20:12:48 
 Re: Производительность ООП   Sergey Skvortsov   14 Nov 2003 19:00:11 
 Производительность ООП   Timur Vafin   14 Nov 2003 19:49:58 
 Re: Производительность ООП   Denis Poznyakov   14 Nov 2003 20:10:47 
 Re: Производительность ООП   Timur Vafin   14 Nov 2003 20:29:54 
 Re: Производительность ООП   Denis Poznyakov   18 Nov 2003 12:06:27 
 Re: Производительность ООП   Timur Vafin   18 Nov 2003 21:05:46 
 Re: Производительность ООП   Yury Kopyl   18 Nov 2003 22:32:01 
 Re: Производительность ООП   Denis Poznyakov   19 Nov 2003 20:06:33 
 Re: Производительность ООП   Yury Kopyl   17 Nov 2003 13:44:38 
 Re: Производительность ООП   Ilia Vinokurov   17 Nov 2003 14:18:43 
 Re: Производительность ООП   Yury Kopyl   17 Nov 2003 15:17:14 
 Re: Производительность ООП   Konstantin Stupnik   17 Nov 2003 15:25:40 
 Re: Производительность ООП   Ilia Vinokurov   19 Nov 2003 11:52:22 
 Re: Производительность ООП   Konstantin Stupnik   19 Nov 2003 12:37:50 
 Re: Производительность ООП   Serge Chervjakov   19 Nov 2003 13:16:27 
 Re: Производительность ООП   Ilia Vinokurov   19 Nov 2003 13:43:57 
 Re: Производительность ООП   Ivan Frolcov   19 Nov 2003 16:09:37 
 Re[2]: Производительность ООП   Mikhail Polykovsky   19 Nov 2003 16:56:53 
 Re: Производительность ООП   Serge Chervjakov   19 Nov 2003 19:58:37 
 Re: Производительность ООП   Ivan Frolcov   20 Nov 2003 12:02:57 
 Производительность ООП   Denis Knyazev   22 Nov 2003 00:38:49 
 Re: Производительность ООП   Alexey Mahotkin   20 Nov 2003 00:26:56 
 Re: Производительность ООП   Ivan Frolcov   20 Nov 2003 11:52:54 
 Re: Производительность ООП   Yury Kopyl   20 Nov 2003 12:54:40 
 Re: Производительность ООП   Ilia Vinokurov   20 Nov 2003 15:35:26 
 Re: Производительность ООП   Alexey Mahotkin   21 Nov 2003 00:40:24 
 Re: Производительность ООП   Ivan Frolcov   21 Nov 2003 12:25:49 
 Re: Производительность ООП   Ilia Vinokurov   21 Nov 2003 12:55:50 
 Re: Производительность ООП   Nick Kostirya   21 Nov 2003 13:41:16 
 Re: Производительность ООП   Ivan Frolcov   21 Nov 2003 13:54:15 
 Re: Производительность ООП   Konstantin Tokar   21 Nov 2003 14:16:07 
 Re: Производительность ООП   Ivan Frolcov   21 Nov 2003 15:26:14 
 Re: Производительность ООП   Konstantin Tokar   21 Nov 2003 17:17:36 
 Re: Производительность ООП   Ivan Frolcov   21 Nov 2003 17:58:09 
 Re: Производительность ООП   Konstantin Tokar   21 Nov 2003 18:25:44 
 Re: Производительность ООП   Ivan Frolcov   21 Nov 2003 19:04:18 
 Re: Производительность ООП   Artem Chuprina   21 Nov 2003 14:21:32 
 Re: Производительность ООП   Ivan Frolcov   21 Nov 2003 15:26:58 
 Производительность ООП   Alexander Temerev   19 Nov 2003 22:12:51 
 Re: Производительность ООП   Konstantin Tokar   19 Nov 2003 23:10:13 
 Производительность ООП   val khokhlov   20 Nov 2003 13:40:48 
 Производительность ООП   Denis Knyazev   22 Nov 2003 00:44:45 
 Re: Производительность ООП   Ilia Vinokurov   26 Nov 2003 12:45:28 
 Re: Производительность ООП   Artem Chuprina   26 Nov 2003 14:04:43 
 Re: Производительность ООП   Ilia Vinokurov   19 Nov 2003 13:39:15 
 Re: Производительность ООП   Artem Chuprina   19 Nov 2003 14:19:38 
 Re: Производительность ООП   Ilia Vinokurov   19 Nov 2003 14:41:10 
 Re: Производительность ООП   Artem Chuprina   19 Nov 2003 15:34:25 
 Re: Производительность ООП   Ilia Vinokurov   19 Nov 2003 16:28:03 
 Re: Производительность ООП   Artem Chuprina   19 Nov 2003 21:08:41 
 Re: Производительность ООП   Ilia Vinokurov   20 Nov 2003 15:18:46 
 Re: Производительность ООП   Artem Chuprina   20 Nov 2003 17:37:01 
 Re: Производительность ООП   Ilia Vinokurov   21 Nov 2003 12:31:28 
 Re: Производительность ООП   Artem Chuprina   21 Nov 2003 14:16:07 
 Re: Производительность ООП   Ilia Vinokurov   21 Nov 2003 15:00:58 
 Производительность ООП   Andrew Alakozow   19 Nov 2003 19:33:25 
 Re: Производительность ООП   Alexey Mahotkin   18 Nov 2003 11:44:08 
 Re: Производительность ООП   Ilia Vinokurov   18 Nov 2003 13:08:44 
 Re: Производительность ООП   Alexey Mahotkin   18 Nov 2003 23:59:41 
 Re: Производительность ООП   Ilia Vinokurov   19 Nov 2003 11:50:51 
 Re: Производительность ООП   …. Љ®ў «м   19 Nov 2003 13:01:26 
 Re: Производительность ООП   Sergey Skvortsov   19 Nov 2003 14:12:54 
 Re: Производительность ООП   Ilia Vinokurov   19 Nov 2003 14:54:19 
Архивное /ru.perl/7808f91e00c3.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional