The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования PHP 8.0, opennews (ok), 26-Ноя-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


4. "Релиз языка программирования PHP 8.0"  +10 +/
Сообщение от Аноним Анонимович Анонимов (?), 26-Ноя-20, 18:15 
12 лет уже применяю данный язык в своём труде. Лично для меня идеальный инструмент. Рад, что развивается!
Ответить | Правка | Наверх | Cообщить модератору

27. "Релиз языка программирования PHP 8.0"  +2 +/
Сообщение от Аноним (58), 26-Ноя-20, 19:30 
Аналогично, только лет уже 20.
JIT вообще то, чего ждалось очень долго - теперь критичные куски кода будут выполняться очень шустро.
Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз языка программирования PHP 8.0"  –1 +/
Сообщение от Аноним (76), 26-Ноя-20, 20:31 
Очень шустро, примерно аж на 10% шустрее. Наверно жит всё-таки не бесплатный, значительные накладные расходы идут в довесок. Вот что шустро, это часть кода переписать на си.
Ответить | Правка | Наверх | Cообщить модератору

146. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (40), 27-Ноя-20, 02:04 
Да, насчёт накладных расходов очень интересно. За эти сомнительные 10%, небось, придётся заплатить 400% ОЗУ?
Ответить | Правка | Наверх | Cообщить модератору

207. "Релиз языка программирования PHP 8.0"  +1 +/
Сообщение от Аноним (207), 27-Ноя-20, 10:47 
0-10% шустрее для типичного похапе с ассоциативными массивами и отсутствием типизации. Если же писать код в современном стиле, с явной типизацией и включенными strict_types - выигрыш будет существенный. Накладные расходы можно свести к нулю через opcache.preload.

В целом, прогресс очень значительный, и на этом уже можно комфортно программировать большие проекты.

Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

213. "Релиз языка программирования PHP 8.0"  +2 +/
Сообщение от Аноним (207), 27-Ноя-20, 10:56 
Добавлю, чего действительно не хватает, чтобы PHP стал нормальным языком.

Не хватает двух вещей:

1. Удобного способа создания типизированных иммутабельных структур. final свойств (как в Java) или readonly свойств (как в C# или typescript) нет, приходится генерировать геттеры. Хорошая IDE позволяет это упростить, но все равно эта куча бойлерплейт-кода изрядно раздражает. Отличным решением было бы позаимствовать data classes из Kotlin.

2. Дженериков. Без них невозможно реализовать обобщенные типизированные структуры данных - да даже типизированные коллекции сделать нельзя.

Все остальное уже вполне неплохо (да, неконсистентность стандартной библиотеки никуда не делась, но с этим можно жить, если привык).

Ответить | Правка | Наверх | Cообщить модератору

78. "Релиз языка программирования PHP 8.0"  +1 +/
Сообщение от Sw00p aka Jerom (?), 26-Ноя-20, 20:35 
>теперь критичные куски кода будут выполняться очень шустро

Такс это какие ещё куски? Мат вычисления на пхп?

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

84. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 26-Ноя-20, 20:45 
Обработка данных.
Биллинг мобильной связи между операторами с цепочкой "до абонента" как пример годится?
Там и вычислений прилично, и разбора CDR, и обработки всяких опций типа пакетов данных.
Ответить | Правка | Наверх | Cообщить модератору

104. "Релиз языка программирования PHP 8.0"  –1 +/
Сообщение от Sw00p aka Jerom (?), 26-Ноя-20, 21:39 
> Биллинг мобильной связи между операторами с цепочкой "до абонента" как пример годится?

Вы серьезно? аккаунтинг, статистика, агрегация, анализ, машинное обучение раз уж на то пошло?
Биг-дейта и пхп разве совместимы?

> Там и вычислений прилично, и разбора CDR, и обработки всяких опций типа пакетов данных.

Серьезно? это в каких масштабах? Там где нужно со всякими хадупами решать вопрос вы будете решать с помощью пхп?

пс: на картинке из новости, нет ни одного теста с работой на больших данных (статистика, агрегация и т.д.), заявлено только "например, интенсивные математические вычисления или обработка в циклах данных, находящихся в оперативной памяти." - они что там ускорили foreach? ну хоть на этом спасибо.


Ответить | Правка | Наверх | Cообщить модератору

116. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 26-Ноя-20, 23:11 
Хадупы в биллинге трафика лишние. Там допустим любой пакет с общим счётчиком на большую группу абонентов поставит всё это хадупство колом, потому что общий счётчик сериализует.
Ответить | Правка | Наверх | Cообщить модератору

126. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Sw00p aka Jerom (?), 26-Ноя-20, 23:41 
>Хадупы в биллинге трафика лишние.

Учет (аккаунтинг) и аналитика - разные задачи.

Ответить | Правка | Наверх | Cообщить модератору

108. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Sw00p aka Jerom (?), 26-Ноя-20, 22:09 
> и разбора CDR

по ссылке ниже очевидный юзкейс, не представляю как пхп решит поставленные задачи.

https://www.itu.int/en/ITU-D/Emergency-Telecommunications/Do...

Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

115. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (115), 26-Ноя-20, 23:10 
Решение какой именно задачи ты не можешь представить?
Ответить | Правка | Наверх | Cообщить модератору

119. "Релиз языка программирования PHP 8.0"  +1 +/
Сообщение от Аноним (58), 26-Ноя-20, 23:18 
Эээээ секундочку.

Географический анализ от биллинга отличается тем, что +/- 100500 попугаев не погрешность. Там можно и хадупы, и бигдату. Миллион % туды, миллион % сюды, всё равно проверить уже невозможно.

А биллинг это деньги. И счётчик на трубе, который постоянно крутится. Всё это любой оператор и абонент сам при желании подсчитает, и за ошибку в счёте будет много и долго материть, возможно бить, а возможно даже и ногами :)

