The OpenNET Project / Index page

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

Dropbox прекращает разработку Pyston. Опубликован финальный выпуск 0.6.1

05.02.2017 10:55

Опубликовано обновление проекта Pyston 0.6.1, в рамках которого компанией Dropbox развивалась высокопроизводительная реализация языка Python, созданная с использованием наработок проекта LLVM и использующая JIT-компиляцию для достижения высокой производительности. Код Pyston написан на языке C++ и распространяется под лицензией Apache.

Кроме исправления ошибок и устранения несовместимостей в новой версии в представлены значительные оптимизации производительности. При проведении штатных тестов Pyston 0.6.1 работает в среднем на 95% быстрее, чем CPython, в более реалистичных тестах на основе реальных web-приложений Pyston обгоняет CPython на 48%, а на серверах Dropbox - на 10%.

К сожалению дальнейшее развитие проекта будет зависеть от интереса к нему независимого сообщества - компания Dropbox приняла решение прекратить разработку своими силами и Pyston 0.6.1 стал последним релизом, подготовленным инженерами Dropbox в своё основное рабочее время. Проанализировав состояние проекта компания пришла к выводу, что на поддержание совместимости с CPython и обеспечение приемлемого потребления памяти требуется значительно больше ресурсов и затрат, чем ожидалось. Но решающим фактором отказа от проекта Pyston стали не оправдавшиеся завышенные надежды на производительность Pyston.

Несмотря на неплохие показатели в синтетических тестах, на реальных серверах Dropbox использование Pyston позволило добиться лишь ускорения кода на 10%, что значительно меньше ожидаемого (планировалось добиться повышения производительности как минимум в два раза). В текущем виде Pyston обеспечивает неплохую совместимость с CPython, достаточную для выполнения серверного кода Dropbox, но всё время при разработке ушло на обеспечение совместимости и снижение потребления памяти, а не на оптимизацию специфичных нагрузок. В итоге, более реалистичным путём оптимизации в Dropbox стала переработка кода, требующего высокой производительности, на других языках, таких как Go.

В ближайшее время занятые в разработке Pyston инженеры будут переключены на работу над другими проектами. Код Pyston останется открытым и доступным для развития сообществом. Рассматриваются возможности продолжения развития отдельных частей проекта или их переноса в CPython.

Напомним, что в отличие от проекта PyPy, также продвигающего идею применения JIT для ускорения выполнения Python-скриптов, в Pyston используется не трассирующий JIT, базирующийся на компиляции в машинный код часто выполняемых циклов, а применяемый в современных JavaScript-движках JIT на основе трансляции отдельных методов (method-at-a-time), который, по мнению инженеров Dropbox, является более перспективной технологией. Принцип работы Pyston сводится к разбору кода на языке Python и его трансляции в промежуточное представление LLVM (IR, Intermediate Representation). Далее IR-представление проходит обработку в оптимизаторе LLVM и передаётся для исполнения в JIT-движок LLVM, который преобразует IR-представление в машинный код.

