Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Bench perl-python-php-C#  (Прочитано 8982 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alexander.pronin

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Bench perl-python-php-C#
« : 19 Мая 2010, 13:57:38 »
Меня заинтересовал вопрос сравнения производительности межплатформенных языков при организации клиент-серверных решений. Для этих операций характерны операции пересылок в памяти ( для подготовки буферов передачи или раскидывания принятой информации из буфера по соответствующим структурам) и собственно ввод-вывод.
Что осталось за кадром.
- Арифметические операции с плавающими точками и многое другое остались вне рассмотрения.
- Java.
Если Вас интересуют эти вопросы, то можно дополнить эти тесты. Все исходные тексты приведены ниже.
Если у Вас появятся собственные данные тестов, помещайте логи. Это будет всем интересно.

Выдержки из логов.
Процессор Celeron 3 Ghz.
Insrument Time only --------------------------
PYTHON instrument : 0:00.24s
PERL instrument : 0:00.17s
PHP instrument : 0:00.19s
C# instrument : 0:00.08s
Insrument Time and Test Time ----------------
PYTHON test : 0:00.55s
PERL test : 0:01.41s
PHP test : 0:00.22s
C# test : 0:00.08s
1 Gb from /dev/zero to file ------------
PYTHON IO test : 0:24.37s
PERL IO test : 0:30.63s
PHP IO test : 0:43.35s
C# IO test : 1:50.05s
1 Gb from /dev/zero to FIFO to /dev/null -------
PYTHON IO2 test : 0:11.72s
PERL IO2 test : 0:07.74s
PHP IO2 test : 0:31.03s
C# IO2 test : 0:13.71s

Это тест на 2-х ядерном Core Duo 2300.
Insrument Time only --------------------------
PYTHON instrument : 0:00.09s
PERL instrument : 0:00.16s
PHP instrument : 0:00.24s
C# instrument : 0:00.04s
Insrument Time and Test Time ----------------
PYTHON test : 0:00.86s
PERL test : 0:01.68s
PHP test : 0:00.27s
C# test : 0:00.04s
1 Gb from /dev/zero to file ------------
PYTHON IO test : 0:37.03s
PERL IO test : 0:39.69s
PHP IO test : 0:39.16s
C# IO test : 0:39.72s
1 Gb from /dev/zero to FIFO to /dev/null -------
PYTHON IO2 test : 0:05.61s
PERL IO2 test : 0:04.22s
PHP IO2 test : 0:12.07s
C# IO2 test : 0:09.31s

ЗЫ. Заметил, что при архивировании каталога пропала символьная ссылка на exe файл.
Восстановить ее можно путем
ln -s ...
либо просто скопировать файл в директорию Bench.
« Последнее редактирование: 24 Мая 2010, 10:23:40 от alexander.pronin »

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #1 : 19 Мая 2010, 14:19:45 »
Вы бы оформили в посте красиво свой bench.log для наглядности и эстетичности ;)

Оффлайн alexander.pronin

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #2 : 19 Мая 2010, 14:29:34 »
Done.

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #3 : 19 Мая 2010, 14:37:56 »
Done.
спс, хорошая работа

я когда то давно, помню, тоже сравнивал скорость работы языков программирования с файловой системой.
жаль ничего не осталось от тех тестов, так бы дополнил немного.

вообще обожаю такие вещи

Оффлайн alexander.pronin

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #4 : 19 Мая 2010, 14:43:56 »
У меня где-то есть скорости записи в mySQL на php. Тоже очень любопытные данные. Позже я нашел рекомендации разработчиков mySQL по повышению скорости записи. Они полностью соответствовали тому, что я накопал.

Оффлайн Убунтолог19

  • Любитель
  • *
  • Сообщений: 83
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #5 : 20 Мая 2010, 20:41:36 »
Закрепите тему.

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #6 : 20 Мая 2010, 22:15:40 »
Ну если ТС оформит тему в виде небольшой статеечки (определит цель, опыт, а главное выводы), то я с удовольствием прикреплю.

2alexander.pronin, ну как, есть желание?