Операторы которые пиры - либо CDR присылают, либо хотят видеть всё точно и раз в месяц, но фигову тучу строк с разбивкой. Операторы, которые субоператоры, а также абоненты - хотят CDR'ы получать как можно быстрее, видеть всё точно, и желательно в течение минуты-другой, а ещё лучше - пары секунд после звонка или скачивания фигабайта, потому что в роуминге можно так скачать, что потом без штанов останешься :) При этом звонков этих и записей от радиусов о данных поступает тьма тьмущая.

Хотя с другой стороны не вижу проблем и пресловутый географический анализ сделать. Даже хадупы могут не понадобиться, паттерн mapreduce нормально работает и без них.

Ответить | Правка | К родителю #108 | Наверх | Cообщить модератору

130. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Sw00p aka Jerom (?), 26-Ноя-20, 23:59 
>>Географический анализ от биллинга отличается тем, что +/- 100500 попугаев не погрешность. Там можно и хадупы, и бигдату. Миллион % туды, миллион % сюды, всё равно проверить уже невозможно.

Спорное утверждение, зависит от задачи. Выше я отметил, что учет и аналитика - разные задачи.

>>А биллинг это деньги. И счётчик на трубе, который постоянно крутится. Всё это любой оператор и абонент сам при желании подсчитает, и за ошибку в счёте будет много и долго материть, возможно бить, а возможно даже и ногами :)

Учет по определению задача требующая точность, а аналитика уже работает с учтенными данными. Если учет с погрешностью, то что ожидать от аналитики?

>>Операторы которые пиры - либо CDR присылают, либо хотят видеть всё точно и раз в месяц, но фигову тучу строк с разбивкой.

Для таких задач, да, могу я себе позволить набросать скриптик на пхп который раз в месяц будет запускаться и Бог с ним пусть время исполнения будет большим, но не превышающим собственно месяц.

>>Операторы, которые субоператоры, а также абоненты - хотят CDR'ы получать как можно быстрее, видеть всё точно, и желательно в течение минуты-другой, а ещё лучше - пары секунд после звонка или скачивания фигабайта, потому что в роуминге можно так скачать, что потом без штанов останешься :)

И для таких реалтайм задач пусть даже банального учета, вы считаете пхп приемлемым по скорости?

>При этом звонков этих и записей от радиусов о данных поступает тьма тьмущая.

так я не понял, учетом радиус занимается или пхп?

>Хотя с другой стороны не вижу проблем и пресловутый географический анализ сделать. Даже хадупы могут не понадобиться, паттерн mapreduce нормально работает и без них.

таки да, но вопрос же в том, что использование пхп приемлемо для этих задач (с точки зрения производительности)?

Ответить | Правка | Наверх | Cообщить модератору

189. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 27-Ноя-20, 10:20 
У нас задача учёт, да. Аналитика вторична, но она тоже на PHP :D

> И для таких реалтайм задач пусть даже банального учета, вы считаете пхп приемлемым по скорости?

Абсолютно. Оно банально работает, и работает очень хорошо.
JIT должен дать по предварительным оценкам +20%-+50% к производительности обработки (в записях в секунду).

> так я не понял, учетом радиус занимается или пхп?

Многозвенная схема. И у нас и у операторов стоят радиусы, которые доступ по GPRS/3G/LTE к APN разруливают. С этих радиусов на каждый start/interim/stop снимаются потреблённые объёмы трафика. Формируются CDR, которые и попадают в биллинг.

> вопрос же в том, что использование пхп приемлемо для этих задач (с точки зрения производительности)

В случае чистого mapreduce этот вопрос по сути превращается в число узлов. Тем более, что основная обработка в данном случае не велика, и источник - текстовый CDR, поэтому PHP с его кучей библиотек в рантайме ляжет сюда как нельзя лучше.

Ответить | Правка | Наверх | Cообщить модератору

224. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Sw00p aka Jerom (?), 27-Ноя-20, 12:07 
>У нас задача учёт, да. Аналитика вторична, но она тоже на PHP :D

