The OpenNET Project / Index page

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

Facebook открыл код Cinder, форка CPython, используемого в Instagram

05.05.2021 09:43

Компания Facebook опубликовала исходные тексты проекта Cinder, развивающего ответвление от CPython 3.8.5, основной эталонной реализации языка программирования Python. Cinder применяется в рабочей инфраструктуре Facebook для обеспечения функционирования сервиса Instagram и включает оптимизации для повышения производительности.

Код опубликован для обсуждения возможности переноса подготовленных оптимизаций в основной состав CPython и для помощи другим проектам, занимающимся повышением производительности CPython. Facebook не собирается поддерживать Cinder в форме отдельного открытого проекта и код представлен в том виде, в котором используется в инфраструктуре компании, без дополнительного причёсывания и документирования. Cinder также не пытаются продвигать как альтернативу CPython - основной целью разработки является желание улучшить сам CPython.

Код Cinder отмечается как достаточно надёжный и проверенный в рабочих окружениях, но в случае выявления проблем их придётся решать самостоятельно, так как Facebook не гарантирует, что будет реагировать на внешние сообщения об ошибках и pull-запросы. При этом Facebook не исключает конструктивное сотрудничество с сообществом и готов обсудить идеи как сделать Cinder ещё быстрее или как ускорить перенос подготовленных изменений в основной состав CPython.

