DevNotes Live
6 subscribers
60.9K photos
8.94K videos
172 files
24.7K links
Автоматический агрегатор IT ресурсов в Telegram (@devnotes_robot)
Информация: https://t.me/devnotes_live/121
Download Telegram
Forwarded from The Devs
Forwarded from The Devs
Towards inserting one billion rows in SQLite under a minute.

#article #sqlite #python #rust
@thedevs

https://kutt.it/k1YjwS
Адаптация Relay для большой кодовой базы

На прошедшем React Conf 2021 был представлен новый компилятор Relay для оптимизации GraphQL-запросов — "Introducing the new Relay compiler".

Relay — это фреймворк для работы с GraphQL в React-приложениях. При использовании Relay компоненты декларативно описывают необходимые им данные с помощью GraphQL-фрагментов. Компилятор Relay на этапе сборки приложения обходит компоненты и подготавливает оптимизированный GraphQL-запрос на базе этих фрагментов.

Скорость компилятора с ростом кодовой базы Facebook постепенно ухудшалась, поэтому его переписали c JavaScript на Rust. Скорость работы компилятора улучшилась в пять-семь раз. Кроме улучшения производительности новый компилятор подготовил платформу для дальнейшего улучшения Relay. Например, благодаря ему появилась поддержка новой директивы @required для упрощения работы с данными. Также этот компилятор лежит в основе расширения для VSCode для поддержки автодополнения имён полей в GraphQL-фрагментах. Расширение на данный момент недоступно для внешних пользователей, так как над ним ещё ведётся работа.

#react #graphql #rust

https://relay.dev/blog/2021/12/08/introducing-the-new-relay-compiler/
Возможно, вам не нужен Rust и WASM, если у вас есть JavaScript

Увидел в канале @ufostation ссылку на статью Вячеслава Егорова про анализ проблем производительности библиотеки source-map — "Maybe you don't need Rust and WASM to speed up your JS".

Авторы source-map переписали основную логику библиотеки на Rust и WebAssembly, чтобы улучшить производительность. Егор решил проверить оригинальный код на предмет возможных оптимизаций. Там были найдены и исправлены проблемы, связанные с неоптимальной сортировкой, была уменьшена нагрузка на сборщик мусора заменой большого числа объектов типизированным массивом с ссылками на нужные данные, была испралвена проблема с деоптимизацией кода, связанной с передачей двух аргументов в функцию, которая ожидает на вход три аргумента.

В результате всех оптимизаций JavaScript-код стал уступать по скорости Rust и WebAssembly всего лишь на 15%.

Крутая статья. Рекомендую почитать всем.

#performance #js #internals #webassembly #rust

https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-rust-to-speed-up-your-js.html
https://habr.com/ru/post/350018/ (перевод на русский)
Forwarded from The Devs
cfonts, sexy fonts for your console.

#tools #terminal #rust #js
@thedevs

https://thedevs.link/e4XsBd
Forwarded from The Devs
Comprehensive Rust, the Rust course used by the Android team at Google.

#course #tutorial #rust
@thedevs
@thedevs_rust

https://thedevs.link/Ha42HI
Forwarded from The Devs
Forwarded from Daily Coding 🔥
📖Asynchronous Programming in Rust
🖋Carl Fredrik Samson. 2024

Уверенно шагните в мир асинхронного программирования, преодолев трудности, связанные с неясными концепциями, с помощью этого практического руководства. Используя функциональные примеры, эта книга упрощает самые сложные концепции, исследуя подпрограммы, волокна, фьючерсы и обратные вызовы, чтобы помочь вам с легкостью ориентироваться в обширной асинхронной экосистеме Rust. Вы начнете с создания прочного фундамента в асинхронном программировании и изучите различные стратегии моделирования потока выполнения программ. Затем книга познакомит вас с такими понятиями, как epoll, сопрограммы, "зеленые потоки" и обратные вызовы, используя практические примеры.

💾 Скачать книгу

Daily Coding #книги #Rust