Оффлайн alexander.pronin

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #7 : 21 Мая 2010, 08:39:24 »
Я не против, но хорошо бы статистики побольше набрать предварительно.
Сниму данные еще 2-х ядерном ноутбуке (там тоже все стоит) и тогда сваяю статейку. По готовности отпишусь здесь.

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #8 : 21 Мая 2010, 08:44:09 »
Какой-то файл содержит, видимо, русские буквы и не открывается у меня нормально :(

Оффлайн alexander.pronin

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #9 : 21 Мая 2010, 09:27:29 »
Наверное, Вы не скопировали нет-файл в директорию Bench.
Почему-то при создании архива потерялся симлинк на него. Это какой-то глюк архиватора, хотя может быть так должно быть.
Я делал симлинк, чтобы был всегда актуальным вновь скомпилированный exe  и не нужно было его каждый раз копировать в дирукторию Bench.
PS. Сам скомпилированный exe у меня находится в
.../Bench/CSharptest/CSharptest/bin/Debug
Полный состав .../Bench таков
al@ubuntu-desktop1:~$ ls -l ~/Desktop/Programming/Bench
итого 64
-rwx------ 1 al al 2180 2010-05-19 12:31 allBench.sh
-rwx------ 1 al al 1583 2010-05-19 14:00 bench.log
-rw------- 1 al al 1583 2010-05-19 13:47 bench.log~
drwx------ 3 al al 4096 2010-05-19 09:26 CSharptest
lrwxrwxrwx 1 al al   81 2010-05-19 09:49 CSharptest.exe -> /home/al/Desktop/Programming/Bench/CSharptest/CSharptest/bin/Debug/CSharptest.exe
-rwx------ 1 al al   59 2010-05-10 11:15 instrument.php
-rwx------ 1 al al   54 2010-05-10 11:23 instrument.pl
-rwxr-xr-x 1 al al  252 2010-05-19 12:30 testIO2.php
-rwxr-xr-x 1 al al  262 2010-05-19 12:30 testIO2.pl
-rwx------ 1 al al  254 2010-05-18 17:08 testIO.php
-rwx------ 1 al al  264 2010-05-18 17:15 testIO.pl
-rwx------ 1 al al  288 2010-05-10 16:30 test.php
-rwx------ 1 al al  293 2010-05-10 16:31 test.pl
-rwx------ 1 al al  895 2010-05-19 11:26 test.py
-rwx------ 1 al al 4440 2010-05-19 13:42 Задача
al@ubuntu-desktop1:~$
Обратите внимание на строчку с
lrwxrwxrwx 1 al al   81 2010-05-19 09:49 CSharptest.exe -> /home/al/Desktop/Programming/Bench/CSharptest/CSharptest/bin/Debug/CSharptest.exe
ЗЫ. Русских букв там принципиально нет.
« Последнее редактирование: 21 Мая 2010, 09:30:08 от alexander.pronin »

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5354
  • Все по палатам!
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #10 : 21 Мая 2010, 09:36:11 »
Интересно, но не хватает значений верхнего предела по производительности - например на С++.
Извините, я все еще учусь

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #11 : 21 Мая 2010, 10:49:54 »
Я не против, но хорошо бы статистики побольше набрать предварительно.
Сниму данные еще 2-х ядерном ноутбуке (там тоже все стоит) и тогда сваяю статейку. По готовности отпишусь здесь.
ок. как будешь готов отпиши мне в личку.

Оффлайн alexander.pronin

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #12 : 21 Мая 2010, 12:17:55 »
абгемахт.
ЗЫ. Разобрался почему не попадает символьная ссылка в архив.
Оказывается, если я копирую папку с символьной ссылкой на сменный носитель выскакивает ошибка.
Понятно, что что-то подобное происходит и при создании архива, но я это не увидел, т.к. архивировал из гнома.
« Последнее редактирование: 21 Мая 2010, 13:42:37 от alexander.pronin »

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Bench perl-python-php-C#
« Ответ #13 : 22 Мая 2010, 14:04:02 »
абгемахт.
ЗЫ. Разобрался почему не попадает символьная ссылка в архив.
Оказывается, если я копирую папку с символьной ссылкой на сменный носитель выскакивает ошибка.
Понятно, что что-то подобное происходит и при создании архива, но я это не увидел, т.к. архивировал из гнома.
Да всё потому что нужно относительные пути в ссылке делать а не полные, от корня. Вряд ли кто будет распаковывать именно по тому пути, что был у тебя. Да и к тому же, не все архиваторы поддерживают это. Zip и Tar нормально поддерживают симлинки, а вот Rar уже нет. Тоже относится и к файловым системам. На fat нельзя сделать симлинк.

зы. А почему в тестах есть c# но нет java?

Пользователь решил продолжить мысль 22 Мая 2010, 14:08:15:
ззы. И, кмк, корректнее делать замеры в самой программе, замерять именно тот критический участок работы приложения, чтобы не учитывалось время на загрузку виртуальной машины интерпретатора.
« Последнее редактирование: 22 Мая 2010, 14:08:15 от Mam(O)n »

gengzu

  • Гость
Re: Bench perl-python-php-C#
« Ответ #14 : 22 Мая 2010, 18:42:54 »
ззы. И, кмк, корректнее делать замеры в самой программе, замерять именно тот критический участок работы приложения, чтобы не учитывалось время на загрузку виртуальной машины интерпретатора.

+1. нужно мерять внутри.

и еще хотелось бы померять скорость решения каких-нибудь задачь с использованием перечисленных языков  :2funny:

 

Страница сгенерирована за 0.036 секунд. Запросов: 26.