- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
На пыхе кстати можно декодер через yield завернуть, возможно будет быстрее
Может, но что что то существенное генератором выиграем сомнительно. Тут ресурсов 0 да маленько (0.36/2 (memory_get_usage/memory_get_peak_usage)).
Где можно выиграть. По операциям:
На коленке за 10 мин 35 строк кода:
Кроме читать блоками (где 50-60мс), потенциал, только в месте записи. Не 3000 раз file_put_contents($file, $dd, FILE_APPEND);
а, например 300, но 10 найденных разом. В первом варианте у меня записи не было, в во втором, который с посложнее jsonами пачками по 500 найденных
Я все таки сторонник того что, json надо раскодировать, поэтому 10000 раз разобрать придется. Это дает гибкость и универсальность.
Почему не согласны?
Потому что надо брать не простую строку в 50 символов, а что-то большее;
дальше стер, потому что я не программист и спорить лень.
---------- Добавлено 15.06.2020 в 21:51 ----------
Тут не в сотый,
Тут не в сотый, а на условном SO в сотый. Высосали задачу из пальца и пишете новое решение, хотя все давно написано и либы давно есть.
Если уж совсем прямо, то у sly32 бомбануло от уровня этого раздела форума (что логично, учитывая двух долбоебов sevlad и sitealert) и он решил начать меряться кодом. Но я думаю (да вы и сами знаете), что это не тот форум для такого уровня.
Высосали задачу из пальца и пишете новое решение, хотя все давно написано и либы давно есть.
К теме относиться надо как разминка, тем кому интересно. Ну и обмен мнениями, для тех кто not
что я не программист
А так, вот смотрите:
Их в гугле полно https://github.com/salsify/jsonstreamingparser
"require": {"php": "^7.2",
"twig/twig":"^2.0",
"box/spout": "^3.0",
"endroid/qr-code":"*",
"salsify/json-streaming-parser":"*"
},
Впендюриваем
header('content-type:text/plain');
$testfile = '/var/web/aio/data/json';
$listener = new \JsonStreamingParser\Listener\InMemoryListener();
logger( 'Before JsonStreamingParser\\Parser ' );
print_r( end($GLOBALS['aapp_timing'] ));
$stream = fopen($testfile, 'r');
try {
$parser = new \JsonStreamingParser\Parser($stream, $listener);
$parser->parse();
fclose($stream);
} catch (Exception $e) {
fclose($stream);
throw $e;
}
logger( 'After JsonStreamingParser\\Parser ' );
print_r( end($GLOBALS['aapp_timing'] ));
var_dump($listener->getJson());
Оно еще ничего не делало, ($listener->getJson() после логгера), просто инициализировалось, но добавило 243.5660(ms) и 4+ метра
Код функции логгер:
что это не тот форум для такого уровня.
Так уровень надо повышать. Так что тема годная.
Потому что надо брать не простую строку в 50 символов, а что-то большее;
Там без разницы, хоть большая, хоть маленькая строка. И да, тест действительно синтетический, но это просто пример того, что быстрый язык в одних задачах не всегда быстр в других.
Тут не в сотый, а на условном SO в сотый. Высосали задачу из пальца и пишете новое решение, хотя все давно написано и либы давно есть.
Либы под много что есть, было бы глупо создать тему, где каждый бы подключал либу и делал вызов одной функции. Суть темы прокачать скилл и пообщаться на тему кода и разработки (что мы и делаем, в принципе).
учитывая двух долб**бов sevlad и sitealert
Обратись к специалистам, болезный. Они тебе помогут. И больше отдыхай, мы все о тебе переживаем.
это не тот форум для такого уровня.
быстрый язык в одних задачах не всегда быстр в других.
А тебе не сложно сейчас взять re2 для твоего go кода и проверить еще раз? Я прост смотрю и не вижу особой разницы в скорости с pcre :)
А тебе не сложно сейчас взять re2 для твоего go кода и проверить еще раз?
Сложно, на самом деле re2 подключить не так просто, нужно скомпилить как либу, потом слинковать в бинарник. Потому что на Go никто не портировал re2. Как будет свободное время - поковыряюсь.
Я прост смотрю и не вижу особой разницы в скорости с pcre
А так? Понятное дело, что большинство приложений делают что-то ещё, кроме выполнения регулярок. На самом деле есть ещё несколько мест, где PHP быстрее Go (там где задача плохо бьется на потоки и где вызов функции описан в сишном модуле). Например, всякие TLS реализации могут быть быстрее в пыхе, только их там особо и негде применить.
не работает ошибка хотел привести асинхронный код
Потому что на Go никто не портировал re2. Как будет свободное время - поковыряюсь.
Не надо, я ошибся и думал что он там есть.
Вообще я удивлен насчет go, "думал намного лучше будет все" (c).
А посоветуйте заодно, на чем спамилку писать. Задача - просто слать 1 post запрос и парсить ответ. Сейчас шлю через php-curl, чето оно уже на 5к потоков сжирает проц и память ( у меня вообще на каждый запрос - 1 процесс php-cli, знаю что смешно). Я писал выше, что не программист, думал вот чего почитать, только не знаю что :) ноду или го?
Могу конечно накостылить что то на php с guzzle, но интересно послушать ваши советы.