Как стать автором
Обновить
36
0
Михаил @Mixail

Пользователь

Отправить сообщение
У меня не установлено никакого xdebug. И по моему он по умолчанию не ставится (если честно, я не силен во всех хитростях пхп).
Без xdebug у вас получилась разница в скорости ~3 раза. В моих тестах ~6 раз.
Не исключено что пхп сильно требователен к железу, а т.к. у меня очень слабая виртуалка, то и появилась разница в ваших и моих тестах.
думаю, ваш perl код медленее из-за 3-х объявлений «my» на каждом шаге интегрирования.

Не совсем так. Объявления переменных на каждой итерации конечно замедляет код, но не сильно, разница всего 200мс.
Perl(preinit vars) result = 127.999997360281
Perl(preinit vars) time = 4794.22998428345

Perl result = 127.999997360281
Perl time = 4931.83994293213
Когда я писал этот тест, мне не хотелось делать различий от js. Понятно что тест нужно написать как вы запулили, но это будет отличаться от жс. Возможно nodejs сам оптимизирует до такой конструкции, поэтому и получается быстрее.
Но даже в новом, оптимизированном, варианте на перле, всё равно скорость отстает от скорости на ноде.
Так что остается порадоваться за производительность математических вычислений в v8. Но при этом желать большей производительности на сокетах.
А если интересны исходники на которых тестил, то залил на гитхаб github.com/Mikxail/perl_vs_node
Стоит сказать, что это не чистый перл, а насколько помню, в pdl используются так же C библиотеки?
Ну и у меня результат для вашего теста следующий:
Perl PDL result = 128
Perl PDL time = 1171.44012451172

Что тоже дольше чем для чистого JS.
Впечатляет то что нода на данном тесте прозводительнее пела почти в 10 раз, и произвидительнее пхп в 6 раз.
Хотя в простом тесте на сетевые соединения (получить коннект, ответить, отвалиться), перл обгонял ноду примерно на 40%.
Вот ещё тест на чистом С, без js оберток.
C result = 127.999997
C time = 210.000000
Результаты меня поразили. Поэтому я решил проверить на других языках, после чего вообще впал в ступор.
Функция: integrate(-4,4,-4,4,1024);
Perl result = 127.999997360281
Perl time = 5295.28713226318

PHP result = 127.99999736028
PHP time = 3503.4229755402

JS result = 127.99999736028109
JS time = 550

А не подскажете какой лучше выбрать пульт с приемником?
Запустите проверку ещё раз, скорее всего найдет.
У меня тоже после первого запуска не показал ip.
Простите, не заметил что перевод.
Спасибо. :)
>>По ссылке на оригинал есть фото.
Но к сожалению, ссылку вы так и не указали.
Вы конечно же предлагаете доступ из nix, но хочется чтобы и под виндой работало.
К сожалению, вы привели пример плохо работающего сервера webdav. У меня он повесил эксплорер, при попытке создать папку.
Если знаете другие сервисы предоставляющие вебдав доступ, подскажите?
Как заметил ниже vk2, ещё более правильно было бы записывать 0b11111100 )
Не вижу никакой разницы, кроме идеологической, между 252 и 0xFC.
Самое топорное и простое решение:
my $str = 255; # or other .. $str = 'a';
my @now = (1,0);
$str = ($str & 252) | (($now[0] << 1) | $now[1]);
Рассматривать отличия работы метода «Arr copy», и push, если мне не изменяет память в логике работы операторов, то в приближении будет происходить следующее:
1) при @arr = (@arr, $str); происходит создание массива содержащего в себе все элементы @arr и элемент $str. После чего копирование в массив @arr.
2) При push @arr, $str; будет происходить увеличение памяти выделенной под массив @arr (если это необходимо), после чего добавление нового элемента $str.
Ну а работать с байтами проще и быстрее было бы с помощью логических операторов, таких как: "&, |, ^, >>, <<".

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Зарегистрирован
Активность