Size: a a a

2020 April 22

A

Alex in graalvm_ru
_ssl.c файл из кодовой базы cpython занимает 6400 строк врапер кода над openssl =)
это не “немного муторно”
источник

A

Alex in graalvm_ru
Oleg Shelajev
на викенд задачка не?
жаль я не Jeff Dean 😉
источник

λ

λoλdog in graalvm_ru
Oleg Shelajev
кстати, кто-нибудь строит native images? там недавно в найтли завезли -H:+RemoveSaturatedTypeFlows
который мне кажется мог бы делать примерно на 30% быстрее билд и использовать примерно на 30% меньше памяти при билде. Потыкайте может?
эт не сломает никакие оптимизации?
источник

OS

Oleg Shelajev in graalvm_ru
это может немного увеличить RSS и размер native image —
источник

OS

Oleg Shelajev in graalvm_ru
но не должно
источник

OS

Oleg Shelajev in graalvm_ru
если увеличивает надо сказать
источник

OS

Oleg Shelajev in graalvm_ru
Alex
_ssl.c файл из кодовой базы cpython занимает 6400 строк врапер кода над openssl =)
это не “немного муторно”
ну я больше про requests — который я так понимаю high level wrapper?
источник

OS

Oleg Shelajev in graalvm_ru
http клиентов на java которые умеют в https
источник

OS

Oleg Shelajev in graalvm_ru
скорее всего я просто не понимаю масштаба трагедии
источник

OS

Oleg Shelajev in graalvm_ru
вот на те самые 10K строк
источник

A

Alex in graalvm_ru
requests использует модуль ssl
ssl использует _ssl
_ssl по сути это сишный код, условно python bining для openssl

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

OS

Oleg Shelajev in graalvm_ru
ну вот так и надо же да, и все что будет использовать requests — будет работать
источник

OS

Oleg Shelajev in graalvm_ru
а все что нет - можно будет говорить перепишите на requests
источник

OS

Oleg Shelajev in graalvm_ru
что еще openssl использует? криптография и какие-нибудь еще приблуды
источник

A

Alex in graalvm_ru
не проверял =)

но быстрый grep по одному из моих venv сказал что след либы используют

requests, urllib3, aio, msql, redis, mongo, thrift, tornado, django, rabbit

все те кому нужно безопасное соединение
и они используют ssl модуль напрямую

причем количество либ которые используют реквест и urlib3 достаточно велико
источник

A

Alex in graalvm_ru
без него ни драйвер поднять, ни подпись у пакета проверить
источник

A

Alex in graalvm_ru
то есть можно конечно начать с минимального, чтобы хоть что-то полетело
но даже это может занять много времени
источник

ПФ

Паша Финкельштейн in graalvm_ru
Oleg Shelajev
да, так конечно нет, надо сделать модуль requests-graalvm где через джаву родную в интернет ходить
а почему, кстати? У грааль-питона нет задачи имплементироват ьстандартную библиотеку?
источник

λ

λoλdog in graalvm_ru
Зачем это делать
источник

ПФ

Паша Финкельштейн in graalvm_ru
Oleg Shelajev
ну я больше про requests — который я так понимаю high level wrapper?
ты не путаешь с requests2?
источник