Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Ruby vs PHP 
:(
    Опции темы
DikShv
Дата 19.1.2010, 12:59 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 19.1.2010

Репутация: нет
Всего: нет



Вот тут задался вопросом что быстрее Ruby или PHP и решил перевести свой небольшой рабочий скрипт на Ruby и посмотреть.

Суть скрипта собрать данные с 3 MySQL сервер и записать на 4 под cron

Тест проводился на artaos (Debian 5.0)

Вот мои результаты
user posted image
Разница PHP/Ruby
Время: 1.469304 (PHP)
CPU: 6.8% (PHP)
Память: 2.4 (Ruby)

Выдаваемый результат скрипта
Цитата
Отчет по tpeodat: Выбрано(11101), Записано(11099), Не записано(2)
Отчет по tpeo: Выбрано(11101), Записано(11099), Не записано(2)
Отчет по tfuc: Выбрано(7), Записано(7), Не записано(0)
Отчет по tgrp: Выбрано(687), Записано(687), Не записано(0)
Отчет по trup: Выбрано(518), Записано(518), Не записано(0)
Отчет по tspe: Выбрано(54), Записано(54), Не записано(0)


Везде пишут что Ruby быстрее но судя по тесту не верно. Так же пишут что Ruby 1.9 быстрее 1,8 Но 1,9 поставить пока не получилось. Так же попробую заменить некоторые циклы и глянуть)))

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  cron.zip 3,05 Kb
PM MAIL   Вверх
Simpliest
Дата 19.1.2010, 13:30 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



Во-первых, маешься дурью.

Во-вторых, http://shootout.alioth.debian.org/u32q/ben...&lang2=yarv

В-третьих, в реальных приложениях все может быть с точностью до наоборот.


--------------------
user posted image
PM   Вверх
UniBomb
Дата 19.1.2010, 13:31 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 97



Цитата(DikShv @  19.1.2010,  13:59 Найти цитируемый пост)
Так же пишут что Ruby 1.9 быстрее 1,8 Но 1,9 поставить пока не получилось.

А ведь есть ещё JRuby и IronRuby, производительность которых всё же выше чем у 1,8. 
PM MAIL ICQ Skype   Вверх
Simpliest
Дата 19.1.2010, 13:56 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



Парни, забейте на производительность, пока вы в нее не упираетесь в реальном приложении.

Научитесь писать правильный код - это много важнее.
Руби имеет массу выразительных средств. Код на нем почти всегда короче, а значит при прочих равных пишется быстрее.

А как оно там будет работать - это уже совсем другой вопрос. Для этого есть профилировщики и рефакторинг.


--------------------
user posted image
PM   Вверх
DikShv
Дата 19.1.2010, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 19.1.2010

Репутация: нет
Всего: нет



Цитата(Simpliest @ 19.1.2010,  13:30)
Во-первых, маешься дурью.

Во-вторых, http://shootout.alioth.debian.org/u32q/ben...&lang2=yarv

В-третьих, в реальных приложениях все может быть с точностью до наоборот.

А это более чем реальный скрипт который работает каждый день))
PM MAIL   Вверх
Simpliest
Дата 19.1.2010, 14:05 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



Цитата(DikShv @  19.1.2010,  12:58 Найти цитируемый пост)
А это более чем реальный скрипт который работает каждый день)) 

Я рад за тебя.
А что говорит профайлинг? Какой участок кода в этом скрипте выполняется дольше всего?


--------------------
user posted image
PM   Вверх
DikShv
Дата 19.1.2010, 14:08 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 19.1.2010

Репутация: нет
Всего: нет



Цитата(Simpliest @ 19.1.2010,  13:56)
Парни, забейте на производительность, пока вы в нее не упираетесь в реальном приложении.

Научитесь писать правильный код - это много важнее.
Руби имеет массу выразительных средств. Код на нем почти всегда короче, а значит при прочих равных пишется быстрее.

А как оно там будет работать - это уже совсем другой вопрос. Для этого есть профилировщики и рефакторинг.

Страница сгенерирована за 60.192762 секунд !

Вот и учусь, но пока я вижу обратную сторону при том что скрипт на РНР далеко не оптимизирован и сам сервер тоже.
И код пока тоже немного длинее чем на РНР

Вот и хочу что бы подсказали что да как проста по Ruby  чистому очень мало информации по правильному коду все в основном по RoR

в дальнейшем попробую и 1.9 как настрою и JRuby с IronRuby

но вот с начало нужно понять в каких случаях что лучше РНР или Ruby тем более что в РНР у меня 6 лет стажу и при желание тот скрипт что выше можно чуть ли не в 2 раза снизить

Скрипт на Ruby переписал под DBI и результат еще более плачевный

Добавлено через 1 минуту и 35 секунд
Цитата(Simpliest @ 19.1.2010,  14:05)
Цитата(DikShv @  19.1.2010,  12:58 Найти цитируемый пост)
А это более чем реальный скрипт который работает каждый день)) 

Я рад за тебя.
А что говорит профайлинг? Какой участок кода в этом скрипте выполняется дольше всего?

а по подробнее проста с Ruby я 3 день))

а само дольше тут 

Отчет по tpeodat: Выбрано(11101), Записано(11099), Не записано(2)
Отчет по tpeo: Выбрано(11101), Записано(11099), Не записано(2)

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  newmain2.zip 1,74 Kb
PM MAIL   Вверх
Simpliest
Дата 19.1.2010, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



Цитата(DikShv @  19.1.2010,  13:08 Найти цитируемый пост)
а по подробнее проста с Ruby я 3 день))

Но с PHP ведь 6ть лет? (я между прочим лишь немногим больше года).


Цитата(DikShv @  19.1.2010,  13:08 Найти цитируемый пост)
Отчет по tpeodat: Выбрано(11101), Записано(11099), Не записано(2)
Отчет по tpeo: Выбрано(11101), Записано(11099), Не записано(2) 

Это говорит что дольше всего происходит работа с БД.
Какой процент времени от всего приложения это занимает?

Сделай профайлинг для PHP и ты увидишь практически такую же картину и те же проценты.


--------------------
user posted image
PM   Вверх
DikShv
Дата 19.1.2010, 14:25 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 19.1.2010

Репутация: нет
Всего: нет



я знаю что и там больше 50% всего времени в том месте тут и профайлинг не нужен и вообще эта чуш не нужна вопрос в другом.
как правильнее и оптимизировано написать скрипт Ruby что бы он работал хотя бы на 2 сек быстрее чем аналог на php

способы написания вообще

если честно очень не понравилась работа с массивами и переменными в целом))

ну а вообще синтаксис понравился))
PM MAIL   Вверх
Simpliest
Дата 19.1.2010, 14:28 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



Цитата(DikShv @  19.1.2010,  13:25 Найти цитируемый пост)
профайлинг не нужен и вообще эта чуш не нужна 

Вопросов больше не имею.
Продолжайте быдлокодить.


--------------------
user posted image
PM   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.