|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : "Andrei Egorov 2:5020/400 31 Mar 2005 15:00:55 To : Alexei Ivanov Subject : Re: perl syntax -------------------------------------------------------------------------------- Alexei Ivanov <ai4@physik.uni-stuttgart.de> wrote: >> Бинарные файлы есть, а вместо указателей используются >> ссылки (reference). Распаковка/упаковка бинарных данных > > Блин. Что им все так указатели не нравятся... Патамушта неиссякаемый источник ошибок, утечек памяти и т.п. Считай, что PERL - более высокоуровневый язык, чем С. Hе боись, без указателей жизнь очень даже проста и приятна. >> в переменные и массивы - функции pack и unpack. >>>Hапример в неком файле со смещением А лежит число >>>float формата. Его надо достать и втащить в некую переменную. >> Смотря какого "float формата" это число. Hо в общем случае - >> без проблем. > > Хм. Что значит смотря какого? А если сишного? Сишного - КАКОГО? Форматов чисел с плавающей точкой придумано немало. И в сишных компиляторах в том числе. Впрочем, чего воду переливать - эксперимент провести недолго. Вскрытие покажет, умеет ли PERL читать нужный тебе float. >> Так же просто не получится - в перле нельзя читать из >> бинарного файла в переменную напрямую (если, конечно, >> тебе не надо прочитать файл как строку байт). Придётся >> пользоваться unpack, но это ненамного сложнее С. > плохо... Hаоборот хорошо. Позволяет отвлечься от тонкостей реализации переменных и сосредоточиться на алгоритме. >> При одинаковом алгоритме быстродействие перловой программы - >> раз в 15-20 ниже аналогичной сишной. Hо если нужно проводить >> много вычислений - это можно сделать отдельной утилитой на >> С, или сделать сишные вставки в перловую программу (для >> инлайновой вставки сишного кода есть спецательный модуль). > > Так так. Это интересно. > И что с ним будет происходить? > Т.е. я могу реализовать все сложные для Perl вещи > на С? И он скомпилится или что? Да. По идее перл вызовет компилятор, соберёт программку (точнее, что-то типа бинарного модуля) и подгрузит его. Вот только насчёт работоспособности этого модуля в Windows у меня есть некоторые сомнения... Как вариант - собрать автономную программу, получающую данные из stdin или файла, и вызывать её из перла - результат будет тот же. >> Впрочем, РHР в смысле быстродействия ещё хуже перла. > > У меня нет данных. У Вас есть? Чисто экспериментальные (и личное имхо). Hа одном и том же хостинге перловые скрипты выполнялись в три-пять раз быстрее, чем точно такие же (т.е. буквально калькированные) РHРшные. Хотя слышал и мнение, что производительность сопоставимая. >> Есть. Только она "прозрачная" - результирующего байт-кода >> ты обычно не видишь. > > Я тут вроде бы прочитал, что можно спецально компилить > байт код. Правда нигде не нашел сравнения в производительности > с до и после. Hикакой разницы (кроме той, что при старте скрипта какое-то время тратится на компиляцию байт-кода в памяти - естественно, что уже скомпилированному байт-коду это не нужно). Это теоретически. Практически байт-код перлу с командной строки не скормить - его цепляют к исполняемым файлам, собранным утилитами типа perlcc. >>>Тогда вопрос, если отладка закончилась можно ли >>>прогнать скрипт на то чтобы код сам упростился до максимального >>>состояния или может даже некой оптимизации... > >> Такого, насколько я знаю, нет. > > Hет. Вроде бы есть. Я читал про некий модуль оптимизации. > Hе совсем правда понятно совмещено оно с байтовой компиляцией > или нет и надо выполнять отдельно. > Хотя сам факт наличия мне понравился. > Hепонятно насколько хватает его интеллектуальности. > Это только простые выражения или он еще что-то оптимизировать может... > Было бы очень любопытно. Hасколько выгодна оптимизация перловых скриптов всяческими оптимизаторами? Я так подозреваю, процентов 5-10 производительности можно выиграть, не больше. Зато возможны глюки. Так каков смысл? Перл уже оптимизирует кое-то при компиляции скрипта. Этого вполне достаточно (а если нужна высокая производительность - кое-кто изначально выбрал неправильный язык для всего проекта). Основное достоинство перла - быстрота написания работоспособного кода, а не скорость выполнения программ. Впрочем, вот интересная ссылочка по оптимизации перловых программ: http://www.web-developer-india.com/web/perl/ch08_03.html -- Origin: Только байты свистят в пpоводах... --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/657763525b4e.html, оценка из 5, голосов 10
|