что быстрее работает ...

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

что быстрее работает ...

Непрочитанное сообщение havarz » 2008-06-14 5:21:23

Всем привет.
Что быстрее работает
echo "blabla" > /file на shell
или
open (file) print blabla close (file)
на Perl, Tcl или еще на чем то.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: что быстрее работает ...

Непрочитанное сообщение Alex Keda » 2008-06-14 10:27:12

а потестить - не судьба чтоли?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

Re: что быстрее работает ...

Непрочитанное сообщение havarz » 2008-06-14 13:15:53

думал, что уже ктонить тестил.
раз нет, будем тестить сами.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: что быстрее работает ...

Непрочитанное сообщение zg » 2008-06-15 7:57:31

да можно не тестить, перл быстрее в любом случае, а ещё быстрее C и буферизированный вывод. Но это будет хоть сколько-то заметно только на гигабайтных объёмах информации.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: что быстрее работает ...

Непрочитанное сообщение hizel » 2008-06-15 9:10:03

если для одного действия то shell быстрее
perl пока проверит, пока откомпилит и только потом выполнит
к тому же perl не входит в основу freebsd ;)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: что быстрее работает ...

Непрочитанное сообщение Alex Keda » 2008-06-15 9:17:50

входит
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: что быстрее работает ...

Непрочитанное сообщение hizel » 2008-06-15 9:42:57

зачем оно тогда у мя собиралось?

Код: Выделить всё

se@serv4 ~ >pkg_info | grep perl-5.8
perl-5.8.8_1        Practical Extraction and Report Language
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: что быстрее работает ...

Непрочитанное сообщение paradox » 2008-06-15 9:44:18

уже невходит) вырезали гадость из системы

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: что быстрее работает ...

Непрочитанное сообщение Alex Keda » 2008-06-15 10:00:31

paradox писал(а):уже невходит) вырезали гадость из системы
входит. тока версия более старая. 5.0
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: что быстрее работает ...

Непрочитанное сообщение hizel » 2008-06-15 10:07:35

Код: Выделить всё

se@serv4 /usr/src >find ./ -name 'perl*' -print
./contrib/file/Magdir/perl
./contrib/ipfilter/perl
./contrib/nvi/include/perl_extern.h
./contrib/nvi/perl_api
./contrib/nvi/perl_api/perl.xs
./contrib/nvi/perl_api/perlsfio.c
./contrib/nvi/perl_scripts
./crypto/openssl/crypto/perlasm
./crypto/openssl/util/perlpath.pl

Код: Выделить всё

se@serv4 /usr/src >uname -a
FreeBSD serv4 6.2-RELEASE FreeBSD 6.2-RELEASE #1: Wed Nov 28 10:43:52 MSK 2007     se@serv4:/usr/obj/usr/src/sys/DIMI  i386
ку ку? :cf:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

Re: что быстрее работает ...

Непрочитанное сообщение havarz » 2008-06-15 10:50:11

задача такая:
есть машина на которой кроме shell (сильно порезанный) есть только Tcl.
изменения в систему вносить нельзя (т.е. что-то поставить, добавить, нельзя)
на ней работает демон pppd. Задача.
отслеживать начало и конец ppp сессий, и писать их в лог файл.
я тут накропал вот такой скриптец на Tcl (пришлось по ходу его изучать, хорошо книгу в свое время прикупил)

в аргементе получает ppp интерфейс (например ppp1)

Код: Выделить всё

#!/usr/bin/tclsh

set ndc "841544"

set w [lindex $argv 0]
set w [string index $w end]
set dt [clock format [clock seconds] -format %y%m%d]
set tm [clock format [clock seconds] -format %T]

if [ catch {set pr [exec ps -eo start,command | grep ppp_up | grep -w $w | grep -v grep]}] {
    puts "nothing found"
    exit 0
}
set fid [open /mnt/dom/ppp_log/$dt.log a 0644]
set ss [lindex $pr 0]
set st_s [clock scan "$ss"]
set stp_s [clock scan "$tm"]
if {$stp_s < $st_s} {set dt [clock format [clock scan "$dt -1 day"] -format %y%m%d]}
set total [expr $stp_s - $st_s]
set total [clock format "$total" -format %T]
puts $fid "$dt $ss - $tm $ndc[lindex $pr 4] [lindex $pr 5] $total"
close $fid
exit 0
понятно, что при небольшом кол-ве сессий работать будет, а при увеличении.... хрен.

