danforth

danforth
Рейтинг
153
Регистрация
18.12.2015
timo-71 #:

Век живи, век учись😊

Сопоставимо с РНР, только памяти на 30м+, больше по сравнению с json.loads 

Питон почти во всем можно сделать быстрее, а то что не работает быстро - всегда можно переписать на быстрый язык и дергать через FFI. Плюс питон - язык общего назначения, в отличии от пхп, который ограничен сугубо вебом. 

timo-71 #:

джисон декоде 16мб файла - 99мс у php, против 120.

Разница не то чтобы существенная. Для питона есть ультражсон. Но вообще 16мб файл парсить 99мс, это походу очень слабенький ЦПУ, либо в файле большой нестинг и куча объектов.

LEOnidUKG #:
а после покажите нам результат.

Результат чего вам показать? Что SimpleXMLIterator позволяет потоково обойти весь файл не вычитывая его в память? 

<?php

try {
    $iterator = new SimpleXMLIterator("./file.xml", LIBXML_NOERROR | LIBXML_PARSEHUGE, true);
    foreach($iterator as $product) {
        foreach($product as $props) {
            $product = [
                "ID" => (string) $props->ID,
                "price_city" => (float) $props->price_city,
            ];
            var_dump($product);
        }
    }
} catch(\Exception $e) {
    echo $e->getMessage();
}

Я конечно понимаю, что вы не приемлите чужих мнений, парсите на здоровье, кто я такой чтобы вам запрещать. Можете ещё и JSON регулярками парсить. Я лишь хочу сказать, что я бы так не делал, потому что это максимально тупая затея, не имеющая никаких преимуществ. Во-первых, регулярку написать сложнее. Во-вторых, она не стабильна (если в XML будет комментарий, например, с <ID>, то ваша регулярка туда сматчится, и вы получите неопределенный результат). В-третьих, у вас нет возможности для перемещения по дереву вверх-вниз. В-четвертых, не нужно вычитывать весь файл в память. Если вы клоните к тому, что регулярки быстрее, то молодец, оптимизировали хотспот так скозать. 

LEOnidUKG #:

Предельно тупо писать отсебятину, вот человек вверху всё достаточно протестировал.

Ну да, человек протестировал, и что мы видим? Что ...

danforth #:
preg_matchем парсить XML максимально тупо

... потому что это не дает никаких преимуществ в скорости. Более того, ТСу нужно получать свойства каждого конкретного товара, ваше решение выколупывать регулярками iD, Price, и прочее, из вложенных нод, это просто неправильно выбранный инструмент для данной задачи.

preg_matchем парсить XML максимально тупо, есть же XPath который позволяет выгребать из документа нужные свойства с любым уровнем вложенности
timo-71 #:
По мне, так круто.

Хз, в бою я бы не рискнул это использовать, уж лучше питончик заюзать (который я никак не выучу). 

Я вообще большую часть API последнее время пишу на nest.js, который на тайпскрипте. Мега крутая штука, на вход описываешь принимаемый жсончик, на выход возвращаемый, DI все зависимости/сервисы за тебя подключит, ты их просто перечисляешь. По итогу не фиговая такая производительность и статическая типизация.

timo-71 #:
Не помню как называется, но

О г о, пул воркеров на PHP? 

Sly32 #:

Ну у тебя хороший стэк и опыт. А почему не уходишь во ФЛ?

Так я наполовину и FL, считай. У нас есть устная условленность с компанией на которую я работаю, что я буду уделять время работе столько-то часов в день и т.д. На полный фриланс я не ухожу, потому что мой стек не используется мелкими компаниями. 

Фриланс лучше. Гибкий график, сам выбираешь клиентов, нет дейликов, захотел отдохнуть - ни у кого не нужно отпрашиваться в отпуск и объяснять почему ты второй месяц подряд берешь отпуск на 2 недели, захотел поработал ночью (меня например ночью пробивает поработать, самый пик продуктивности, а утром или в обед хочется покататься на велосипеде, восстановить когнитивный ресурс).

По зарплатам, например мои знакомые на апворке в месяц поднимают от 4к$ до 9к$, в зависимости от отпусков и прочего. У одного стек магенто, у другого вротпресс.

Я сам работаю в компании, но должности как таковой нет, утром лид и на дейлике дрючу разработчиков, днем пишу код, после обеда девопсю кластеры, к вечеру архитектором разворачиваю инфру и дизайню систему в целом. Платят вроде бы и норм, но я бы лучше фрилансил за 9к, т.к. больше свободного времени. 

Sly32 #:
Вырос с джуна до сеньора

https://searchengines.guru/ru/forum/1032923/page7#comment_16501150

Сеньйор осилил эту задачу?

Всего: 1540