1.82K subscribers
3.08K photos
121 videos
15 files
3.42K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
#prog #java #python #article

Ладно бы система типов Java полна по Тьюрингу. Оказывается, к системе типов, задаваемых аннотациями типов Python, это тоже относится!
#prog #rust #java #article

How We Migrated Our Static Analyzer From Java To Rust

Меня, правда, смущает, что правила анализа почему-то написаны на JavaScript.

<...>

We observed that the migration tripled our performance and resulted in a tenfold reduction in memory usage, <...>

To our surprise, we gained a firm grasp of the language and a clear idea of how our codebase would be mapped onto Rust within 10 days. <...> Within a month, the entire code analysis infrastructure was migrated from Java to Rust, and all customers were running on the new Rust analyzer.

<...>

Removing our dependency on the JVM and speeding up the analysis enabled us to embed the analyzer directly into the IDE. The very same lightweight and fast analyzer that runs in your CI/CD pipelines simultaneously reports coding errors and suggests fixes in your IDE in real time, <...>
#prog #go #java #article

NilAway: Practical Nil Panic Detection for Go

Инструмент для статического анализа кода на Go для обнаружения потенциальных разыменований nil-указателей. В отличие от прочих решений, решающих эту проблему, NilAway быстр, анализирует код между функциями (и даже между пакетами) и поддерживает инкрементальный анализ. При всём этом он не требует никаких аннотаций в коде.

А ранее Uber сделали аналогичный инструмент для Java, NullAway.
#prog #java #article

3,200% CPU Utilization

TL;DR: несинхронизированный доступ к TreeMap привёл к тому, что связи между её внутренними узлами, которые обычно имеют древовидную структуру, образовали цикл, из-за чего треды зависали во время лукапа.

Автору также удалось воспроизвести этот спецэффект в C++ и в Go.