вот и вопрос. Что лучше
set fid [open file a 0644]
puts "blabla"
close $fid
или
exec [echo "blabla" >> file]

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: что быстрее работает ...

Непрочитанное сообщение Alex Keda » 2008-06-15 12:01:15

хе. значит я от жизни отстал.
тогда всё - теепрь могу смело скрипты системные на php писать - последнее преимущество перла ушло.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: что быстрее работает ...

Непрочитанное сообщение hizel » 2008-06-15 12:28:17

Код: Выделить всё

exec [echo "blabla" >> file]
вызов fork и shell будет медленее

хм, ну смотря как посмотреть, perl собирается сразу как только чтонибудь из портов собираешь ;)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: что быстрее работает ...

Непрочитанное сообщение Alex Keda » 2008-06-15 12:33:47

ф топку =)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: что быстрее работает ...

Непрочитанное сообщение hizel » 2008-06-15 12:37:23

perl? :shock:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

Re: что быстрее работает ...

Непрочитанное сообщение havarz » 2008-06-15 14:17:54

забыл добавить, машина работает под Linux

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: что быстрее работает ...

Непрочитанное сообщение Alex Keda » 2008-06-15 14:59:49

hizel писал(а):perl? :shock:
точно
Убей их всех! Бог потом рассортирует...

Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

Re: что быстрее работает ...

Непрочитанное сообщение havarz » 2008-06-15 15:48:35

не совсем понятная дискуссия между вами уважаемые (без иронии)
спрашивал в принципе не об этом.
Не я этот сервер подымал, что дали с тем и работать пришлось.
С огромным удовольствием поставил бы на него Perl, но нельзя.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: что быстрее работает ...

Непрочитанное сообщение hizel » 2008-06-15 16:16:58

да это мы отвлеклись :)
конструкция с open естественно быстрее ;)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

Re: что быстрее работает ...

Непрочитанное сообщение havarz » 2008-06-15 17:53:45

Спасибо.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: что быстрее работает ...

Непрочитанное сообщение zg » 2008-06-16 9:33:26

делай на C и ресурсов меньше и траблов

Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

Re: что быстрее работает ...

Непрочитанное сообщение havarz » 2008-06-16 10:49:38

да млин, с удовольствием сделал бы на С, но там ни компилятора и хейдеров ни хрена ничего нет.
урезаный линь до нельзя. условия жесткие, ни каких бинарников только на shell (порезанном) или Tcl. :(

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: что быстрее работает ...

Непрочитанное сообщение paradox » 2008-06-16 10:51:14

параноя в секюрити?

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: что быстрее работает ...

Непрочитанное сообщение zg » 2008-06-16 10:54:41

havarz писал(а):да млин, с удовольствием сделал бы на С, но там ни компилятора и хейдеров ни хрена ничего нет.
а зачем он именно там? скомплил на виртуалке и залил по ssh бинарник, если шел есть, значит и ссх есть :roll:

Аватара пользователя
havarz
мл. сержант
Сообщения: 104
Зарегистрирован: 2008-05-06 15:18:07
Откуда: Камчатка

Re: что быстрее работает ...

Непрочитанное сообщение havarz » 2008-06-16 13:26:33

Немного подробнее про сие творение.
Сервер используется для предоставления услуг телефонии (DECT)
Это промышленное оборудование, поэтому производитель очень ревностно отностся к любому вмешательству в конфигурацию, установку дополнительного ПО и т.д.
На нем поднят также pppd и radius клиент, настроенный на какие-то ихние приблуды. Переконфигурить, допустим на наш radius сервер, мы не можем по изложенным выше причинам. Но предоставить пользователям услугу dialup, мы можем. Вот и возникла мысль, раз ничего нельзя снимать dialup сессии скриптом. Это как нестранно нам позволили.