Основные оптимизации, реализованные в Cinder:

  • Inline-кэширование байткода ("shadow bytecode"). Суть метода в выявлении ситуаций выполнения типового опкода, которые можно оптимизировать, и динамической замене подобного опкода на более быстрые специализированные варианты (например, замена часто вызываемых функций).
  • Активное вычисление сопрограмм (Eager coroutine evaluation). Для вызовов async-функций, которые сразу обрабатываются (await не приводит к ожиданию и функция достигает оператора return раньше), результат подобных функций напрямую подставляется без создания сопрограммы и без привлечения цикла обработки событий. В применяемом в Facebook коде, в котором активно используется async/await, оптимизация приводит к ускорению примерно на 5%.
  • Выборочная JIT-компиляция на уровне отдельных методов и функций (method-at-a-time). Включается через опцию "-X jit" или переменную окружения PYTHONJIT=1 и позволяет ускорить выполнение многих тестов производительности в 1.5-4 раза. Так как JIT-компиляция актуальна только для часто выполняемых функций, нецелесообразно применять её для редко используемых функций, накладные расходы на компиляцию которых могут лишь замедлить выполнение программы.

    Через опцию "-X jit-list-file=/path/to/jitlist.txt" или переменную окружения "PYTHONJITLISTFILE=/path/to/jitlist.txt" можно указать файл со списком функций, для которых можно использовать JIT (формат path.to.module:funcname или path.to.module:ClassName.method_name). Список функций для которых следует включить JIT можно определить на основе результатов профилирования. В будущем ожидается поддержка динамической JIT-компиляции на основе внутреннего анализа частоты вызова функций, но с учётом специфики запуска процессов в Instagram, для Facebook подходит и JIT-компиляция на начальном этапе.

    JIT вначале преобразует байткод Python в высокоуровневное промежуточное представление (HIR), которое достаточно близко к байткоду Python, но рассчитано на использование регистровой виртуальной машины, вместо стековой, а также использует информацию о типах и дополнительные детали, важные для производительности (например, подсчёт ссылок). HIR затем преобразуется в форму SSA (static single assignment) и проходит стадии оптимизации, учитывающие результаты подсчёта ссылок и данные о потреблении памяти. В итоге генерируется низкоуровневное промежуточное представление (LIR), близкое к языку ассемблер. После ещё одной фазы оптимизаций на основе LIR при помощи библиотеки asmjit генерируются ассемблерные инструкции.

  • Режим strict для модулей. Функциональность включает три компонента : Тип StrictModule. Статический анализатор, способный определить, что выполнение модуля не оказывает влияние на код за пределами этого модуля. Загрузчик модулей, определяющий, что модули переведены в режим strict (в коде указывается "import __strict__"), проверяющий отсутствие пересечений с другими модулями и загружающий strict-модули в sys.modules в виде объекта StrictModule.
  • Static Python - экспериментальный компилятор байткода, использующий аннотации типов для генерации байткода, специфичного для каждого типа и выполняемого быстрее благодаря применению JIT-компиляции. В некоторых тестах сочетание Static Python и JIT демонстрирует повышение производительно до 7 раз, по сравнению с типовым CPython. Во многих ситуациях результаты оцениваются как близкие к применению компиляторов MyPyC и Cython.


  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Утверждено добавление в Python операторов для сопоставления с образцом
  3. OpenNews: Google открыл Atheris, инструментарий для fuzzing-тестирования кода на языке Python
  4. OpenNews: Выпуск Pyston 2, реализации языка Python с JIT-компилятором
  5. OpenNews: Доступен Snek 1.5, Python-подобный язык программирования для встраиваемых систем
  6. OpenNews: Недоработка в Python-скрипте могла привести к неверным результатам в более 100 публикациях по химии
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55083-cinder
Ключевые слова: cinder, python, facebook, optimization
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (131) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Анонин (?), 10:36, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –22 +/
    Не нужно, есть pypy/cython/numba/nuitka
     
     
  • 2.5, Гимли (?), 10:41, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а мужики-то не знают!
     
  • 2.9, Арагорн (?), 10:47, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –12 +/
    > nuitka

    Никитка?

     
     
  • 3.136, ммнюмнюмус (?), 19:20, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Рюськи сьпиёны в тылу жгут. Первую буквы подменили на почти похожую, чтоб не политься.
     
  • 2.78, BrainFucker (ok), 16:23, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Не нужно, есть pypy/cython/numba/nuitka

    Тестил как-то нуитку эту, повышения скорости выполнения на циклах не заметил.

     
     
  • 3.80, Анонин (?), 16:28, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь затести мамбу.


     
     
  • 4.96, Аноним (96), 18:11, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучше RustPython
     
  • 4.110, B (?), 23:03, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "и постигнет тебя смерть через мумбу-юмбу" (c)
     
     
  • 5.137, ммнюмнюмус (?), 19:24, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    намба-томба же
     
  • 2.113, Аноним (113), 00:36, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Pyston же!
     

  • 1.3, Леголас (ok), 10:38, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Cinder применяется в рабочей инфраструктуре Facebook для обеспечения функционирования сервиса Instagram

    гламурный однако форк

     
     
  • 2.18, Анонин (?), 11:00, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    с сюрпризом
     

  • 1.6, Аноним (6), 10:44, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Теперь ясно почему инстаграм вызывает чувство сплошного недоразумения.
     
  • 1.8, Аноним (8), 10:45, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Жёстко!
     
  • 1.12, Аноним (12), 10:53, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    Вместо того чтоб уйти с Джанги они переписали Питон. Неожиданный ход.
     
     
  • 2.29, Аноним (29), 11:38, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Что проще и эффективнее, то и сделали.
    Например мы прекрасно понимаем что при наличии такого количества кода как у нас, уйти с твистеда - равносильно закрытию проекта на годы, до его полного переписывания. Но вот только кода у нас сильно меньше чем в пейсбуке.
     
     
  • 3.50, Анонас (?), 13:15, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Но вот только кода у нас сильно меньше чем в пейсбуке.

    А что там за объемы кода такие в инстаграме? Кмк функционал там весьма скромный, меньше чем в среднем форумном движке. Нагрузки да, может и большие.

     
     
  • 4.60, Аноним (60), 13:56, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Инстаграмм это монолит на несколько миллионов строк кода, на несколько тысяч ендпойнтов на джанго. Про это много где написано например тут https://instagram-engineering.com/static-analysis-at-scale-an-instagram-story- и видосов на ютубе много, самый интересный про оптимизацию работы базы данных в инстаграмме
     
     
  • 5.106, Анончик (?), 22:07, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так и запишем, в инстаграм несколько миллионов строк гавнокода который разгребать нет желающих.

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

     
     
  • 6.117, Аноним (117), 08:10, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а почему гавнакода? Потому что его много? Так много <> гавнокод
     
  • 6.130, anonymous (??), 12:56, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Hiring процесс в Facebook совсем не так работает.
     
  • 3.77, пох. (?), 16:11, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Смешно, вон Попов с нуля переписал ядро, школьник с нуля, не говорю уже про нескучные обои.
     
     
  • 4.100, Myyx (?), 19:08, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ну так переписал на html!
    а не на python -е этом вашем богомерзком


     
     
  • 5.102, Myyx (?), 19:18, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    надеюсь сарказмодетектер у читающих то что выше работает
     
  • 5.140, ммнюмнюмус (?), 21:58, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > ну так переписал на html!
    > а не на python -е этом вашем богомерзком

    Все проще -  он добавил архитектуру WebASM в GCC, добавил поддержку webasm в GRUB, пересобрал убунту для новой архитекруры. И лежит ему теперь дорожка прямо в директора RedHat.

     
  • 4.107, Анончик (?), 22:08, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Что с ним стало кстати?
     
     
  • 5.118, Аноним (117), 08:11, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Администрации Президента работает, курирует что-то
     

  • 1.19, InuYasha (??), 11:04, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Что бы там эти выродки ни открывали, они всегда останутся корпорацией зла.
    https://gizmodo.com/signal-tried-to-run-the-most-honest-facebook-ad-campaig-18
     
     
  • 2.31, InuYasha (??), 11:46, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по минусам, у кого-то подгорело. Perfect. >) Тогда вот ещё свежак прислали:

    Confirmed talk cancelled due to slides heavily critical of Google and Facebook
    https://news.ycombinator.com/item?id=27045741

     
  • 2.119, Аноним (117), 08:13, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    перечисли корпорации НЕ-зла? Помимо Газпрома ессно.
     
  • 2.131, anonymous (??), 12:58, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Работаю в Facebook и не понимаю, за что меня выродком называют.
     
     
  • 3.138, InuYasha (??), 21:43, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, не называли.
    Но не волнуйся - сейчас назову. За то что не считаешься с моральными принципами при выборе работодателя.
     
     
  • 4.150, anonymous (??), 00:28, 07/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Считаюсь. Интересно вы обвинениями кидаетесь. Лично на мой взгляд, например, я наконец-то начал приносить реальную пользую человечеству.
     
     
  • 5.153, InuYasha (??), 10:58, 09/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как администратор цеха по контролю, оскотиниванию и дойке скота? Ну, да, польза, но не человечеству - точно.
     

  • 1.20, bi brother (?), 11:04, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автору новости зачет. Второй и третий абзац прям вышка, такого маркет-буллшита давно не читывал.
     
  • 1.21, Аноним (21), 11:05, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Если питон такой супир-пупир-быстрый, то почему все так отчаянно пытаются его ускорить? Дропбокс пытался-пытался - не получилось. Фейсбук пытается-пытается - снова не получается!
     
     
  • 2.22, Леголас (ok), 11:10, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +9 +/
    потому что он небыстрый
     
     
  • 3.25, Anonymus (?), 11:20, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    он достаточно быстрый для большинства задач. а где не хватает - надо писать расширения
     
     
  • 4.144, ммнюмнюмус (?), 22:26, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > он достаточно быстрый для большинства задач. а где не хватает - надо
    > писать расширения

    Был бы выхлоп системы конфигурации 'configure' на питоне вместо оболочки. Глядишь, и скорость бы повысилась и переносимость приблизилась к cmake. А если учесть, что для 'configure' не нужны утилиты разработчика как для cmake, то cmake имел бы шансы уйти на второй план.

     
  • 2.30, Аноним (29), 11:40, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > супир-пупир-быстрый

    В популярных в инете бенчмарках пихонЗ - в 100 раз медленнее С, и в 108 раз медленнее языка растаманов. Ну....

     
     
  • 3.33, Анонин (?), 12:02, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Бичмарк в студию
     
  • 3.35, Аноним (35), 12:09, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Всего в 100 раз? Быть такого не может, в 10000 раз я ещё поверю. Только питон частично на си, и си это си. Раст быстрее си понятно быть не может, но си тоже по разному можно написать и оптимизировать. К слову, я тут поменял компилятор с gcc-10 на gcc-11 и внезапно обнаружил ускорение питона ~10% стабильно (вместо 3.3 секунд стало всего 2.9 чего никогда за всю историю не было даже в порядке флуктуаций). Без PGO не сравнивал, там тормозит больше. Остаётся собрать питон шлангом для чистоты эксперимента, он поддерживает сборку с PGO на шланге? С другой стороны минимум час впустую потратить надо.
     
     
  • 4.37, Аноним (-), 12:23, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Только питон частично на си, и си это си.
    > Раст быстрее си понятно быть не может, но си тоже

    Квинтэссенция мудрости и знаний. Абсолютно достаточна для достижения Просветления - дальше можно не читать.

     
     
  • 5.40, Аноним (35), 12:34, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У раста проверок в рантайме больше хотя бы поэтому код уже не будет аналогичным. Естественно, это влияет на скорость исполнения, всегда.
     
     
  • 6.42, Аноним (42), 12:39, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > У раста проверок в рантайме больше хотя бы поэтому

    Ну да, ну да. Раз аноним так говорит.
    https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust.html

    Павда, у анонимных Просветленных и питон "частично на си"шке и прочая "мудрость" ...

     
     
  • 7.43, Аноним (35), 12:41, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Синтетику оставьте для наивных дурочек.
     
     
  • 8.48, Аноним (-), 13:10, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Голословные заявления отходят им же Ну и извечное - тут считаем, тут не считае... текст свёрнут, показать
     
  • 7.44, Аноним (35), 12:49, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И, кстати, безотносительно разговора о применяемых алгоритмах и вообще целесообразности таких синтетических измерений, GCC просто не может конкурировать с LLVM на таких флагах даже на сишном коде. Надо хотя бы PGO намутить -- там гцц лучше шланга примерно во всех случаях (у шланга только лапша из goto).
     
     
  • 8.47, Аноним (35), 13:07, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если я вижу, что шланг МЕДЛЕННЕЕ, у меня возникают некоторые вопросы Сранения я... текст свёрнут, показать
     
     
  • 9.93, Урри (ok), 18:06, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У меня виртуальная машина скомпиленная шлангом на 3 медленнее работает, чем гцц... текст свёрнут, показать
     
     
  • 10.99, Аноним (35), 18:37, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще да, зависит от разных факторов Где-то gcc-O3 генерирует хороший быстрый ... текст свёрнут, показать
     
  • 8.49, Аноним (-), 13:14, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    П-последовательность Оспаде https benchmarksgame-team pages debian net... текст свёрнут, показать
     
     
  • 9.52, Аноним (35), 13:17, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так не бывает, шланг на O3 всегда быстрее раза в 3 И файлы меньше Другое дело,... текст свёрнут, показать
     
  • 9.61, funny.falcon (?), 14:05, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В указанных тестах выигрыш даёт параллелизация, и похоже, что растовая работает ... текст свёрнут, показать
     
  • 9.76, Аноним (76), 15:46, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там сишный код очевидно можно сильно ускорить Я мог бы заслать улучшение, но не... текст свёрнут, показать
     
  • 9.94, Урри (ok), 18:08, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Манипуляция отстой Я таких тестов тоже могу написать, где брейнфак быстрее С бе... текст свёрнут, показать
     
     
  • 10.103, Аноним (-), 19:54, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Двойные станарты впопеннетчиков - отстой не меньший ... текст свёрнут, показать
     
  • 10.114, Прохожий (??), 06:07, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Бегом писать, а не здесь языком трепать ... текст свёрнут, показать
     
  • 5.123, Аноним (117), 08:24, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Анон - это коллективный разум. Рой. Ум, совесть и честь эпохи практически. Чистый дзэн
     
  • 5.145, ммнюмнюмус (?), 22:37, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    parser info: security advice

    >> Раст быстрее си понятно быть не может, но си тоже
    > Квинтэссенция мудрости и знаний. Абсолютно достаточна для достижения Просветления - дальше
    > можно не читать.

    Выглядит как вырванное из контекста.
    "Понятно, что Раст не может быть быстрее си, но и си"
    было бы проблематично и вырвать и ещё на части порвать.

     
     
  • 6.146, Аноним (-), 23:33, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Раст быстрее си понятно быть не может
    > Выглядит как вырванное из контекста.
    > "Понятно, что Раст не может быть быстрее си, но и си"

    Кому "понятно"? Почему "понятно"? "Потому что потому! Все знают!"?
    Какой тебе нужен контекст для осознания "глубины анализа", особенно после цитирования 'глубокомысленного' "Только питон частично на си, и си это си." ?

     
     
  • 7.155, ммнюмнюмус (?), 14:59, 10/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > > "Понятно, что Раст не может быть быстрее си, но и си"
    > Кому "понятно"? Почему "понятно"? "Потому что потому! Все знают!"?

    Наверно не в языке дело, а в компиляторе. Пробовали бы все - от gcc до msvcc.

    > Какой тебе нужен контекст для осознания "глубины анализа", особенно после цитирования 'глубокомысленного' "Только питон частично на си, и си это си." ?

    Про это я не говорил. Это утверждение показывает сам факт наличия большого соотношения между проихводительностью C и Python. А тут - вера в точный размер соотношение (его порядок).

     
  • 2.32, Аноним (42), 11:49, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если питон такой супир-пупир-быстрый, то почему все так отчаянно пытаются

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

     
  • 2.34, Аноним (34), 12:09, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Питон супер-пупир-быстрее только твоего ПХП, в реальном мире питон тот еще тормоз.
     
     
  • 3.46, Staczhik (ok), 13:02, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вроде даже не быстрее пхп.
     
     
  • 4.51, Аноним (34), 13:17, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Только в твоих влажных https://keyua.org/media/blog_images/django_laravel_benchmark_optimized.png пусть это и тест фреймворков, но питон хоть и не торопится, но пхп по скорости делает. При этом отстает от всех других достаточно сильно.
     
     
  • 5.54, Staczhik (ok), 13:21, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Только в твоих влажных https://keyua.org/media/blog_images/django_laravel_benchmark_optimized.png

    Тест фреймворков говорит о скорости фреймворков, а не языка

     
     
  • 6.62, Аноним (62), 14:14, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В таких тестах почти всегда выигрывает язык инициатора тестирования.
    Просто в другой язык не умеют.

    Видел сравнительные тесты java-cl
    Писали явисты. Что-то там в циклах считает. Java на 30% быстрее как будто. Был удивлён.
    Посмотрел исходник для cl, исправил setf на setq в двух местах. Яваписатели разницы не понимают, что не удивительно.
    Вариант для cl, после правок, ускорился в 50 раз. Sbcl например не сильно уступает плюсам и си при правильной готовке.

    Я это к тому, что php вполне может python делать. Вопрос прокладки.

     
     
  • 7.95, Урри (ok), 18:09, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сразу видно понимающего человека.
     
  • 5.105, Аноним (105), 20:57, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ларавел один из самых тормозных фреймворков. Неудивительно.
     
  • 2.120, Аноним (117), 08:14, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    тебе зачем быстрый? Что ты там такое пишешь? Числодробилки? Так их тоже на Питоне пишут лол.
    На Питоне даже под голое железо пишут
     

     ....большая нить свёрнута, показать (35)

  • 1.23, Аноним (23), 11:14, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что насчет acython?
     
     
  • 2.36, Аноним (34), 12:12, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А что насчет staсkeless python?
     
     
  • 3.45, Goes (?), 12:59, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А что насчет stakython?
     
     
  • 4.53, Аноним (34), 13:18, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты написал набор букв.
     
  • 4.91, Аноним (91), 17:41, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте не забывать про sdifrhsioavhluython
     

  • 1.28, kai3341 (ok), 11:34, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Годно. Особенно прикольно Eager coroutine evaluation. Не позволяет вообще впердоливать везде async/await, но оптимизирует как раз те моменты, где я скрипел зубами и определял интерфейс асинхронным пра запас
     
  • 1.38, КО (?), 12:23, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Прально, зачем иметь штат тестеров, когда можно "поиметь" аудиторию и тестеров одновременно.
     
     
  • 2.63, Адмирал (?), 14:17, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ясен пень кэп
     
  • 2.132, anonymous (??), 13:02, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    По-вашему СПО -- это плохо?
     

  • 1.39, YetAnotherOnanym (ok), 12:23, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Сначала фейсбуку пришлось написать собственный пхп, теперь собственный питон. Вот что происходит, когда авторы выбирают для нового проекта "лёгкий в освоении ЯП".
    Ну, и название доставляет - пепел, зола, шлак, вот это всё...
     
     
  • 2.41, Аноним (42), 12:34, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Сначала фейсбуку пришлось написать собственный пхп, теперь собственный питон. Вот что происходит,
    > когда авторы выбирают для нового проекта "лёгкий в освоении ЯП".

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

     
     
  • 3.97, Урри (ok), 18:14, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А могли бы сидеть в солнечной калифорнии, изредка поправлять код, написанный на нормальном языке, и в ус не дуть, мучаясь каждый раз с масштабированием.

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

     
     
  • 4.101, Myyx (?), 19:13, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а ты так не думаешь?
     
  • 4.133, anonymous (??), 13:04, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, вообще-то да. Раньше в Facebook вообще был культ move fast.
     
  • 2.55, Аноним (35), 13:22, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чем им ещё заниматься, как отрабатывать зарплату? Ну и о тех, кто не выбирает "лёгкий в освоении ЯП", ты никогда и не услышишь, потому что они сольются намного раньше чем станут кому-либо известны.
     
  • 2.56, пох. (?), 13:26, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Сначала фейсбуку пришлось написать собственный пхп, теперь собственный питон.

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

    Опять же не надо потом проект по живому пытаться переносить на принципиально другую систему.

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

     
     
  • 3.67, YetAnotherOnanym (ok), 14:29, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > уволить не жалко

    Ну да, для хозяина это самое главное, ради этого можно и атмосферу на свои кровные погреть.

     
  • 2.57, lockywolf (ok), 13:32, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Всё правильно сделали. Они на Питоне написали фотоальбом -- и уже миллиардеры.

    Я на Фортране написал интерпретатор Scheme, и до сих пор ни кола, ни двора, ни бабы, ни детей. И даже переключалка клавиатуры не работает.

     
     
  • 3.58, Анонин (?), 13:38, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > на Фортране

    А ты лицензию оплатил?

     
     
  • 4.65, lockywolf (ok), 14:25, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> на Фортране
    > А ты лицензию оплатил?

    Gfortran "свободный"

    Интел я качал проверить, но в итоге париться с поддержкой не стал. Nag даже не пробовал.

     
     
  • 5.66, Анонин (?), 14:28, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Интел я качал проверить

    Так все говорят. У Ada тоже несколько вариаций?


     
     
  • 6.89, lockywolf (ok), 17:32, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> Интел я качал проверить
    > Так все говорят. У Ada тоже несколько вариаций?

    Я не занимаюсь военной техникой.

     
  • 6.124, Аноним (117), 08:28, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    теоретически свободных 2, но практически - одна.

    Фортран о%уенен если чо

     
  • 3.68, YetAnotherOnanym (ok), 14:34, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Они на Питоне написали фотоальбом
    > Я на Фортране написал интерпретатор Scheme

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

     
     
  • 4.79, Козявка (?), 16:28, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть потому что не в языке программирование дело? Не? Это непопулярная точка зрения тут, так как на этом сайте каждый 1-й считает себя пупом земли и семи пядей во лбу. Но ЯПы - это лишь инструменты. Это как если бы прораб Василий на стройке считал себя достойным быть владельцем здания, которое он строит для очередного олигарха.
    Каждый может взять лопату, кирпич и бетон, но не каждый может взять и довести дело до конца, не каждый может стать богатым и знаменитым, потому что не в кирпичах дело, и не в бетоне, и не в стройматериалах.
    А с ИТ-шниками почему-то так забавно и получается.
     
     
  • 5.83, Аноним (12), 16:44, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не рушь Fracta1L'у его мировосприятие. Он свято верует что переписывание на Раст добавляет какой-то мифической безопасности. При том что он даже не понимает что это значит.
     
     
  • 6.85, Козявка (?), 17:00, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Не рушь Fracta1L'у его мировосприятие. Он свято верует что переписывание на Раст
    > добавляет какой-то мифической безопасности. При том что он даже не понимает
    > что это значит.

    Окей :)

     
  • 5.90, YetAnotherOnanym (ok), 17:35, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тут, пожалуй, ближе сравнение с ларьком фастфуда на привокзальной площади, который быстренько сколотили из фанеры, и в нём один продавец еле-еле развернуться может. Ларёк приносит прибыль, но от этого профессиональные строители и повара, которые плюются, увидев его, не становятся неправы. Потому что _пока_ хозяину везёт, а завтра может произойти что угодно - и пожар, и визит санэпиднадзора, и появление конкурента, который более основательно и продуманно подошёл к делу, даёт качество лучше, ассортимент шире, и ещё и дешевле - и всё, ларьку кирдык.
     
     
  • 6.125, Аноним (117), 08:29, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    он немного о другом заясняет
     
  • 3.87, пох. (?), 17:01, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Всё правильно сделали. Они на Питоне написали фотоальбом -- и уже миллиардеры.

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

    Альбом на пихоне писали одни, миллионерами стали немного другие. Миллиардером при этом стал сцукенберг, который вообще не факт что что-то на чем-то после вуза из которого его выгнали за низачот написал сам. Зато у него было где взять миллиард.

     
     
  • 4.116, Аноним (105), 06:28, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не, на пхп он явно сам говнокодил. Достаточно посмотреть сорцы утёкшего лет 12 назад ихнего index.php, единственная причина не отрефакторить этот ад - «Сам писал»
     
     
  • 5.127, пох. (?), 09:44, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Не, на пхп он явно сам говнокодил. Достаточно посмотреть сорцы утёкшего лет
    > 12 назад ихнего index.php

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

    > «Сам писал»

    сам, учитывая времена, он писал на html с <?php  по всему тексту.

    Тех, кто писали на xml, со второго курса не выгнали.


     
     
  • 6.148, Прохожий (??), 00:10, 07/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сначала найди эти деньги бесконечные, трепло.
     
  • 4.147, Прохожий (??), 00:09, 07/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А тебе не пох, кто писал и на чем? Работает же. А ты не завидуй.
     
  • 3.98, Урри (ok), 18:15, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Фамилия у тебя тоже Цукерберг? А то эксперимент как-то не очень чистый получается.
     
  • 3.111, B (?), 23:19, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Забавляют истории про парней миллиардеров с "нуля" которые в Гарварде бакалавра получали. Для начала узнайте как с "нуля" в Гарвард попасть, потом и заходите.
     
     
  • 4.115, Аноним (105), 06:26, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Поступить, очевидно.

    А стоимость зависит от family income и для небогатых семей financial aid (гранты, пожертвования, госсубсидии) покрывает до 90% стоимости.

     
     
  • 5.151, Аноним (151), 07:40, 07/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ага. Если забыть про жёсткий лимит на количество мест для «из небогатых семей» — то да, попасть туда проще простого. И там в первые же дни скорежишься с пацанами из «богатых семей», у вас же так много всего общего. И выходишь оттуда сразу кофаундером юникорна, причем сразу на IPO.
     
  • 4.126, Аноним (117), 08:31, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ну социальный фактор еще никто не смог отменить. Если ты социофоб, даже жену хрен найдешь
     
  • 4.128, пох. (?), 09:48, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Забавляют истории про парней миллиардеров с "нуля" которые в Гарварде бакалавра получали.
    > Для начала узнайте как с "нуля" в Гарвард попасть, потом и

    Да попасть-то каждый дурак-сынок миллиардера может, если хорошие баллы продемонстрирует после колледжа - вот ВПАРИТЬ им систему слежки чтоб они САМИ радостно в нее включались - вот это реально талантище нужен был, это тебе не на пехепе кодить уметь! Ну и, разумеется, с детства вращаться в нужных кругах, поскольку чтобы что-то впарить, надо чтоб тебя вообще хотя бы стали слушать.

    Поскольку вариант "разместить рекламу в инстаграмме", как мы знаем по опыту сигнала - не вариант ;-)

     
     
  • 5.149, Прохожий (??), 00:14, 07/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Система слежки вторична, не передергивай. Система общения первична. И не надо было ничего "впаривать". Люди сами туда идут.
     
  • 2.121, Аноним (117), 08:18, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    они пишут свои языки, имплементации или форки потому что 3умерам скучно писать ентерпрайз софт, они хотят изобретать колеса, творить короче, а не работать. Тратят бабки компании одним словом. Изобретают то, что изобретено до них уже 100500 раз и работает как часы во всем мире
     

     ....большая нить свёрнута, показать (32)

  • 1.69, mapcuk (ok), 14:38, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как то читал пост, что Julia это как better python.
    Кто-нить юзает на проде?
     
     
  • 2.71, Анонин (?), 14:44, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чем Matlab не угодил?
     
     
  • 3.92, lockywolf (ok), 18:01, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем Matlab не угодил?

    Матлаб очень плох. Кроме того, что сам язык коряв, у него как не было, так и нет нормального cli.

    Вся continuous integration с ним ужасна.

    Ну и кроме того, в нём память течёт непонятно куда и как, и он очень медленный.

     

  • 1.70, Аноним (70), 14:44, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Они использовали свободное ПО, внесли в него изменения и срубили бала, но не вносили вклад обратно в ПО, кричали они. (с)
    А мне норм, зато язык популярный, им не боятся пользоваться, не боятся улучшать. И в конечном итоге вклад и изменения сделанный фейсбуком вольются в питон (ну если они действительно полезные).
     
     
  • 2.81, Козявка (?), 16:28, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    " но не вносили вклад обратно в ПО, "
    Никто никому ничего не должен. Доброе утро
     
  • 2.112, B (?), 23:21, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ну если они вообще вольются.
     
     
  • 3.129, пох. (?), 09:52, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > ну если они вообще вольются.

    В любом случае - какие претензии? Они-то принесли, вот, нате на лопате (нагибаться в ноженьки, как видим, не планируют). Если не берут - претензии к шва6одному по, переводящему время и усилия энтузиастов впустую.

    но это кого надо вклад, так что вольют.

     

  • 1.82, BrainFucker (ok), 16:43, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Во многих ситуациях результаты оцениваются как близкие к применению компиляторов MyPyC

    Хм, MyPy видел (но забил, т.к. особой необходимости не видел), а вот про MyPyC не слышал, вот это уже интересно. Надо будет заценить, бенчмарки выглядят неплохо:
    https://github.com/mypyc/mypyc-benchmark-results/blob/master/reports/summary-m
    https://github.com/mypyc/mypyc-benchmark-results/blob/master/reports/summary-m

    А то как-то пробовал Nuitka, но никаких ускорений не заметил.

     
     
  • 2.84, Анонин (?), 16:47, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё есть pyston
     
     
  • 3.86, Козявка (?), 17:01, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Ещё есть pyston

    Есть еще pinus у библиотеки frog

     
  • 3.88, BrainFucker (ok), 17:09, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ещё есть pyston

    Так его вроде так и не допилили и забросили?

     
     
  • 4.104, 20868 (?), 20:49, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Разрабы из dropbox ушли пилить 2-ую версию, но код пока закрыт.
     

  • 1.108, Аноним (108), 22:27, 05/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Что люди ни делают лишь бы не писать на golang. И я их понимаю. Сам не могу переваривать golang но для нагруженного веба альтернатив по сути нет.
     
     
  • 2.109, Аноним (109), 22:59, 05/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > для нагруженного веба альтернатив по сути нет

    Actix.

     
  • 2.122, Аноним (117), 08:21, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    шарп
     

  • 1.134, Аноним (134), 15:06, 06/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Static Python - экспериментальный компилятор байткода, использующий аннотации типов для генерации байткода, специфичного для каждого типа

    Мелкомякиши "придумали" PureBasic (который существует уже 20 лет).

     
     
  • 2.135, Аноним (134), 15:13, 06/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Мелкомякиши

    Фейсбукиши, пардон. Хотя какая разница :)

     

  • 1.154, economist (?), 12:49, 09/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Изобилие попыток и способов ускорить Python наблюдается на фоне растущего использования обычного CPython в проде/бэке/DS во все больших количествах. Это эволюция, медленная, ползучая.

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

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

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

    Все прогрессивные здравые люди давно знают, что все расы, нации, ... виды спорта, ЯП - равны, и что неравны только отдельные особенности, а + и - есть у всех и они никак не фатальны ни для чего.

    FB c их Инстой - безусловно, ничтожный проектишко по сравнению с написанными всеми нами сайтами-визитками, но надо отдать должное - они свои наработки отдали бесплатно, а вот мы - фигушки.  

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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