- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Не то чтобы хочу записаться в ваше писькомерство
Что лучше — коммунизм или фашизм?
Даже лень в эту дискуссию вступать. Почиайте литературку, посмотрите, где можно использовать первое и второе, напишите сайт. Я лично убедился, как грузит сервер сайт на джанге и как на вордпрессе с идентичной базой и для меня давно вопросов нет. Ну а вы ищите аргументы...
Ну так и почитайте.
Для этого бесконечный цикл в конце включил.
Это лихо конечно, бесконечный цикл..
Есть целый ресурс, где люди проводят синтетику на разных языках. Для того, чтобы не насиловать интерпретатор, предлагаю вам просто взглянуть на замеры.
В большинстве случаев, Python сливает в потреблении памяти и в скорости выполнения.
SplFixedArray
Ещё не известно, какую версию используют для тестов. Если ниже 5.3, то пролетаем с SplFixedArray.
Что лучше — коммунизм или фашизм?
Атеизм.
Но вот даже в вашем простейшем примере во всю красу предстает один из самых ужасных недостатков ПХП, который меня коробит больше всего, а именно: имя класса SplFixedArray. Если смотреть на код, то сразу возникает вопрос: откуда он взялся, где его искать, что это такое, где и в каком месте искать его определение? А ответ простой - хз.
Гуглить. Как гуглить библиотеки для решения разных задач. Согласен что неоднородность именования системных функций и классов доставшаяся от детства пхп это недостаток. Но в целом - дело привычки. Я ведь тоже его не помнил, и гуглил.
Вы думаете у пхп есть какие то шансы против универсального языка?
Пхп в большинстве кейсов вставит ассемблер на раз-два три. Или вы пайтон универсальным обозвали?)))
Ну, давайте сравним скорость обработки дампа википедии алгоритмом LDA (алгоритм тематической классификации) или LHS и сравним скорость. На питоне это будет десяток строк кода (с использованием соответствующего пакета) и несколько часов времени на обработку. На пхп как это реализовать и сколько там всё будет обрабатываться, я не знаю.
И я не знаю. И не буду делать. В детстве делал что-то подобное с библиотекой Машкова только на турбо Бейсике. Заняло пару дней. Вернее не так. Первая версия по прикидкам должна была работать около года. Я потратил два дня на переписывание кода, и оно вышло в неделю работы. Код был далек от оптимального, но смысла в оптимизации я не видел. Упиралось всё кстати не в память (которой было всего 32мб) или проц (который был 233 цирикс), а в скорость диска.
Еще раз повторюсь - не хочу участвовать в этом писькомерстве. Даже если без синтетики. Задача "напишите мне сложный код без четкого ТЗ и мы сравним кто быстрее - вы или библиотека которую за меня написали" - это не тест на реальном кейсе.
Равно как и сравнение обработки гигабайтных массивов не есть тестирование производительности. Даже ваш тест без SPL показал, что эффективность пхп примерно на уровне. +- 100% ничего не значат в реальных условиях. Не гоняет никто такие массивы и т.п. Кеширование и прочие подходы приведут к тому что все равно и тот и тот упрутся в скорость базы да кривизну архитектуры.
---------- Добавлено 08.10.2016 в 22:16 ----------
Ещё не известно, какую версию используют для тестов. Если ниже 5.3, то пролетаем с SplFixedArray.
Ну вам же сказали - пхп5, что не понятно то?))
Для того, чтобы не насиловать интерпретатор, предлагаю вам просто взглянуть на замеры.
Спасибо за ссылку, интересно, пару тестов у себя провел. Правда у меня не установлен пхп7, так что для питона только:
Первый тест (многоядерный) по ссылке у автора для питона длился: 250.12 sec.
На моей машине он длился 144 сек. Потом я задействовал все 6 ядер своего интела (12 потоков вместо исходных 4-х) и результат стал: 87 сек.
Но потом я применил вместо python3 волшебный интерпретатор питона: pypy. Результат - 5.9 сек.
В общем там тесты завязаны на простые вычисления в цикле, но такие программки на питоне легко ускоряются в 10-20 раз использованием pypy, хотя народ, который использовал этот ускоритель на реальных вебпроектах (например на джанго), пишет, что особого смысла (по факту) в нем нет. Хотя сам его иногда применяю, если не могу распараллелить числодробительную задачу.
Всё же для меня больше важна работа с массивами, с очень большими массивами.
---------- Добавлено 08.10.2016 в 22:48 ----------
Гуглить
Причем тут "гуглить"? Я ведь этот класс не конкретный име ввиду, а как аналогию его привел. В коде может быть вызов любого самописного класса или функции. И в пхп надо прилагать усилия, чтобы понять, откуда они взялись. А иногда и переменные появляются из ниоткуда - тогда вообще труба.
Причем тут "гуглить"? Я ведь этот класс не конкретный име ввиду, а как аналогию его привел. В коде может быть вызов любого самописного класса или функции. И в пхп надо прилагать усилия, чтобы понять, откуда они взялись. А иногда и переменные появляются из ниоткуда - тогда вообще труба.
Правой кнопкой по переменной или названию класса, "перейти к определению" и все дела. Пхп дает некоторую излишнюю гибкость и наследование старых паттернов. Здесь к примеру явно должно было бы быть что-то вроде \Spl\FixedArray и только так. В языке полно функций с различным форматом написания. Префикс группы функций может быть как впереди так и сзади, неоднородный порядок параметров и все такое. Это несколько напрягает, но с другой стороны это следствие того, что язык втягивал в себя все возможные библиотеки очень быстро. Наращивание функционала ценой единообразия дало ему быстрый рост. В свою очередь этот рост дает ему инфраструктурные преимущества. Да и недостатки тоже)
После хтмл и цсс приступил к изучению пхп лет 7 назад, просто чтобы вообще понять что такое программирование и с чем его едят, сайт написал - кривой/косой с БД, но сам, без чьей-либо помощи, сидя ночами и заглядывая в справочники, нервничая когда что-то простое часами не получалось. Судьба заставила заниматься совсем другой деятельностью. Прочитал ветку - 80% не понял, но до сих пор интересно сцуко и хочется разобраться. Удачи вам, мужчины. Завидую... честно. :)
пхп лет 7 назад, просто чтобы вообще понять что такое программирование
..
Прочитал ветку - 80% не понял, но до сих пор интересно сцуко и хочется разобраться. Удачи вам, мужчины. Завидую... честно.
Я тебя не расстрою, если скажу, что "программирование" совсем не тоже, что "знание ЯП" (языка программирования)? ;)
программирование == скучная древняя профессия, нуждающаяся в вымирании
программирование == скучная древняя профессия, нуждающаяся в вымирании
Программирование действительно древнейшее занятие и человечества и человека. Существовавшее задолго до возникновения самого термина.
Вот поэтому оно умереть не может в принципе. :)
И насчёт скучное - я бы поспорил. Вообще это увлекательное занятие - созидание процессов.
Алгоритмы - это не только цифра, это и аналоговый мир. Только законы их взаимодействия там во многом другие.
Алгоритмы - это не только цифра, это и аналоговый мир. Только законы их взаимодействия там во многом другие.
Помню там же где "учил" ЯП "лого" встретился с определением, что существуют "формальные исполнители" и "неформальные". Плоттер это формальный исполнитель, а собака - неформальный. Может послушаться, а может и нет. А аналоговый и цифровой - не так отличаются.