Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска является использование JIT компиляции, использование которой и обеспечивает высокую производительность языка. При желании, с особенностями JIT можно ознакомиться в других статьях. В данной статье пойдёт речь о более практической задаче — о том, как ускорить запуск модулей в Julia при помощи PackageCompiler.jl.
Рубрика «jit» - 3
Ускорение запуска Julia при помощи PackageCompiler.jl
2019-05-08 в 18:15, admin, рубрики: ahead-of-time, jit, JuliaV8: один год со Spectre
2019-04-25 в 15:39, admin, рубрики: Google Chrome, jit, meltdown, spectre, V8, безопасные языки, браузеры, информационная безопасность, Процессоры, спекулятивное выполнение, таймер3 января 2018 года Google Project Zero и другие раскрыли первые три из нового класса уязвимостей, которые затрагивают процессоры со спекулятивным выполнением. Их назвали Spectre (1 и 2) и Meltdown. Используя механизмы спекулятивного выполнения CPU, злоумышленник может временно обойти как явные, так и неявные программные проверки безопасности, которые не позволяют программам читать недоступные данные в памяти. В то время как спекулятивное выполнение разработано как деталь микроархитектуры, невидимая на архитектурном уровне, тщательно разработанные программы могли считывать недоступную информацию в спекулятивном блоке и раскрывать её через боковые каналы, такие как время выполнения фрагмента программы.
Когда было показано, что атаки Spectre возможны средствами JavaScript, команда V8 приняла участие в решении проблемы. Мы сформировали группу реагирования на чрезвычайные ситуации и тесно сотрудничали с другими командами в Google, нашими партнёрами из числа разработчиков других браузеров и партнёрами по оборудованию. Совместно с ними мы проактивно вели как наступательные исследования (конструирование атакующих модулей для доказательства концепции), так и оборонительные (смягчение потенциальных атак).
Читать полностью »
PHP GR8: повысит ли JIT производительность PHP 8
2019-04-18 в 16:02, admin, рубрики: jit, jit-компиляция, php, php8, Блог компании Badoo, высокая производительность, Программирование, Разработка веб-сайтов
PHP — один из основных языков разработки в Badoo. В наших дата-центрах тысячи процессорных ядер заняты выполнением миллионов строк кода на PHP. Мы внимательно следим за новинками и активно ищем пути улучшения производительности, так как на наших объёмах даже небольшая оптимизация приводит к существенной экономии ресурсов. Одна из главных новостей в области производительности PHP — появление JIT в восьмой версии языка. Это, безусловно, не могло остаться без нашего внимания, и мы перевели статью о том, что есть JIT, как он будет реализован в PHP, зачем его решили делать и что от него ждать.
Если вы не вышли из пещеры или не прибыли из прошлого (в этом случае добро пожаловать), то уже знаете, что в PHP 8 будет JIT: на днях тихо-мирно завершилось голосование, и подавляющее большинство участников высказались за внедрение, так что всё решено.
Можно в порыве радости даже изобразить несколько безумных движений как на фото (это, к слову, называется «детройтский JIT»:
Читать полностью »
PHP-Дайджест № 153 (25 марта – 8 апреля 2019)
2019-04-07 в 21:32, admin, рубрики: jit, laravel, php, PHP 7.4, PHP 8, php-дайджест, PSR, symfony, yii, дайджест, Разработка веб-сайтовСвежая подборка со ссылками на новости и материалы. В выпуске: принят PSR-14 Event Dispatcher, JIT в PHP 8, тройка RFC-предложений из PHP Internals, порция полезных инструментов, и многое другое.
Приятного чтения!
PHP-Дайджест № 152 (11 – 25 марта 2019)
2019-03-25 в 2:27, admin, рубрики: jit, laravel, php, PHP 7.4, PHP 8, PHP Russia, php-дайджест, symfony, wordpress, yii, дайджест, Разработка веб-сайтовСвежая подборка со ссылками на новости и материалы. В выпуске: свежие RFC предложения и другие новости из PHP Internals, порция полезных инструментов, и много других материалов и новостей!
Приятного чтения!
Как работает Graal — JIT-компилятор JVM на Java
2018-08-08 в 12:56, admin, рубрики: graal, java, jit, jvm, truffle, Компиляторы, ПрограммированиеПривет! Представляю вашему вниманию перевод статьи "Understanding How Graal Works — a Java JIT Compiler Written in Java".
Введение
Одной из причин по которой я стал исследователем языков программирования является то, что, в большом сообществе людей связанных с компьютерными технологиями, почти все используют языки программирования, и многие интересуются тем как они работают. Когда я впервые столкнулся с программированием, будучи ребенком, и познакомился с языком программирования, первым, о чем я хотел узнать, было то как это работает, и самым первым, что мне хотелось сделать, было создание собственного языка.
В этом выступлении я покажу некоторые механизмы работы используемого всеми вами языка — Java. Особенностью является то, что я буду использовать проект под названием Graal, который реализует концепцию Java на Java.
Знай свой JIT: ближе к машине
2018-08-02 в 12:37, admin, рубрики: javascript, jit, V8, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, Клиентская оптимизация, КомпиляторыДо того, как написанный нами код будет исполнен, он проходит довольно долгий путь. Андрей Мелихов в своем докладе на РИТ++ 2018 разобрал каждый шаг на этом пути на примере движка V8. Заходите под кат, чтобы выяснить, что даёт нам глубокое понимание принципов работы компилятора и как сделать JavaScript код производительнее.
Узнаем, является ли WASM серебряной пулей для повышения производительности кода, и всегда ли оправданы оптимизации.
Спойлер: «Преждевременная оптимизация — корень всех бед», Дональд Кнут.
О спикере: Андрей Мелихов работает в компании Яндекс.Деньги, активно пишет на Node.js, а в браузере — меньше, поэтому ему ближе серверный JavaScript. Андрей поддерживает и развивает сообщество devShacht, заходите познакомиться на GitHub или Medium.
Читать полностью »
Курс MIT «Безопасность компьютерных систем». Лекция 2: «Контроль хакерских атак», часть 1
2018-07-24 в 0:30, admin, рубрики: "гигиена" безопасности, jit, jvm, memory-safe language, stack canaries, Атаки переполнения буфера, Блог компании ua-hosting.company, информационная безопасность, Программирование, статический анализ кодаМассачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год
Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.
Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3Читать полностью »
Специалисты обошли защиту от Spectre в популярных браузерах
2018-07-04 в 18:36, admin, рубрики: CrossOver, intel, javascript, jit, spectre, Блог компании Crossover, браузеры, доступ к кэшу, ИБ, информационная безопасность, Процессоры, эксполит
Группа исследователей из Aleph Security нашла ряд атак, использующих уязвимость Spectre, которые позволяют обойти средства защиты популярных браузеров. В отчете речь идет о Spectre v1 (CVE-2017-5753) — это разновидность уязвимости Spectre, которую можно эксплуатировать через браузер.
Защита от нее была реализована еще до публикации Aleph Security (V8 —
Chome&Chromium, Chrome, Chromium, Firefox, Edge/IE, Safari Webkit), так как исследователи заблаговременно связались с разработчиками. Принципы защиты разнятся от браузера к браузеру, но в основном используются изоляция сайтов (проекты на базе Chromium), снижение точности и добавление большего разброса значений для таймеров performance.now()
, и отключение функции SharedArrayBuffer
(Firefox, Edge).
Читать полностью »
PHP 8: чего ждать. Письмо Зеева Сураски
2018-06-26 в 16:10, admin, рубрики: AOT, asyncio, jit, php, php8, Блог компании Badoo, высокая производительность, Программирование, Разработка веб-сайтов
Привет, меня зовут Николай Крапивный, я руковожу отделом server-side разработки в Badoo. В Badoo PHP — один из основных языков, на нем написана бóльшая часть бизнес-логики нашей системы. Поэтому мы следим за новостями из мира PHP, активно участвуем в развитии языка и стараемся развивать сообщество вокруг PHP.
Сегодня я бы хотел поделиться переводом письма Zeev Suraski, одного из основателей Zend Technologies, которое обрисовывает дальнейшее развитие PHP и проливает свет на то, чего нам ждать в PHP 8.
Читать полностью »