LINUX.ORG.RU
ФорумTalks

А что никто не пишет про релиз Python'а версии 3.11?

 ,


0

2

А сабж таки случился, да: https://docs.python.org/3.11/whatsnew/3.11.html .

Положено начало урезанию стандартной библиотеки. Пока что половину только заdeprecate'или, удалять будут года через 2.

И вот тогда, как мне думается, будет закат Python'а. Почему? Ну, теперь слишком большой акцент будет на pypi.org. А его как раз таки и начнёт колбасить. Во-первых, ряд библиотек там уже подзаброшены. И на них могут основываться более живые. Вряд ли всё протестируют до самого последнего момента. А потом всё внезапно развалится. Во-вторых, с таким подходом наступит эпоха библиотек наподобие той «leftpad.js». Т.е., очевидно, людям нужен функционал стандартной библиотеки и выпиленное будут запиливать новыми 3rd party библиотеками. И вот тут наступит эпоха хаоса и бэкдоров. Очевидно, что не все будут честно запиливать положенный функционал, левые библиотеки регулярно удаляются оттуда, а программисты будут во всём этом путаться ещё больше.

★★★★★
Ответ на: комментарий от question4

От балды написал, лел, если честно. xD
https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html
В зависимости от бенча результаты на самом деле сильно разные и постоянно меняются с обновлениями компиляторов/рантаймов. А еще народ пытается отмыть свой любимый язычок, не спит ночами и засылает более оптимизированные версии. Прямое использование интринсиков/векторных инструкций не включено в стандартный рейтинг, для него отдельная категория unsafe.
Но, например, с Мандельбротом код на C справляется за 1.63 секунд, С++ 1.03 секунды а самый оптимизированный Python код кранчит 178 сек.

В любом случае наглядно видно, что медленней Пистона может быть только Руби, а даже в сравнении с PHP его «производительность» - просто курам на смех.

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

код на C справляется за 1.63 секунд, С++ 1.03 секунды а самый оптимизированный Python код кранчит 178 сек.

То есть не в 170, а всего в 109 раз. 20 лет назад было ближе к 600. Прогресс налицо — нагнали Перл, который тогда был самым быстрым скриптовым. И это без оптимизаций 3.11 :)

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

Вот только cpan бы кто почистил. Ойстоп, я ж пользуюсь модулями десятилетней давности. Отставить чистить.

massimus ★★★
()

На FreeBSD

DEFAULT_VERSIONS+=python=3.11 python3=3.11 python2=2.7 в /etc/make.conf:

% portmaster -gD thunderbird-102.4.1
...
...
...
js/src> checking for library containing dlopen... (cached) none required
js/src> checking for dlfcn.h... (cached) yes
js/src> checking for dladdr... (cached) yes
js/src> checking for socket in -lsocket... (cached) no
js/src> checking for pthread_create in -lpthreads... (cached) no
js/src> checking for pthread_create in -lpthread... (cached) yes
js/src> checking whether /usr/local/bin/clang13 -std=gnu99 accepts -pthread... yes
js/src> checking for clock_gettime(CLOCK_MONOTONIC)... (cached)
js/src> checking for sin in -lm... yes
js/src> checking for res_ninit()... (cached) yes
js/src> checking for nl_langinfo and CODESET... yes
js/src> checking for __thread keyword for TLS variables... (cached) yes
js/src> checking for valid optimization flags... yes
js/src> checking for -pipe support... yes
js/src> checking what kind of list files are supported by the linker... linkerscript
js/src> checking for malloc.h... (cached) yes
js/src> checking whether malloc_usable_size definition can use const argument... yes
js/src> checking for valloc in malloc.h... no
js/src> checking for valloc in unistd.h... yes
js/src> checking for _aligned_malloc in malloc.h... no
js/src> updating cache ./config.cache
js/src> creating ./config.data
Creating config.status
Traceback (most recent call last):
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/configure.py", line 349, in <module>
    sys.exit(main(sys.argv))
             ^^^^^^^^^^^^^^
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/configure.py", line 157, in main
    config_status(js_config, execute=False)
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/configure.py", line 281, in config_status
    partial_config.write_vars(sanitized_config)
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/python/mozbuild/mozbuild/backend/configenvironment.py", line 355, in write_vars
    self.substs._fill_group(substs)
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/python/mozbuild/mozbuild/backend/configenvironment.py", line 250, in _fill_group
    new_files.add(Path(self._write_file(k, v)))
                       ^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/python/mozbuild/mozbuild/backend/configenvironment.py", line 232, in _write_file
    with FileAvoidWrite(filename) as fh:
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/python/mozbuild/mozbuild/util.py", line 353, in __exit__
    self.close()
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/python/mozbuild/mozbuild/util.py", line 277, in close
    existing = _open(self.name, self.mode)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/ports/usr/ports/mail/thunderbird/work/thunderbird-102.4.1/python/mozbuild/mozbuild/util.py", line 63, in _open
    return io.open(path, mode, encoding="utf-8", newline="\n")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid mode: 'rU'
===>  Script "configure" failed unexpectedly.
Please report the problem to gecko@FreeBSD.org [maintainer] and attach the
"/tmp/ports/usr/ports/mail/thunderbird/work/.build/config.log" including the
output of the failure of your make command. Also, it might be a good idea to
provide an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/mail/thunderbird
*** Error code 1

Stop.
make: stopped in /usr/ports/mail/thunderbird

===>>> make build failed for mail/thunderbird
===>>> Aborting update

===>>> Update for thunderbird-102.4.1 failed
===>>> Aborting update

Вот так вот.

Если оставить прежнюю строку DEFAULT_VERSIONS+=python=3.10 python3=3.10 python2=2.7 сборка происходит нормально.

iZEN ★★★★★
()

Firefox 107.0 всё ещё требует для сборки предыдущую версию Python’а.

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