#prog #rust #article
Faster Rust Toolchains for Android
TL;DR: табличка сверху.
Статья о версиях компилятора Rust, используемые в Google для сборки rust-компонентов Android. Ввиду масштабов количества билдов Android, даже относительно небольшие ускорения компилятора выливаются в конкретно сэкономленное время:
For every 50k Android builds per day run in our CI infrastructure we save ~10K hours of serial execution.
Monolithic обозначает использование
Как видно, наибольшую маргинальную выгоду принесла PGO, однако автор статьи предостерегает, что тулчейн заточен под нужды Android и на других кодовых базах изменения в производительности могут отличаться. Вдобавок, это результат от суммы четырёх разных профилей.
Faster Rust Toolchains for Android
TL;DR: табличка сверху.
Статья о версиях компилятора Rust, используемые в Google для сборки rust-компонентов Android. Ввиду масштабов количества билдов Android, даже относительно небольшие ускорения компилятора выливаются в конкретно сэкономленное время:
For every 50k Android builds per day run in our CI infrastructure we save ~10K hours of serial execution.
Monolithic обозначает использование
-C codegen-units=1
.Как видно, наибольшую маргинальную выгоду принесла PGO, однако автор статьи предостерегает, что тулчейн заточен под нужды Android и на других кодовых базах изменения в производительности могут отличаться. Вдобавок, это результат от суммы четырёх разных профилей.
👍7
#prog #python #article #suckassstory
node.example.com Is An IP Address
Или про проблему с tipchikami в Python2
node.example.com Is An IP Address
Или про проблему с tipchikami в Python2
tuckersiemens.com
node.example.com Is An IP Address
node.example.com is an IP address.
🍌3🤯2
#itsec #article
CVE-2013-4576 — это уязвимость в GPG, вызванная подверженности side channel атакам. Конкретно в данном случае источником утечки информации является шум, производимый компьютером во время расшифровки текста.
Исследователи, обнаружившие уязвимость, подробно описали её в RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis (pdf). Скорость утечки информации не слишком высока, но всё же позволяет за час при помощи атаки специально подобранными шифрованными текстами восстановить 4096-битный RSA-ключ. Даже без проведения подобной атаки спектры шумов, производимых при расшифровке, достаточно специфичны, чтобы отличить применение одного ключа от другого. Не смотря на то, что процессоры работают на частоте порядка гигагерц, для проведения атаки достаточно микрофонов с чувствительностью в килогерцовом диапазоне — более того, исследователи продемонстрировали, что с расстояния в 30 сантиметров атаку можно провести даже при помощи микрофона телефона.
CVE-2013-4576 — это уязвимость в GPG, вызванная подверженности side channel атакам. Конкретно в данном случае источником утечки информации является шум, производимый компьютером во время расшифровки текста.
Исследователи, обнаружившие уязвимость, подробно описали её в RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis (pdf). Скорость утечки информации не слишком высока, но всё же позволяет за час при помощи атаки специально подобранными шифрованными текстами восстановить 4096-битный RSA-ключ. Даже без проведения подобной атаки спектры шумов, производимых при расшифровке, достаточно специфичны, чтобы отличить применение одного ключа от другого. Не смотря на то, что процессоры работают на частоте порядка гигагерц, для проведения атаки достаточно микрофонов с чувствительностью в килогерцовом диапазоне — более того, исследователи продемонстрировали, что с расстояния в 30 сантиметров атаку можно провести даже при помощи микрофона телефона.
cve.mitre.org
CVE -
CVE-2013-4576
CVE-2013-4576
The mission of the CVE® Program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities.
🔥15🤔4🤯3
Блог*
#itsec #article CVE-2013-4576 — это уязвимость в GPG, вызванная подверженности side channel атакам. Конкретно в данном случае источником утечки информации является шум, производимый компьютером во время расшифровки текста. Исследователи, обнаружившие уязвимость…
А ещё у исследователей есть чувство юмора
😁28
Forwarded from I’m CEO, beach
Команда, молодцы, что вчера вспомнили, где находится ваша работа. Сегодня задача сложнее. Нужно вспомнить, чем вы обычно тут занимаетесь. Хорошего дня.
👍20🤡1🤣1
#prog #sql #article
10 Cool SQL Optimisations That do not Depend on the Cost Model
Спойлер: PostgreSQL показывает себя неожиданно плохо.
(thanks @nosingularity)
10 Cool SQL Optimisations That do not Depend on the Cost Model
Спойлер: PostgreSQL показывает себя неожиданно плохо.
(thanks @nosingularity)
Java, SQL and jOOQ.
10 Cool SQL Optimisations That do not Depend on the Cost Model
Cost Based Optimisation is the de-facto standard way to optimise SQL queries in most modern databases. It is the reason why it is really really hard to implement a complex, hand-written algorithm i…
#prog #retroit #article
The lost language extensions of MetaWare's High C Compiler
Ещё в восьмидесятых C мог бы быть сильно лучше
(thanks @bulatov_me)
The lost language extensions of MetaWare's High C Compiler
Ещё в восьмидесятых C мог бы быть сильно лучше
(thanks @bulatov_me)
🔥5❤🔥3🤯1😭1🫡1
Forwarded from Стой под стрелой (Nikita Prokopov)
Мой любимый момент, где Unix-модель дала трещину:
Типа, команда называется допустим shutdown. Но иногда надо делать перезагрузку. Делать отдельный бинарник странно (потому что код наполовину тот же). Залинковать, видимо, нельзя (команда не знает, через какой линк ее вызвали?). Вот и получается монстр: вроде говоришь выключи, а флагом это поведение отменяешь.
Но это еще можно объяснить. А вот такое уже сложнее:
Тут уже явно можно было отдельный update сделать.
Ну и мое любимое:
UPD из комментов:
UPD2: С пипом еще смешнее, правильный ключ upgrade, но сообщение об этом все равно пишет update:
shutdown --reboot
Типа, команда называется допустим shutdown. Но иногда надо делать перезагрузку. Делать отдельный бинарник странно (потому что код наполовину тот же). Залинковать, видимо, нельзя (команда не знает, через какой линк ее вызвали?). Вот и получается монстр: вроде говоришь выключи, а флагом это поведение отменяешь.
Но это еще можно объяснить. А вот такое уже сложнее:
pip install --update
Тут уже явно можно было отдельный update сделать.
Ну и мое любимое:
apt add-repository --remove
UPD из комментов:
helm upgrade --install
UPD2: С пипом еще смешнее, правильный ключ upgrade, но сообщение об этом все равно пишет update:
[notice] A new release of pip is available: 23.2.1 -> 23.3.2
[notice] To update, run: python3.11 -m pip install --upgrade pip
😐7👍6👎3🌚1
Hey, I have a private vector here in low level. Wanna find out its growing factor?
🍌5🥰1🌚1😐1