Ну вот отлично, работает - значить имеет место быть, главное результат удовлетворительный. И рассказы про то как мы заменили допустим пхп на го и тем самым сократили количество сервером с 100 до 10 - меня не удивляют, результат то один, если изначально допускалось содержание 100 серверов, а потом резко захотелось сократить, то простите вы уже изменили требования к проекту, и это уже совсем другая задача (как выжать из коровы 10 литров молока). И про тот же аргумент про микроскоп и гвозди, отчему - микроскоп нужен для забивания микроскопических гвоздей :)

Ответить | Правка | Наверх | Cообщить модератору

254. "Релиз языка программирования PHP 8.0"  –2 +/
Сообщение от agent_007 (ok), 27-Ноя-20, 13:37 
> И рассказы про то как мы заменили допустим пхп на го и тем самым сократили количество сервером с 100 до 10

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

Ответить | Правка | Наверх | Cообщить модератору

172. "Релиз языка программирования PHP 8.0"  –1 +/
Сообщение от qweqwe (?), 27-Ноя-20, 08:18 
Без ассинхронности и многопоточности это бесполезно.

Если делать это имеющимися средствами, то PHP неимоверно жрёт ресурсы (больше жабы) и постоянно течёт. Был опыт - больше не надо...

Если писать быстрые решения, то на golang и ему подобных.

Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

190. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 27-Ноя-20, 10:21 
Давно уже не течёт, примерно с 5.6 начиная - всё вылизали почти до блеска.
Тот же биллинг месяцами ворочается без перезапуска, и нигде не протекает.
Ответить | Правка | Наверх | Cообщить модератору

86. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 26-Ноя-20, 20:49 
Формирование международных тарифов на основании тарифных данных от нескольких апстримов, и загрузка итоговых маршрутов и планов тарификации в софтсвитчи. Там из десятка исходных XLS получаешь в базу больше миллиона префиксов, которые надо обсчитать, вычислить оптимальный маршрут, тариф для абонента, потом это дело свернуть так, чтобы на свитче база раком не вспухла, и залить в свитч. А ещё отдать мобильному тарификатору, когда он попросит тариф для вызванного номера XXX. Тоже как пример.
Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

184. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Матцумото (?), 27-Ноя-20, 09:20 
А на нормальных языках это делать строго запрещено?
Ответить | Правка | Наверх | Cообщить модератору

191. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 27-Ноя-20, 10:23 
Если хочется нагородить велосипедов - то почему бы и нет.
Биллинг в основном, как ни странно, работа с текстом и околотекстом.
Даже arbitrary precision math - по сути "текст" (байтовые массивы).
И с map'ами для всего и вся, причём набор атрибутов в объектах map'ов может быть динамическим.
PHP для этой задачи с его хеш-массивами (которые map'ы и есть) как нельзя лучше подходит.
Ответить | Правка | Наверх | Cообщить модератору

193. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 27-Ноя-20, 10:24 
У нас CRM на .NET. Я вижу, как они с ним трахаются, с жёсткой типизацией, с необходимостью динамические проперти отдельными мапами держать, и всегда думаю - перешли бы на PHP, этих проблем, которые у вас есть, вообще не было бы.
Ответить | Правка | К родителю #184 | Наверх | Cообщить модератору

196. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 27-Ноя-20, 10:26 
Пришёл блджад null вместо данных в пакете обмена - вся апликуха сдропнулась в Exception.
Потому что разборщик в объекты сторонний, и nullable типы не умеет.
Ответить | Правка | Наверх | Cообщить модератору

197. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 27-Ноя-20, 10:28 
В PHP ты json_decode, и дальше у тебя особых проблем с типами нет. Валидируешь ввод сам на предмет того, что всё корректно пришло, если всё по шаблону - всё хорошо. При json_decode сюрпризов, связанных с типами, не получишь.
Ответить | Правка | Наверх | Cообщить модератору

334. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Andrey (??), 28-Ноя-20, 15:25 
> У нас CRM на .NET. Я вижу, как они с ним трахаются, с жёсткой типизацией

Жесткая в смысле сильная или статическая? Если статическая, то при желании можно использовать dynamic. Если сильная, то другой и не должно быть, потому как ловить баги уровня 0 == 'foo', себя не уважать. В любом случае шарп как язык на голову выше php.

Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

87. "Релиз языка программирования PHP 8.0"  +/
Сообщение от Аноним (58), 26-Ноя-20, 20:53 
Формирование базы перемещения номеров для тех же свитчей.
Тянем с местной базы LNP/MNP списки операторов с маршрутными кодами. Списки префиксов с маршрутными кодами по умолчанию. Историю портирования номеров от оператора к оператору инкрементно. Вычисляем так же инкрементно, какой номер куда заруливается после применения последнего инкремента из базы. Сопоставляем маршрутные коды. Сопоставляем идентификаторы стыков, которые каждый конкретный оператор имеет свои и разные. Заливаем на свитч.

И т.д. И т.п.

Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру