Pull to refresh
17
0
Алексей Березуев @berezuev

Человек и пароход

Send message

Что-то вы смешали в кучу коней, людей и горящие избы.
Swoole-корутины не работают для json_decode. Они помогают асинхронно выполнять блокирующие вызовы.

Если взять ваш код и убрать все, что касается swoole, он будет работать на четверть быстрее. В примере я поставил 10кк вместо 1ккк, чтобы сильно долго не ждать.

<?php

// ...
// тут пхп-код из статьи
// ...

$start = microtime(true);

$cnt = 10_000_000;

$fp = fopen(__DIR__ . '/test.json', 'rb');
if ($fp === false) {
    echo 'Error' . PHP_EOL;
    return;
}

$result = '';
while ($line = fread($fp, 1024)) {
    $result .= $line;
}

for ($i = 0; $i < $cnt; $i++) {
    $decoded = json_decode($result);
    unset($decoded);
}
fclose($fp);

$end = microtime(true);

file_put_contents('php://stdout', sprintf("%.3fms \n", ($end - $start)));

и получил:

41.331ms 
31.497ms 

Ускорить json_decode, по идее, можно через pcntl_fork. Но, это в любом языке так можно.

Ну и в целом, итоги статьи бессмысленны чуть более, чем полностью. Взяли рандомную функцию, прогнали ее 1kkk раз и сделали выводы. А почему не сравнили с ffjson или easyjson в golang?

А у вас в роликах есть двигатель?

"Средство индивидуальной мобильности" - транспортное средство,
имеющее одно или несколько колес (роликов), предназначенное
для индивидуального передвижения человека посредством использования
двигателя (двигателей) (электросамокаты, электроскейтборды,
гироскутеры, сигвеи, моноколеса и иные аналогичные средства).";

пруф: http://static.government.ru/media/files/469VoeW0W7dRU4yNAzT2hcoATovUdyWS.pdf

Intersection Types RFC

Так и не придумал, где это можно было бы использовать. Но, даже если и так, не проще ли делать вместо


function RecordsToList(array | Countable & Traversable $input): String {
    // ...
}

Вот так:


interface ListInterface extends \Countable, \Traversable {} 

function RecordsToList(array | ListInterface $input): String {
    // ...
}
Если вам нужен SOAP, то лучше использовать юзерленд реализации на PHP, а не расширение.

А может кто подсказать актуальные примеры? Быстрый поиск на пакаджисте выдал только phpro/soap-client с довольно жирными аппетитами на зависимости и meng-tian/php-soap-interpreter, по которому не было апдейтов с 2016 года

А можно просто разнести ЖД пути и автодорогу на разные уровни. Бонусом получим нулевую смертность на переездах.
К пересечениям автомагистралей и других скоростных дорог это тоже относится.

Из полезного еще можно добавить урлы для поиска в гугл.транслейт:
http://translate.google.ru/#en/ru/%s — с английского на русский
http://translate.google.ru/#ru/en/%s — с русского на английский
и т.д.

Один из таких примеров я даже на говнокод постил.


$opl1_type_arr = array("no","yes");
 for($i=0;$i<2;$i++){
            $str_pr = $opl1_type_arr[$i];
            echo "<option value=\"$str_pr\"";
            if($RowOP['pay_peredano']==$str_pr) echo " selected";
            switch ($str_pr) {
    case 'yes':
     echo ">Да</option>";
     break;
    case 'no':
     echo ">Нет</option>";
     break;
   }
 }

О какой замене речь? Вы можете селектить нужные данные, например:
SELECT first_name, last_name, 'POWER' from t1...

Спасибо за апдейт и статью, как всегда все по делу.


Небольшой оффтопик, без сарказама. Интересно, в меню "Превью апдейтов" — указано условие :


WHERE first_name LIKE 'A%'

А в выборке одни Мэри и Мишели… Это ошибка на скриншоте или все-таки какая-то особенность баз?

Вот из-за подобных статей у людей складывается впечатление, что PHP — хреновый ЯП.

Где-то это в городе (в Москве во всяком случае) есть скоростные ловушки?

По Горьковке попробуйте поездить в сторону области. 5 полос, отбойники, экраны, а ограничение то 90, то 40. Спасает только включенный Яндекс Навигатор.

Автор, мы поняли, что вы уже неделю изучаете питон. Но, пожалуйста, не нужно флудить об этом постами на хабре по 3 раза на дню.

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

1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity