LINUX.ORG.RU

Почему PHP7 быстрее чем Python3?

 , , ,


2

3

Раньше было же наоборот когда PHP был на 5 версии? Есть ли смысл дальше учить Python для веба? Сейчас последние годы замечаю Django/Flask не очень активны в отличии от других технологий как Node.js, PHP/Laravel. Python в основном зациклился в машин лёрнинг.

UPD. Быстрее я имел ввиду производительнее. JS для ноды конечно круто, но беспорядочный синтаксис js не нравится в нём писать, и c php тоже такая проблема. Но как бы они есть, как laravel и nodejs. Их производительность намного превосходит чем питон.

Deleted

Последнее исправление: Deleted (всего исправлений: 4)
Ответ на: комментарий от Noob_Linux

А вы часом не путаете сильную/слабую типизацию с статической/динамической?

ugoday ★★★★★
()
Ответ на: комментарий от menangen

Когда я тестил, ещё могила mod_python не остыла, а gunicorn только появился и про него никто не знал.

WitcherGeralt ★★
()
Ответ на: комментарий от ugoday

Массивы в питоне работают строго определённым, простым, понятным и хорошо задокументированным способом

я не говорил что в питоне они работают не правильно, я считаю странным хотеть что бы структура данных их одного языка работала так же как и другая структура (похожая но другая) данных другого языка. В рамках изначальных задач PHP (шаблонизации) массивы в нем работаю точно так же как они работают в любом популярном шаблонизаторе и более того, вы можете изменить это поведение на то которое вы хотите. Разве это не хорошо? Разве это не более гибко?

Отступы это не проблема.

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

Ну а насчёт сложности развёртывания окружения, это вы ещё с ява-миром не сталкивались.

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

Noob_Linux ★★★★
()
Ответ на: комментарий от vladimir_vist

Чем это плохо?

Тем, что код должен быть написан латиницей, а не иероглифами и не кирилицей и не жёлтыми иблицами.

Мы ж тут все русскоязычные

Русскоязычность вовсе не всегда (хотя и часто) означает предрасположенность к говнокодингу.

Дыши глубже

Нет уж. Не желаю я вдыхать аццкий смрад той дымящейся кучи, что ты на кой то чёрт сюда принёс.

robus ★★★★★
()
Ответ на: комментарий от Noob_Linux

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

anonymous
()
Ответ на: комментарий от ugoday

Никаких проблем. Если они этим у себя дома занимаются и на тематических сайтах (вроде govnokod.ru). А не кричат о своих наклонностях на каждом публичном сайте.

robus ★★★★★
()
Ответ на: комментарий от Noob_Linux

В рамках изначальных задач PHP (шаблонизации) массивы в нем работаю

, мы же про скриптовый язык общего назначения

Я запутался. Так ПХП это шаблонизатор (для которого любые проблемы с качеством не имеют значения, ну получится слегка кривой html, тоже мне проблема) или про язык программирования общего назначения (а в ЯП под массивами понимаются вполне определённые структуры данных и это _не_ хэш с ключами типа int, и значениями по умолчанию типа None)?

множество раз наблюдал обратное ... я мог бы сказать тоже самое про ваше утверждение о массивах

Nope. В отдном случае — вкусовщина (*), а в другом — формальные вещи.

----

* - Тут уместно наблюдение. Судя по всему как выглядит синтакс — вообще не важно. Питонистов устраивают отступы, лисперов (не (напрягают (скобки))). Begin у паскалистов тоже нет проблем End. Я думаю, глаз довольно быстро замыливается и ваместо закорючек текста человек видит стоящий за ними смысл. А вот семнтика — имеет значение.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Прекрасно что вы погуглили, но данный ответ больше смахивает на заявления человека который и не знает что такое DI, IoC и зачем это нужно (смотри комментарии к ответу). Когда у вас десяток другой сервисов, и под сотню контроллеров как то грустно будет без хорошего DI контейнера разруливать это добро руками каждый раз. Но я в не в коем случае не принижаю Python, это хороший язык, но сложный проект я бы предпочёл делать на PHP(или Java/C#).

Noob_Linux ★★★★
()
Ответ на: комментарий от robus

Тем, что код должен быть написан латиницей, а не иероглифами и не кирилицей и не жёлтыми иблицами.

Авторы питона с тобою не согласны.

vladimir_vist
()
Ответ на: комментарий от ugoday

Я запутался.

У вас стек сбросился из-за выхода за пределы контекста :) Но я помогу.

ЯП под массивами понимаются вполне определённые структуры данных и это _не_ хэш с ключами типа int, и значениями по умолчанию типа None

кто такую чушь сказал? :) Можно стандарт какой нибудь общепринятый что ли? И касательно PHP и массивов в них, нет никакого значения по умолчанию есть идентификатор того что значения нет (null) что просто и понятно, есть предупреждение о том что обращение было по несуществующему ключу. Это по умолчанию. Если вас это не устравиает вы можете сделать так что бы была «полноценная» ошибка со стектрейсом и куртизанками :) У вас претензия что подефоту ни так как вы хотите? это как то не разумно.

Noob_Linux ★★★★
()
Ответ на: комментарий от pawnhearts

Если у тебя есть сервер, который обрабатывает запросы в eventloop`е или ещё как, это не значит, что у него есть state и load balancer`ом нельзя пользоваться.

Но serverless — о том, что eventloop уже есть (снаружи) и о нём думает какой-нибудь amazon. Тебе не нужно перезапускать свой сервер 2 раза в день из-за протечки памяти в ноде. Тебе не нужно думать о том, как ты будешь параллелить. Это уже сделают за тебя (и, конечно, небесплатно если речь идёт не о helloworld, вписывающемся в халяву). Ты можешь буквально взять команду кодеров с улицы и, не объясняя им ничего о деплое, делать бизнес-логику пока деньги на облако есть. Совсем как апач+пхп, только вебскейл. Своего сервера тупо нет.

Свой eventloop внутри тут не нужен тупо потому, что платить за время простоя никому не хочется.

x3al ★★★★★
()
Ответ на: комментарий от Noob_Linux

кто такую чушь сказал?

Все говорят. С, паскаль, алгол68. Даже wiki:

In computer science, an array data structure, or simply an array, is a data structure consisting of a collection of elements (values or variables), each identified by at least one array index or key. An array is stored such that the position of each element can be computed from its index tuple by a mathematical formula.[1][2][3] The simplest type of data structure is a linear array, also called one-dimensional array.

...

Both store and select take (deterministic worst case) constant time. Arrays take linear (O(n)) space in the number of elements n that they hold.

И т.д. А вот в ПХП под массивом понимается нечто иное, и как выразить в O-нотации скорость доступа, например, неочевидно. Ну и зачем устраивать сложности на ровном месте? И главное, где ещё в ПХП грабли затесались, может там и под односвязным списком что-то своё подразумевается?

касательно PHP и массивов в них, нет никакого значения по умолчанию есть идентификатор того что значения нет (null)

Что-то не вижу разницу.

ugoday ★★★★★
()
Ответ на: комментарий от x3al

Свой eventloop внутри тут не нужен тупо потому, что платить за время простоя никому не хочется.

Одновременно в манах по serverless рекомендуют дёргать API время от времени, чтобы держать контейнер в «горячем» состоянии.

ugoday ★★★★★
()
Ответ на: комментарий от Noob_Linux

Добавлю, даже делая скидку, что пхп — яызк для пролетариев и на компьюта сайнс они свой немытый рабочий хер лОжили, всё равно ерунда получается. Ведь по сути заменили шило на мыло. В языках программирования надо проверять на вхождения индекса в диапазон массива, а в пхп — что что обращение к массиву по данному индексу вернуло не null. Т.е. полная симметрия. И к слову как различить null как значение элемента массива и null как идентификатор, что никакого значения не было?

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

пхп — яызк для пролетариев

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

vladimir_vist
()
Ответ на: комментарий от ugoday

Все говорят. С, паскаль, алгол68. Даже wiki:

PHP всем этим критериям соответствует как я уже и сказал не однократно :) Но вы упорно это игнорируете.

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

Noob_Linux ★★★★
()
Ответ на: комментарий от ugoday

В языках программирования надо проверять на вхождения индекса в диапазон массива

что мешает вам делать это в PHP?

И к слову как различить null как значение элемента массива и null как идентификатор, что никакого значения не было?

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

Noob_Linux ★★★★
()
Ответ на: комментарий от Noob_Linux

PHP всем этим критериям соответствует

Это интересно. А как пхп обеспечивает константное время доступа?

ugoday ★★★★★
()
Ответ на: комментарий от Noob_Linux

Ваша главная претензия

Заключается в том, что в пхп называют массивом то, что массивом не является.

ugoday ★★★★★
()
Ответ на: комментарий от Noob_Linux

что мешает вам делать это в PHP?

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

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Речь не о питоне, к нему претензий в данном вопросе нет вообще.

Noob_Linux ★★★★
()
Ответ на: комментарий от ugoday

Это уже внутренностям движка, что count, что обращение по ключу имеет константное время обращения на сколько мне известно.

Noob_Linux ★★★★
()
Ответ на: комментарий от ugoday

А ну тогда у меня нет претензий, значит мы сошлись на том что PHP это не просто шаблонизатор, а язык общего назначения.

Noob_Linux ★★★★
()
Ответ на: комментарий от Noob_Linux

Вообще-то, эффективность в смысле O-нотации — это фундаментальное свойство и единственная причина почему мы вообще заморачиваемся с разными структурами данных, а не используем, например, односвязный список на все случаи жизни.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Согласен и «массивы» PHP очень быстры и оптимальны т.к. это самая популярная универсальная структура данных в экосистеме, там всё заоптимизированно по самые не балуйся.

Noob_Linux ★★★★
()
Ответ на: комментарий от Noob_Linux

Даже и не знаю: то ли это пхп заразил вас привычкой додумывать и вкладывать в слова какие-то свои смыслы, то ли ПХП вам нравится, потому что вы с ним на одной волне.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Не важно, кто мне это сказал. Интереснее, почему тебе этого никто не говорил до меня.

Аргументация очень проста: банальное уважение к тем, кто будет читать (и, возможно, модифицировать) твой код. Откуда ты знаешь, что у них у всех в IDE шрифт с поддержкой твоих нестандартных символов, настроена возможность вводить их, и т.д. Латиница же доступна всегда и всем.

Для примера: код, который ты пишешь для фирмы, стоит писать исключительно латиницей, чтобы потом можно было отдать поддерживать его кому угодно, кто умеет программировать. Код который ты пишешь в открытые / свободные проекты стоит писать чистой латиницей потому, что над ними работает многоязычная команда (даже если сейчас в проекте исключительно русские, это почти наверняка изменится в будущем – годные открытые / свободные проекты могут жить неограниченно долго). А уж код который ты пишешь в качестве сэмпла обязательно стоит писать латиницей – ведь единственная цель его написания – демонстрация.

robus ★★★★★
()
Ответ на: комментарий от Noob_Linux

«массивы» PHP очень быстры и оптимальны

facepalm.py

Всё-таки речь и мышление очень связаны друг с другом.

ugoday ★★★★★
()
Ответ на: комментарий от robus

Откуда ты знаешь, что у них у всех в IDE шрифт с поддержкой твоих нестандартных символов, настроена возможность вводить их, и т.д. Латиница же доступна всегда и всем.

Запросто. У всех посетителей сайта linux.org.ru гарантированно есть шрифты с русскими буквами. Ну и где ваш бог теперь, а?

ugoday ★★★★★
()
Ответ на: комментарий от Noob_Linux

Да нет, это у вас, где-то в середине цепочки вызовов вместо сегфолта было использовано неверное значение, что привело к порче данных далее по стеку из-за чего вы пришли к неверному выводу.

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

Так один же фиг. Если пользователь на лор зашёл, значит по-русски он читать-писать умеет.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

У всех посетителей сайта linux.org.ru гарантированно есть шрифты с русскими буквами

У меня в IDE выставлен шрифт без поддержки кириллицы. Qt Creator, конечно, умная IDE и falls back на системный шрифт и в квадратики юникод не превращается. Но не латинские символы выглядят там довольно чужеродно.

Ну и где ваш бог теперь, а?

Бога нет. Ни «нашего», ни какого-либо ещё.

robus ★★★★★
()
Ответ на: комментарий от robus

У меня в IDE выставлен шрифт без поддержки кириллицы.

Довольно дурацкий повод для гордости, но допустим. Расскажите лучше как вы с IDE в лор зашли.

Бога нет. Ни «нашего», ни какого-либо ещё.

Фраза «Where is your God now?» является мемом. Что ещё раз иллюстрирует, что больше всех топят против русского языка недоучки, которые про «Лондон ис зе кэпитал оф Грейт Британ» выучили, а для владения актуальной культурой их уровня не хватает.

ugoday ★★★★★
()
Ответ на: комментарий от pawnhearts

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

tz4678 ★★
()
Ответ на: комментарий от ugoday

Фраза «Where is your God now?» является мемом

А вот фраза «Где ваш Бог теперь» – нет.

Что ещё раз иллюстрирует, что

У тебя в голове каша из известных тебе языков.

Лондон ис зе кэпитал оф Грейт Британ

Чего же тебя на транслитерастию так тянет?

robus ★★★★★
()
Ответ на: комментарий от robus

Фраза «Where is your God now?» является мемом

А вот фраза «Где ваш Бог теперь» – нет.

Трудности перевода? Понимаю, понимаю.

Чего же тебя на транслитерастию так тянет?

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

ugoday ★★★★★
()
Ответ на: комментарий от Edward_I

cms - это артефакт из мира пхп. на других языках разработка - это попытка соорудить что-то из говна и палок. в пхп нет встроенного пакетного менегера и модульной системы. в питоне есть requests, bs4, 3,5 условно-удобных orm среди которых джанговский лучший и куча мусора. в php есть много долларов. и да это тема для провинции, где все вакансии 1с либо php+jquery. ну а хейт питона - это удел лощков, которых развели на курсы по дата-сосаенсу и машин-лернингу. убогие не понимают, что подобные специалисты в стране-бензоколонке нужны только в паре компаний даже в 6-миллионом питере

tz4678 ★★
()
Ответ на: комментарий от tz4678

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

tz4678 ★★
()
Ответ на: комментарий от tz4678

открой для себя ммр асинхронного питона

и быстренько закрой чтобы он наружу не выбрался. Не нужна асинхронщина на бэкенде.

Suntechnic ★★★★★
()
Ответ на: комментарий от Ford_Focus

pecl/pear же.

pecl - для сишных расширений, pear - мертв, стандартный пакетный менеджер де-факто composer

aiive
()
Последнее исправление: aiive (всего исправлений: 1)
Ответ на: комментарий от Noob_Linux

Согласен и «массивы» PHP очень быстры и оптимальны т.к. это самая популярная универсальная структура данных в экосистеме, там всё заоптимизированно по самые не балуйся.

Окей, если там все заоптимизировано по самые не балуйся, то зачем существуют SplFixedArray и остальные Spl* структуры?

aiive
()
Ответ на: комментарий от ugoday

И к слову как различить null как значение элемента массива и null как идентификатор, что никакого значения не было?

использовать функцию array_key_exists

aiive
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.