Для получения информации о типах переменных для программ на динамическом языке Python применяется техника вероятностного предсказания типов объектов с последующим уточнением правильности выбора типа в процессе выполнения. Таким образом Pyston постоянно варьирует выполнение между двумя ветками - быстрой, когда данные о предсказанных типах подтверждаются, и медленной, используемой в случае рассогласования данных о типе. Работа может осуществляться в многопоточном режиме, допускающем параллельное выполнение нескольких нитей кода на языке Python и избавленном от глобальной блокировки интерпретатора (GIL, global interpreter lock). <

  1. Главная ссылка к новости (https://blog.pyston.org/2017/0...)
  2. OpenNews: Выпуск Pyston 0.6, реализации языка Python с JIT-компилятором
  3. OpenNews: Выпуск Pyston 0.5, реализации языка Python с JIT-компилятором
  4. OpenNews: Выпуск Pyston 0.4, реализации языка Python с JIT-компилятором
  5. OpenNews: Выпуск Cython 0.25, компилятора для языка Python
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45984-pyston
Ключевые слова: pyston, python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (136) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:10, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Ускорить один из популярных языков в два раза не так уж и просто, кто бы мог подумать?
     
     
  • 2.23, Аноним (-), 13:49, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    в PHP этого добились
     
     
  • 3.24, gogo (?), 14:13, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Это потому, что они поддержку mysql выкинули. Решительные ребята ведь ; )
     
     
  • 4.162, Аноним (-), 09:06, 10/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это потому что go вылупился а там еще rust какой-то болтается и прочие node.js. Тут то до всех, включая dropbox-а и дошло что мучаться с попытками привязато ракету к гадюке совершенно не обязательно. Достаточно взять более вменяемо сделанный ЯП. Вот Dropbox и переписал все сначала на go а потом и на rust. Потом наверное на что-нибудь еще перепишут и это будет все-таки проще чем тянуть свой JIT.
     
  • 3.66, Аноним (-), 20:08, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В PHP важна производительность. В 99% школьных лаб не нужна. Вот вся разница.
     
     
  • 4.80, Аноним (-), 20:55, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В PHP важна производительность. В 99% школьных лаб не нужна. Вот вся
    > разница.

    Пых у нас теперь прямо эталон, а пыхпышники, рассуждающие о производительности, производят впечатление знающих и рассудительных людей, а не мартышек в очках и с микроскопами!
    Про pypy мартышки уже забыли, да?
    https://blog.famzah.net/2016/02/09/cpp-vs-python-vs-perl-vs-php-performance-be

     
     
  • 5.88, Аноним (-), 21:44, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > The benchmarks here do not try to be complete, as they are showing the performance
    > of the languages in one aspect, and mainly: loops, dynamic arrays with numbers,
    > basic math operations.

    Это первое. Второе - я не рассуждаю о производительности вообще. Я лишь заявил, что для сайтов она имеет вполне определенное значение. Третье - в тесте php7 есть много мест, которые реализованы абсолютно не оптимально. Если требуется производительность, я бы реализовал всё иначе. Используется ли приведенный подход среднестатистически? Я не знаю и сомневаюсь. Ничего в пользу этого довода там не приведено. А значит и заявлять что он медленнее PyPy даже для представленных задач - неверно.

     
  • 5.89, Аноним (-), 21:55, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вот посмотрите сами, на какой код Вы ссылаетесь:
    > $j = (int)(($m*$m - 3) / 2);
    > $s[$j] = 0;
    > while ($j < $half) {
    >     $s[$j] = 0;
    >     $j += $m;
    > }

    Ничего не смущает?

     
  • 5.101, Аноним (-), 06:54, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Только #$@%^ будет сравнивать ЯП на основе одной числодробилки. Где XS-версия для Perl?! И еще зовет себя программистом... А другие пограммисты ему верят и распространяют эту #$%$^.
     
     
  • 6.116, Аноним (-), 16:01, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Только #$@%^ будет сравнивать ЯП на основе одной числодробилки. Где XS-версия для
    > Perl?! И еще зовет себя программистом... А другие пограммисты ему верят
    > и распространяют эту #$%$^.

    О, как у пыхапистов бомбануло. Кстати, как назвать тех, кто сравнивает вообще без всяких числодробилок?
    Вообще, пыхописты, рассуждающие о производительности, смешны. Пых даже в своей нише хорошо так сливает:
    https://www.techempower.com/benchmarks/
    https://www.techempower.com/benchmarks/#section=code&hw=ph&test=fortune


     
     
  • 7.117, Anonim (??), 16:26, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Сливаете непроверенные источники ради разведения холивара, доверия вам нет.
     
     
  • 8.118, Аноним (-), 17:50, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Зато голословные умствования анонима насчет производительности PHP - отличный и ... текст свёрнут, показать
     
     
  • 9.123, Аноним (-), 10:44, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Успокойтесь Я оценил Ваш уровень компетентности по первой Вашей ссылке Мой вер... текст свёрнут, показать
     
     
  • 10.127, Аноним (-), 18:22, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Спорить с пыхапистоми о производительности Зачем Это все равно что обсуждать м... большой текст свёрнут, показать
     
  • 7.126, Аноним (-), 18:11, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да, бомбануло Я любитель Без понятия Я что, похож на гида для туристов Мужик... большой текст свёрнут, показать
     
     
  • 8.128, Аноним (-), 18:48, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А можно поподробнее, что там именно и кому должно быть очевидно А то мне вот оч... текст свёрнут, показать
     
     
  • 9.129, Аноним (-), 20:42, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если тебя это действительно интересует, то ты берешь и открываешь исходники Ты ... большой текст свёрнут, показать
     
     
  • 10.130, Аноним (-), 22:15, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Берешь, открываешь исходники чего-то CPython, Jthon, Rakudo , читаешь И сразу... большой текст свёрнут, показать
     
     
  • 11.132, Аноним (-), 22:35, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В каком месте Я даже боюсь узнать правду Не ужели ты узнал, что оба написаны н... текст свёрнут, показать
     
     
  • 12.135, Аноним (-), 03:09, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    _Реализации_ того же питона есть не только на си, но и на яве или шарпе Cи и ст... большой текст свёрнут, показать
     
     
  • 13.138, Аноним (-), 10:24, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я зафейлился насчет строгой типизации Как и ты Но, я любитель, мне можно Я ис... большой текст свёрнут, показать
     
     
  • 14.147, Аноним (-), 18:47, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Тут уже выше упоминали RTFM In Perl, the operator determines what operation is ... большой текст свёрнут, показать
     
     
  • 15.153, Аноним (-), 22:27, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    И что К чему ты это сказал Ты вообще понял фразу In Perl, the operator determ... большой текст свёрнут, показать
     
     
  • 16.156, Аноним (-), 02:11, 09/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не видишь разницу между контекстом и оператором Оператор не зависит от конте... большой текст свёрнут, показать
     
     
  • 17.160, Аноним (-), 01:07, 10/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В контексте оператора естевенно Ведь, если подумать, кроме операторов ничего не... большой текст свёрнут, показать
     
  • 7.131, Аноним (-), 22:28, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Основной usecase PHP это: https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=query

    Как всегда, пограммист не разобрался в вопросе и сдулся. Даже не стану отвечать почему и почему не так. Учись разбираться сам. Начни с изучения английского.

     
     
  • 8.133, Аноним (-), 01:21, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вижу дарт, плюсы, го и яву перед пыхом, с хорошим таким отрывом Самокритично ... текст свёрнут, показать
     
     
  • 9.142, Аноним (-), 15:26, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А чего ты ожидал Нет, давай по делу Скажи, когда ты в последний раз видел серв... текст свёрнут, показать
     
     
  • 10.144, Аноним (-), 15:46, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лидирующего пыха, конечно же Какие-то невнятные отмазки То в пыхе важна произв... большой текст свёрнут, показать
     
     
  • 11.145, Аноним (-), 16:21, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Отмазки только у тебя Про производительность я вообще не заикался Заикался о н... большой текст свёрнут, показать
     
     
  • 12.146, Аноним (-), 18:20, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http www opennet ru openforum vsluhforumID3 110365 html 66 Перевод стрелок не ... большой текст свёрнут, показать
     
     
  • 13.154, Аноним (-), 22:37, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Анонимов на опеннет много Каждый отвечает сам за себя Я ничего не говорил про ... большой текст свёрнут, показать
     
     
  • 14.159, Аноним (-), 18:30, 09/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Но только ты один в белом Или с чего ты так усердно педалируешь ссылку на 10050... большой текст свёрнут, показать
     
     
  • 15.161, Аноним (-), 02:10, 10/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Шах и мат ЛОЛ Завернул зачетно, надо в рамку и на стенку Ржу не могу АХАХАХА... текст свёрнут, показать
     
  • 4.98, Отражение луны (ok), 00:19, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смешно читать о производительности в сраном синхроне.
     
  • 3.134, Аноним (-), 02:49, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Так речь же идет не о Python а Cython, который и так был создан чтобы ускорить Python.
    Некорректно сравнивать PHP и Cython.
     
     
  • 4.141, Аноним (-), 15:17, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Где ты тут Cython увидел? CPython == интерпретатор, который хостится на python.org
     

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

  • 1.2, proud_anon (?), 11:10, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +25 +/
    Поняли наконец, что идея использования питона в качестве высокопроизводительного языка ущербна изначально. Костыли только отсрочили момент осознания. Быстро, Дешево, Качественно - выбери только 2 критерия.
     
     
  • 2.8, Аноним (-), 11:39, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Быстро, Дешево, Качественно - выбери только 2 критерия.

    Выбираю Быстро и Качественно. Что делать?

     
     
  • 3.10, Xasd (ok), 11:46, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    rust наверно?

    "быстро" -- я так понимаю имеется ввиду "быстро работает программа"

    "дёшево" -- значит "быстро и дёшево написать на коленке программу"

    "качественно" -- "на 1 процент кода -- допустить маленькую вероятность в нём ошибки"

    "дёшево"+"качественно" это понятное дело ниша для Python

     
     
  • 4.13, Аноним (-), 12:10, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Вы шутите? Rust далеко не быстрый. Да и не слишком качественный с его существенными изменениями в минорных версиях.
     
     
  • 5.68, Аноним (-), 20:10, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Rust статических оптимизаций доступно больше, чем в с++.
     
  • 5.121, Alexey (??), 10:30, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В тестах debian скорость алгоритмов, реализованных на rust была почти что такая же как и у C++.
     
  • 3.15, Аноним (-), 12:36, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ruby? Elixir?
     
     
  • 4.30, name (??), 15:04, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ruby - это тот же Python: красив, удобен и фичаст, но тормозной и с GIL'ом.
    А Elixir - это вообще в другую степь. Лучше уже node.js.
     
     
  • 5.36, Аноним (-), 15:28, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Что значит Elixir - в другую степь? http://www.phoenixframework.org/
     
  • 5.38, Аноним (-), 15:34, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Ruby - это тот же Python: красив, удобен и фичаст, но тормозной
    > и с GIL'ом.

    GIL используется и в CPython. А вот в JRuby его нет.
    На счёт тормознутости - https://benchmarksgame.alioth.debian.org/u64q/ruby.html

    В 0.5-0.7 раза "тормознее" питона, как-то странно говорить. Проще сказать "быстрее".

     
     
  • 6.42, angra (ok), 16:39, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Избирательность зрения у тебя потрясающая. Сам дал ссылку, в которой ruby быстрее только на 5 тестах из 10 и медленнее на других 5, казалось бы паритет. Но нет, на вторые пять тестов можно просто закрыть глаза и сделать вид, что их нет.
     
     
  • 7.95, Аноним (-), 23:25, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    потому что тесты какашные, сравните код тестов и убедитесь в этом сами.
     
     
  • 8.97, angra (ok), 23:46, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там вообще-то можно предложить свой вариант кода для любого из тестов на любом и... текст свёрнут, показать
     
     
  • 9.100, Аноним (-), 01:55, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Уже проходили это, тесты заворачивают с формулировкой что используются оптимизац... текст свёрнут, показать
     
  • 4.39, Parsee (ok), 16:15, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просили ведь, качественно!
    Динамика это быстро и дёшево. Quick and dirty.
     
  • 3.16, Anonymous1 (?), 12:54, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> Быстро, Дешево, Качественно - выбери только 2 критерия.
    > Выбираю Быстро и Качественно. Что делать?

    Платить много-много денег для разработки. По-моему, очевидно.

     
  • 3.17, бедный буратино (ok), 13:23, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    заплатить миллион за python
     
  • 3.29, all_glory_to_the_hypnotoad (ok), 14:56, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Выбираю Быстро и Качественно. Что делать?

    бери с++

     
  • 3.50, Аноним (-), 17:51, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> Быстро, Дешево, Качественно - выбери только 2 критерия.
    >Выбираю Быстро и Качественно. Что делать?

    Готовить бабки на java+с++ || go+c++ программистов.

     
  • 3.59, Семилетов (ok), 19:05, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Выбираю Быстро и Качественно. Что делать?

    c#

     
     
  • 4.73, h0rn3t (?), 20:31, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ахахаха
     
  • 3.65, Diozan (??), 20:06, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Выбираю Быстро и Качественно. Что делать?

    Деньги готовить. Ибо не дёшево.

     
     
  • 4.82, Аноним (-), 21:05, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не дешево, но зато правильно. Полный контроль. При любой проблеме винить кроме собственных программистов будет некого.
     
  • 3.75, Аноним (-), 20:32, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    c++11 + Qt позволяют писать код не менее быстро, зато на порядок быстрее выполняющийся.
     
     
  • 4.102, анан (?), 09:34, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А в результате проект типа KDE забагованный...
     
     
  • 5.103, Anonim (??), 09:39, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю чего та у KDE, на моё ПО на Qt у пользователей нет жалоб..., разве что за очень редким исключением. Полагаю у них просто бардак в организации.
     
  • 3.87, Лютый жабист_ (?), 21:37, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если заранее посчитать зп прогеров, надо было ставить нормальное железо (что дешевле, чем нанять штат писателей Крутого Нового Языка и в итоге профукать бабло и не получить роста. А из нормальных языков (те не си) самый крутой известно кто
     
  • 2.9, cmp (ok), 11:45, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Неужели хоть до кого-то доходит, что все эти скрипто поделки лишь саппорт, и городить огород типа пипи и прочего тупик и неизбежное фиаско.
     
  • 2.70, Vkni (ok), 20:22, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Быстро, Дешево, Качественно
    > - выбери только 2 критерия.

    Ну те же простые программы на Ocaml'е визуально отличаются от питоновских только заменой def на let да убиранием двоеточий. Производительность - половина от C++ной.

     
     
  • 3.151, Липецкая налоговая (?), 21:45, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    здесь не любят OCaml, жди мунусов.
     
  • 2.125, Аноним (-), 11:29, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    На с++ с учетом последнего стандарта и либ на все случаи жизни (Boost, Qt), код пишется не на много медленнее, где-то на 20%, не больше. Зато дает гарантированную производительность. Видимо у них там совсем всё глубоко запитонено, раз они решились заняться исследованиями в области оптимизации, не дающими никаких гарантий, нежели просто переписать на другой язык.
     

  • 1.3, Аноним (-), 11:12, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Мда уж. Вот тебе и "сверхбыстрый питон". Рожденный ползать, как говорится,..
     
     
  • 2.12, Аноним (-), 12:02, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Надо понимать, что питон оказался достаточным для достижения ими того положения, в котором они находятся и которое недостижимо для 99.999% проектов. И теперь пришло время идти дальше. А рядовым проектам питона хватит за глаза, причём без оптимизаций. Ещё Брукс писал, что "первое правило оптимизации - не занимайтесь оптимизацией".
     
     
  • 3.20, www2 (ok), 13:42, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Прямо так и писал - "не занимайтесь"? Врёте нещадно. Не занимайтесь ПРЕЖДЕВРЕМЕННОЙ оптимизацией. Сначала пишем, потом ищем узкие места, узкие места оптимизируем. Писать сразу "оптимизированно" не стоит, потому что как правило получается экономия на спичках в ущерб читабельности кода.
     
     
  • 4.112, Anonim (??), 13:28, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Писать сразу "оптимизированно" не стоит

    Это уже баянoм стало... Каждый год находитя очередной цитирующий ее человек, при полном непонимании смысла. Вне изначального контекста она неверна. Как минимум надо писать так:
    > Писать сразу "оптимизированно" в ущерб читаемости, когда недостаток производительности зараннее не очевиден, не стоит.

    Если есть возможность писaть сразу более оптимальный код без всяких негaтивных пoследствий - ничего плoхого в этом нет. Есть дофига ситуаций, когда на переписывание настроченного гoвнокода уходило куда больше времени, нежели если бы подумали и сразу применили оптимальный по скорости алгоритм, архитектуру. Примeр - мнoгопоточность. Переписать однoпоточное приложение на многoпоточное иногда задача фактически недостижимая.

     

  • 1.4, Аноним (-), 11:14, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не шмогли. "Перспективная технология", да, в то время как у PyPy на синтетике на порядок быстрее здесь всего в два раза. Но надо снять шляпу, синдром Вьетнама не развился.
     
     
  • 2.5, Аноним (-), 11:26, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вы там не забывайте, что этот ваш пи-пи является подмножеством, а не самим питоном.
    Питон тормозной. С этим нужно смириться.
     
     
  • 3.7, Филипп Филиппович (ok), 11:36, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    PyPy — это не RPython. RPython — это то, на чём PyPy написан. А реализует PyPy именно полноценный Python.

    И потом, тормоза — в головах. Когда на Python пишется код, по-настоящему критичный по производительности и памяти (кроме случаев, когда всё критичное упрятано, скажем, в библиотеку на C/C++, а на Python сделана только логика обвязки), это проблема не столько языка, сколько выбора языка. Для фрагментов, которые обещают стать бутылочными горлышками, на Python можно писать макет, самую первую версию и т.п. Но и только.

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

     
     
  • 4.11, Аноним (-), 11:58, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Слуште, Филип Филипыч. А зачем обвязки на тормозном языке делать, когда быстрых навалом?
    Ниже смотри цитату из блога больших любителей питона.
     
     
  • 5.14, Аноним (-), 12:36, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что быстрее сделать на питоне, а потом узкие места (как всего лишь авторизационную проксю) оптимизировать. Но лично я к таким историям всегда со скепсисом отношусь, так как не раз и не два приходил на новый проект и поднимал производительность питонокода на порядок. Даже не трогая pypy. Такие дела. Хотя никто не запрещает хвататься за go, а не профайлер, это да.
     
     
  • 6.19, Аноним (-), 13:40, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    О, ну конечно Вот вы бы решили проблему, повысив производительность на порядок ... большой текст свёрнут, показать
     
     
  • 7.31, proud_anon (?), 15:08, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Он тормозной и код выглядит как..." Отличная метафора, сохраню на память.
    Теперь наши свинцовые костыли для бега, благодаря новейшим разработкам в генной инженерии могут быть выкрашены в стойкий, чудесный нежно-изумрудный цвет. Наши костыли - идеальный подарок как для начинающего, так и опытного питониста. Ведь всем известно, что без костылей они не могут ходить.
     
  • 7.37, Аноним (-), 15:33, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > И место ему там, где требуется,
    > чтобы непрограммисты могли программировать. Это вузы и институты.

    Только там для этого почему-то предпочитают жабку.

    > Питон превосходит другие языки только в создании образа идеального языка программирования

    И опять мимо. Классика здесь паскаль. Который заменили (или заменяют, по мере слоупочности) на жабку и уж потом, самыми передовыми, на питон.

    О, слышу гулкие раскаты грома. Похоже жабисты прочитали и впечатлились )

     
  • 5.22, funny.falcon (?), 13:47, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что, до появления Go, Python был самым "легко усвояевым" языком общего назначения.
    Т.е. из тех языков, на которых можно было писать "почти-всё-что-угодно", он был проще всего в изучении, и имел меньше всего косяков в самом языке и рантайме (чем выгодно отличался от perl и php).

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

     
     
  • 6.35, Аноним (-), 15:22, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что, до появления Go, Python был самым "легко усвояевым" языком общего
    > назначения.
    > Т.е. из тех языков, на которых можно было писать "почти-всё-что-угодно",

    Совершенно внезапно, "самым-самым" в этом плане был VB. Сперва 5-6, потом уже .NET.
    Чуть более элитная школота любила дельфи. Главный аргумент – и там и там, гуи с формочками можно было легко и просто нащелкать мышкой, в отличие от питонов и прочих. Да и привлекательность для типичного «общеназначенца» кучи платных компонентов, как и возможности сразу, «из коробки», не открывать код и деплоить бинарник, недооценивать не следует.

     
     
  • 7.46, all_glory_to_the_hypnotoad (ok), 17:11, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Так было ещё до популярности питона, когда в общем то айти образование везде было ниже плинтуса. А сейчас уровень немного подрос и везде впихивают именно питон без всякой гуйни.
     
  • 4.33, all_glory_to_the_hypnotoad (ok), 15:14, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В реальности всё происходит несколько иначе Если уж меня совсем прижало и пришл... большой текст свёрнут, показать
     

  • 1.6, Аноним (-), 11:32, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    https blog selectel ru oblachnoe-xranilishhe-obnovlenie-api Слово людям, кото... большой текст свёрнут, показать
     
     
  • 2.21, эцсамое (ok), 13:45, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    1 миллион хелловорлдов в секунду на питоне:

    https://medium.com/@squeaky_pl/million-requests-per-second-with-python-95

     
  • 2.41, й (?), 16:31, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    т.е. они сравнивают prefork-архитектуру (wsgi) с event-driven. для прокси, понятно, по процессу на запрос, будет очень неоптимально. asyncio? не, не слышали.
     
     
  • 3.51, all_glory_to_the_hypnotoad (ok), 17:54, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    prefork архитектура, event-driven и wsgi ортогональны друг другу. В частности wsgi это всего лишь програмный интерфейс, prefork способ бутстрапа секелета сервиса и e-d - метод организации асинхронности. Упомянутый uwsgi в статье сочетает сразу все эти технологии и нарвряд ли существует что-то более лучшее для убогого питона.
     
     
  • 4.55, й (?), 18:38, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    rtfm. WSGI doesn't work with async. т.е. запустить-то можно, но асинхронным оно быть перестаёт и работает с wsgi только по схеме "один клиент -- один воркер"
     
     
  • 5.56, all_glory_to_the_hypnotoad (ok), 18:50, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты просто тупoй и совсем не понимаешь что читаешь. Вот для совсем овoщей разжёвано как это всё работает

    http://uwsgi-docs.readthedocs.io/en/latest/Async.html#running-uwsgi-in-async-

     
     
  • 6.60, й (?), 19:11, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    http://www.tornadoweb.org/en/stable/wsgi.html

    In WSGI mode asynchronous methods are not supported. This means that it is not possible to use AsyncHTTPClient, or the tornado.auth or tornado.websocket modules.

     
     
  • 7.108, Аноним (-), 10:26, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    То что тонадо не может в асинхронный wsgi не значит что и другие не могут. Так то!
     
     
  • 8.114, й (?), 14:33, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    я вообще сомневаюсь, что у этих программистов на uwsgi было что-то асинхронное ... текст свёрнут, показать
     

  • 1.18, бедный буратино (ok), 13:23, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как корабль назовёте - так он вам и поплывёт
     
     
  • 2.26, Аноним (-), 14:26, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее как корабль назовете- так он и по ползет)
     
  • 2.32, Аноним (-), 15:12, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А «Корытом» назовете —
    Не уйдете от беды:
    Эта шхуна и в болоте
    Нахлебается воды.
    Эта шхуна и в болоте
    Нахлебается воды.

    ;-)

     

  • 1.27, all_glory_to_the_hypnotoad (ok), 14:30, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Несмотря на неплохие показатели в синтетических тестах, на реальных серверах Dropbox использование Pyston позволило добиться лишь ускорения кода на 10%, что значительно меньше ожидаемого ... более реалистичным путём ... стала переработка кода ... на других языках, таких как Go.

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

     
     
  • 2.71, Аноним (-), 20:26, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всё просто, люди не хотят переучиваться, становятся ярыми фанатиками своей позиции. Мультикомбайность языка позволяет его использовать под всё на свете, но это не значит что это правильно. Как следствие когда-то всё таки возникает понимание данного факта. А тут еще и весь мир рассмешили.
     
     
  • 3.94, all_glory_to_the_hypnotoad (ok), 23:08, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Чему не хочет переучиваться хрюндель который продвигал pyston?
     

  • 1.28, Аноним (-), 14:36, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Тут прямо эксперты языков программирования. Один, не сможет усидеть на всех стульях сразу. Не надо так идеализировать мир
     
     
  • 2.72, Аноним (-), 20:30, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Python еще как сидит. С такой сборной фанатиков пересидит и пересмешит всех остальных.
     

  • 1.34, Аноним (-), 15:16, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нельзя ускорить то, что и так работает запредельно быстро.
     
  • 1.40, Аноним (-), 16:23, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем в этом проекте какая то там совместимость с другим проектом - CPython? Вот этого я не понял. Это ведь два разных проекта. Кому нужна совместимость между Linux и Andoid или между WebKit и Blink? Да никому, их нет и чем дальше, тем сильнее они разойдутся.
     
     
  • 2.57, angra (ok), 18:52, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это же очевидно, чтобы без модификаций выполнять уже существующий код на CPython.
     
     
  • 3.62, Аноним (-), 19:32, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вот смотрите, на Scala свой код, а на Java свой, они похожи, но они разные и каждый для своего дела и всех это устраивает, тогда в чём проблема здесь?
     
     
  • 4.74, angra (ok), 20:32, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А причем здесь Scala и Java? Сдается мне, что ты вообще не понимаешь, о чем речь идет. А заодно не понимаешь, каким именно образом код на Scala и Java может сосуществовать в одном проекте и почему в случае Pyston и CPython подобное невозможно.
     
  • 4.85, Aleks Revo (ok), 21:18, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что хотели "всё быстро заработало", а не "создали свой ни с чем не совместимый язык и переписали всё на нём".
    Пришли в итоге к компромису и переписывают всё на уже созданном быстром языке, проверенном и отточенном под их задачи, хотя и не идеальном.
     
     
  • 5.92, Аноним (-), 22:35, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А разработчики CPython ничего из пистона в свой проект не привнесут?
     

  • 1.44, Аноним (-), 16:55, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В отличие от ряда аналогов, Dropbox не использует шифрование данных на стороне клиента, что, в частности, сделало возможным инцидент 19 июня 2011 года, когда из-за ошибки в обновлённом программном обеспечении сервера в течение четырёх часов был возможен вход в любой аккаунт с использованием любого пароля.
     
     
  • 2.76, Аноним (-), 20:35, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это был просто день открытых дверей
     

  • 1.67, Аноним (-), 20:08, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что и следовало ожидать. В нашем проекте идет переезд на Java и возможно Scala
     
  • 1.69, Аноним (-), 20:14, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да всё нормально, это естественное стечение обстоятельств. Люди, просто инструменты надо подбирать по назначению, а не по удобству. Что вы думали, Python заменит все остальные языки? Нет конечно. У него есть своя небольшая ниша, как у матлаба, под которую он заточен. И ожидать от него большего - глупо.
     
     
  • 2.136, Аноним (-), 08:12, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это должно быть написано везде, вместо рекомендаций использовать питон для всего.
     

  • 1.77, Аноним (-), 20:35, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как тут у всех быстро отношение к питону поменялось. В прошлых новостях были одни восхваления. А как написали что да, действительно, питон не для нагруженных сервисов, так понеслось.
     
     
  • 2.86, Aleks Revo (ok), 21:21, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как тут у всех быстро отношение к питону поменялось. В прошлых новостях
    > были одни восхваления. А как написали что да, действительно, питон не
    > для нагруженных сервисов, так понеслось.

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

     

  • 1.79, Аноним (-), 20:41, 05/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Помню какой был скандал у Ubuntu, когда они долгие месяцы пытались оптимизировать менеджер приложений, и всё бестолку, продолжал безбожно тормозить. В итоге признали ошибку, и убрали его. Тут видим аналогичную ситуацию. Только с явно большими потерями. Дураки, чё сказать. Надо смотреть на вещи объективно, а не через призму упрямости.
     
     
  • 2.83, Аноним (-), 21:09, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Помню какой был скандал у Ubuntu, когда они долгие месяцы пытались оптимизировать
    > менеджер приложений, и всё бестолку, продолжал безбожно тормозить.

    Очередной знаток реалий. На опеннете анонимы годами жаловалисть на тормозной питон в убунте в целом и на этот самый менеджер в частности.

    > В итоге признали ошибку, и убрали его.

    Правильно, кривой код там был совсем ни при чем.

     

  • 1.99, pavlikvk (?), 01:41, 06/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кучка пейсателей из конторки чье творение замечательно заменяется любым популярным веб-сервером с DAV надоело тратить время на совместимость своих костылей, но плохой именно Python, да.

    Я не знаю что там такого у Dropbox на Python, но очевидно, что узкое место - это I/O операции. Нужно было не свои монстроузные JIT-костыли выдумывать, а просто взять asyncio.

     
     
  • 2.104, Anonim (??), 09:43, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вам, конечно, виднее
     
     
  • 3.111, pavlikvk (?), 12:46, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Вам, конечно, виднее

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

     
  • 2.105, Anonim (??), 09:46, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по новости, они остро нуждаются в подобных диванных аналитиках. Может вам стоит предложить свою кандидатуру?
    >  но очевидно, что узкое место - это I/O операции

    Уверен, Вы замените с десяток их экспертов, которые даже на месте не могут определиться в чём проблема.

     
     
  • 3.106, Аноним (-), 10:00, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Я не знаю что там такого у Dropbox на Python, но очевидно, что узкое место - это I/O операции.

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

     
     
  • 4.113, Anonim (??), 13:31, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, как видите, они вот только осознали, что так можно
     
  • 2.107, Аноним (-), 10:21, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >просто взять asyncio

    IO не зависит от ЯП, парадигмы программирования -- все зависит от пряморукости. И уж поверь, проседоны по IO есть константа. И хоть пиши на ассемблере производительность не увеличится.Свой asyncio проверь на 100500 одновременных запросах. Ждем отчета.

    P.S. Хотя, нет, не ждем, ты ж никогда отчеты не писал.

     
     
  • 3.110, pavlikvk (?), 12:41, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ты просто не в курсе асинхронного программирования, а пытаешься что-то рассуждать. На асинхронщине можно и 100500 и 201000 rps держать. А asyncio это или NodeJS уже и не так важно. Жду от тебя аналога последних на ассемблере.
     
     
  • 4.119, Аноним (-), 19:40, 06/02/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я как раз в курсе Каждый твой асинхронный запрос, висячий и ожидающий возможнос... большой текст свёрнут, показать
     

  • 1.109, DVDV (?), 10:45, 06/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Быстро, Дешево, Качественно - выбери только 2 критерия." Похоже все три - это NIM (Nimrod). Синтаксис питона, скорость CPP.


     
     
  • 2.120, Аноним (-), 05:40, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Продолжайте, продолжайте фразу. ...маргинальность лиспа.
     
     
  • 3.124, DVDV (?), 10:57, 07/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Как всё в начале маргинально. Потом что-то "выстреливает", что-то нет. Последнее непредсказуемо.
     
  • 2.137, Аноним (-), 08:16, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > "Быстро, Дешево, Качественно - выбери только 2 критерия." Похоже все три -
    > это NIM (Nimrod). Синтаксис питона, скорость CPP.

    Вопрос - почему не писать сразу на Си?

     
     
  • 3.139, DVDV (?), 10:38, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Си- устаревший синтаксис (нет выделения блоков отступами), нет модульности, нет сборки мусора, нет контроля выхода за границы массива. Всё это есть в Nim. Синтаксический сахар питона. При том компиляция в нативный код, это не интерпретатор. Поскольку использует вылизанный gcc, мала вероятность глюков и нет нужды переписывать под разные процессоры, это gcc делает.
     
     
  • 4.140, Аноним (-), 11:15, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Расскажи какой gcc хороший бсд-шникам. Как они там выпиливали его, ибо неясно, что есть "стандартная библиотека", "стандартные вызовы". По факту, выхлоп от gcc должен быть открыт под GPL, как сам gcc. Дядя Столлман просто водит всех занос.
     
  • 4.148, Аноним (-), 19:51, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >устаревший синтаксис (нет выделения блоков отступами)

    Уууууууу.

     
  • 3.143, Аноним (-), 15:27, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> "Быстро, Дешево, Качественно - выбери только 2 критерия." Похоже все три -
    >> это NIM (Nimrod). Синтаксис питона, скорость CPP.
    > Вопрос - почему не писать сразу на Си?

    Пиши! Разрешаю!
    Заодно уговори авторов ranger переписать его на сишке и помоги vifmщикам, а то их детище, хоть и на сишечке, позорно^W нехорошо сливает, при включенных превиюшках, по скорости этому самому рейнджеру.

    Еще, можешь обратить свой взор на mps-youtube. Тоже питон. Не труЪ, нужно переписать. Не знаю правда, что это даст в плане экономии ресурсов, но возможно, если запускать и искать пару сотен альбомов одновременно, что-то можно будет и заметить невооруженным глазом!

    arandr - питонообертка вокруг xrandr. xpra, прокся для иксов ни питоне.
    Увы, тут вся надежда только на тебя!


     
     
  • 4.149, Аноним (-), 19:52, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >[оверквотинг удален]
    > Пиши! Разрешаю!
    > Заодно уговори авторов ranger переписать его на сишке и помоги vifmщикам, а
    > то их детище, хоть и на сишечке, позорно^W нехорошо сливает, при
    > включенных превиюшках, по скорости этому самому рейнджеру.
    > Еще, можешь обратить свой взор на mps-youtube. Тоже питон. Не труЪ, нужно
    > переписать. Не знаю правда, что это даст в плане экономии ресурсов,
    > но возможно, если запускать и искать пару сотен альбомов одновременно, что-то
    > можно будет и заметить невооруженным глазом!
    > arandr - питонообертка вокруг xrandr. xpra, прокся для иксов ни питоне.
    > Увы, тут вся надежда только на тебя!

    Мне питон не уперся, как бы perl + xs.

     
     
  • 5.150, Аноним (-), 21:23, 08/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне питон не уперся, как бы perl + xs.

    Очень интересно, даже не смотря на то, что новость о питоне, да и ветка обсуждения тоже.
    Держи нас в курсе!
    Правда, постарайся в следующий раз все же прочитать, на что отвечаешь.

     

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



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

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