home.social

#perf — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #perf, aggregated by home.social.

fetched live
  1. Добавили потоков, стало медленнее: разбираемся с ложным разделением кеш‑линии

    Добавили потоков, а программа стала медленнее? Причина может скрываться в ложном разделении кеш‑линий: потоки работают с разными переменными, но процессор всё равно заставляет ядра конкурировать за один участок памяти. Разберём, как воспроизвести такую просадку, найти её через perf c2c и исправить без лишнего раздувания структур.

    habr.com/ru/companies/otus/art

    #ложное_разделение_кешлинии #false_sharing #многопоточность #кеш_процессора #кешлиния #когерентность_кеша #производительность #perf #NUMA #выравнивание_памяти

  2. Track page faults per process with perf stat and uprobes. Attach probes to mmap/munmap in libc, use --per-thread for per-thread breakdown. Requires debug symbols. #linux #snippet #perf #ValtersIT

    valtersit.com/vault/page-fault

  3. [Перевод] Перевополщение Stable Values в JDK 26

    В новом переводе от команды Spring АйО рассмотрим ленивую инициализацию в Java , которая почти всегда значит: поле сначала null , потом double-checked locking, volatile, синхронизация. Ошибиться легко, а final не поставить. Итог - код хрупче и JVM хуже делает constant folding. В JDK 26 (preview, JEP 526) добавили LazyConstant<T> : final поле, рецепт вычисления через Supplier , значение берёте login.get() . Supplier выполнится при первом get и только один раз успешно, даже при гонке потоков. Кроме этого значение помечается как @Stable - JVM может считать его константой и агрессивнее оптимизировать. Граничные случаи: null нельзя; не сериализуется; исключение из Supplier пробросится и следующая попытка снова пересчитает; equals у LazyConstant - только identity. Для 1:n есть List.ofLazy и Map.ofLazy : элементы/значения считаются по индексу/ключу по требованию и кэшируются.

    habr.com/ru/companies/spring_a

    #java #kotlin #jdk #jdk_26 #perf #performance #performance_optimization

  4. Lancez votre magasin de jeux vidéo avec ce guide exclusif et simplifié ! Lancez et développez avec succès votre magasin de vente au détail de jeux vidéo est votre guide incontournable pour transformer votre passion en entreprise lucrative ! Découvrez des stratégies de développement robustes, des astuces SEO, et des techniques d’expérience utilisateur. Lancez-vous maintenant et propulsez votre magasin vers le succès !
    Tags : #Ebook #Livres #JeuxVidéo #OptimisationSEO #StratégiesDeContenu #Perf...

  5. If you want to know who's taller, you don't measure people hours apart with a precise ruler - you line them up side by side

    Denis Bazhenov (JetBrains) applies the same logic to microbenchmarking: instead of running implementations separately and comparing results, run them simultaneously on the same machine. Background noise affects both equally, and you measure relative performance directly.

    🔗 oxidizeconf.com/sessions/just_

    #Oxidize2026 #RustLang #Benchmarking #Perf #SystemsProgramming

  6. If you want to know who's taller, you don't measure people hours apart with a precise ruler - you line them up side by side

    Denis Bazhenov (JetBrains) applies the same logic to microbenchmarking: instead of running implementations separately and comparing results, run them simultaneously on the same machine. Background noise affects both equally, and you measure relative performance directly.

    🔗 oxidizeconf.com/sessions/just_

    #Oxidize2026 #RustLang #Benchmarking #Perf #SystemsProgramming

  7. Lancez votre magasin de jeux vidéo avec ce guide exclusif et simplifié ! Lancez et développez avec succès votre magasin de vente au détail de jeux vidéo est votre guide incontournable pour transformer votre passion en entreprise lucrative ! Découvrez des stratégies de développement robustes, des astuces SEO, et des techniques d’expérience utilisateur. Lancez-vous maintenant et propulsez votre magasin vers le succès !
    Tags : #Ebook #Livres #JeuxVidéo #OptimisationSEO #StratégiesDeContenu #Perf...

  8. Great perf deep-dive
    "The Cost of Concurrency Coordination with Jon Gjengset"
    youtube.com/watch?v=tND-wBBZ8RY

    mutex, caching, cache-lines, L1,L2, byte alignment

    #perf #compsci

  9. Hotspot v1.6.0 is out! The #Linux perf GUI for #performance analysis adds support for archives, tracepoints, and regex filtering. It also improves file handling and settings visibility, plus several bug fixes and stability improvements. #Hotspot #Perf #GUI

    Details:
    kdab.com/hotspot-v1-6-0-releas

  10. Hotspot v1.6.0 is out! The perf GUI for analysis adds support for archives, tracepoints, and regex filtering. It also improves file handling and settings visibility, plus several bug fixes and stability improvements.

    Details:
    kdab.com/hotspot-v1-6-0-releas

  11. The Kirby Staticache plugin can now pre-compress ahead. That sounds interesting. High compression levels for on the fly caching can put a load on the web server. #KirbyCMS #Perf #WebDev
    github.com/getkirby/staticache

  12. The Kirby Staticache plugin can now pre-compress ahead. That sounds interesting. High compression levels for on the fly caching can put a load on the web server. #KirbyCMS #Perf #WebDev
    github.com/getkirby/staticache

  13. Кэш, который нас предал: как мы ловили призраков в L3 и нашли side-effects в продакшене

    Это история о том, как мы несколько недель искали странные скачки latency в продакшене и в итоге уткнулись в поведение кэша процессора. Не в аллокатор, не в GC, не в сеть. В кэш. В статье — реальные эксперименты, код, метрики, гипотезы, которые не подтвердились, и довольно неприятные выводы о том, насколько процессор может быть непредсказуемым, когда система нагружена по-взрослому.

    habr.com/ru/articles/1003824/

    #кэш_процессора #cache_miss #L3_cache #latency #perf #false_sharing #NUMA #side_effects

  14. @rsc have you seen vitaut.net/posts/2025/smallest / vitaut.net/posts/2025/faster-d / github.com/vitaut/zmij ? It's also pretty short and fast, and I didn't see it mentioned in your references section. (I haven't read your post in detail yet, apologies if it's mentioned somewhere!)

    Also, the #perf link doesn't seem to work for me.

  15. @rsc have you seen vitaut.net/posts/2025/smallest / vitaut.net/posts/2025/faster-d / github.com/vitaut/zmij ? It's also pretty short and fast, and I didn't see it mentioned in your references section. (I haven't read your post in detail yet, apologies if it's mentioned somewhere!)

    Also, the #perf link doesn't seem to work for me.

  16. New Directive Clarifies Existing Use of Force Policy at U.S. Customs and Border Protection - American Immigration Council March 11, 2014

    americanimmigrationcouncil.org

    > The new directive restricts Border Patrol agents from shooting at moving vehicles merely fleeing from agents. It also states that “agents should not place themselves in the path of a moving vehicle or use their body to block a vehicle’s path.”

    #USPol #BorderPatrol #ICE #PERF #CBP

  17. New Directive Clarifies Existing Use of Force Policy at U.S. Customs and Border Protection - American Immigration Council March 11, 2014

    americanimmigrationcouncil.org

    > The new directive restricts Border Patrol agents from shooting at moving vehicles merely fleeing from agents. It also states that “agents should not place themselves in the path of a moving vehicle or use their body to block a vehicle’s path.”

    #USPol #BorderPatrol #ICE #PERF #CBP

  18. How to use #flamegraphs for #performance #profiling

    runbooks.gitlab.com/tutorials/

    Off-CPU Analysis - by Brendan Gregg:
    brendangregg.com/offcpuanalysi

    - On-CPU: where threads are spending time running on-CPU
    - Off-CPU: where time is spent waiting while blocked on I/O, locks, timers, paging/swapping, etc.

    #Testing #Perf #DataViz #DataVisualization #Flamegraph

  19. How to use #flamegraphs for #performance #profiling

    runbooks.gitlab.com/tutorials/

    Off-CPU Analysis - by Brendan Gregg:
    brendangregg.com/offcpuanalysi

    - On-CPU: where threads are spending time running on-CPU
    - Off-CPU: where time is spent waiting while blocked on I/O, locks, timers, paging/swapping, etc.

    #Testing #Perf #DataViz #DataVisualization #Flamegraph

  20. Аппаратные breakpoint’ы: для чего они нужны и как устроены в Linux

    Всем привет! Наша группа занимается RISC-V Linux и загрузчиками в компании «Синтакор». Однажды перед нами возникла задача — реализовать поддержку аппаратных триггеров в ядре Linux и OpenSBI. Она стала началом исследования, в ходе которого я изучил смысл аппаратных триггеров с точки зрения отладчика, их устройство и использование для watchpoint’ов и breakpoint’ов, а также принял участие в совершенствовании поддержки аппаратных триггеров в RISC-V Linux и OpenSBI. Этими знаниями я хотел бы поделиться в статье. Покажу на примерах, как устроены breakpoint’ы и watchpoint’ы в отладчиках, сравню их программную и аппаратную реализации, покопаюсь в деталях их работы в ядре Linux. Начну с легкого способа сломать GDB, а к каким выводам он приведет, вы узнаете далее под катом. GDB хрясь!

    habr.com/ru/companies/yadro/ar

    #linux #riscv #breakpoint #perf

  21. Randomly thinking about the `shadowrootadoptedstylesheets` proposal today and had some thoughts about how it could support streaming use cases better.

    github.com/MicrosoftEdge/MSEdg

    #ShadowDOM #Streaming #Web #Perf

  22. Randomly thinking about the `shadowrootadoptedstylesheets` proposal today and had some thoughts about how it could support streaming use cases better.

    github.com/MicrosoftEdge/MSEdg

  23. 🎙️ #92 ASICS FUJISPEED 4: La Velocità che Trasforma il Tuo Trail!

    ASICS FUJISPEED 4: La Velocità che Trasforma il Tuo Trail!Amanti del trail running, preparatevi!Leggerezza incredibile, trazione da paura e un comfort che ti fa volare sui sentieri. Dimentica la fatica, concentrati sul divertimento! #Asics #Fujispeed4 #TrailRunning #ScarpeRunning #Perf...

    ▶️ podcasters.spotify.com/pod/sho

  24. Evaluating framework performance. Loren Stewart compared 10 meta-frameworks: Marko, SolidStart, SvelteKit, Qwik, and Nuxt deliver 35–39 ms FCP and 29–176 kB bundles. The takeaway is React’s architectural ceiling: even TanStack Start on React ships bundles 2× as large compared to Solid; Angular via Analog remains heavy, while Vue via Nuxt is quite competitive. MPA frameworks like Marko and HTMX ship minimal JS per page, while SPAs pay the baseline runtime cost. #js #perf

    lorenstew.art/blog/10-kanban-b

  25. Одно и то же приложение 10 раз. Лорен Стюарт сравнил 10 метафреймворков: Marko, SolidStart, SvelteKit, Qwik и Nuxt дают FCP 35–39 мс и бандл от 28,8 до 176,3 КБ. Ключевой вывод — архитектурный потолок React: даже TanStack Start на React даёт вдвое больший бандл, чем тот же TanStack Start c Solid, Angular через Analog остаётся тяжёлым, а Vue через Nuxt вполне конкурентен. MPA на Marko и HTMX везут минимум JS на страницу, тогда как SPA платят базовым рантаймом. #js #perf

    lorenstew.art/blog/10-kanban-b

  26. Одно и то же приложение 10 раз. Лорен Стюарт сравнил 10 метафреймворков: Marko, SolidStart, SvelteKit, Qwik и Nuxt дают FCP 35–39 мс и бандл от 28,8 до 176,3 КБ. Ключевой вывод — архитектурный потолок React: даже TanStack Start на React даёт вдвое больший бандл, чем тот же TanStack Start c Solid, Angular через Analog остаётся тяжёлым, а Vue через Nuxt вполне конкурентен. MPA на Marko и HTMX везут минимум JS на страницу, тогда как SPA платят базовым рантаймом. #js #perf

    lorenstew.art/blog/10-kanban-b

  27. #TIL Random ordering in Django. order_by('?') works but can be costly on large tables. Prefer order_by(Random()) (Django’s DB function) + LIMIT.

    Notes + pitfalls inside. #Django #Python #ORM #PostgreSQL #Perf

    til.sanyamkhurana.com/#/topics

  28. #TIL Random ordering in Django. order_by('?') works but can be costly on large tables. Prefer order_by(Random()) (Django’s DB function) + LIMIT.

    Notes + pitfalls inside. #Django #Python #ORM #PostgreSQL #Perf

    til.sanyamkhurana.com/#/topics

  29. Tiny guide: run EXPLAIN & EXPLAIN ANALYZE from Django, read the plan, then choose fixes (index? rewrite join?). Notes + pitfalls. #Django #Postgres #Perf #TIL
    til.sanyamkhurana.com/#/topics

  30. That gives us our baseline: bzip2 (in C) vs bzip2 (in Rust). But is it a fair enough comparison? I mentioned initially that I was implementing an lbzip2 "clone" (mostly a PoC for the decompression part). lbzip2 is an other program (a C binary, without a library), that can compress and decompress bzip2 files in parallel. Surely it should be slower than bzip2 since it has the parallel management overhead? 7/N

    #lbzip2 #bzip2 #RustLang #perf

  31. That gives us our baseline: bzip2 (in C) vs bzip2 (in Rust). But is it a fair enough comparison? I mentioned initially that I was implementing an lbzip2 "clone" (mostly a PoC for the decompression part). lbzip2 is an other program (a C binary, without a library), that can compress and decompress bzip2 files in parallel. Surely it should be slower than bzip2 since it has the parallel management overhead? 7/N

    #lbzip2 #bzip2 #RustLang #perf

  32. But why? Let's see what perf stat has to say: the Rust version has less instructions, but with much less IPC (Instruction-per-clock); the Rust version also has less branches and misses in general. On the efficiency cores, we see that worse IPC and branch prediction of the Rust version give the advantage to the C version. 6/N

    #bzip2 #RustLang #perf

  33. But why? Let's see what perf stat has to say: the Rust version has less instructions, but with much less IPC (Instruction-per-clock); the Rust version also has less branches and misses in general. On the efficiency cores, we see that worse IPC and branch prediction of the Rust version give the advantage to the C version. 6/N

    #bzip2 #RustLang #perf

  34. I don't know much about Apple/Swift but this is a great talk!

    For a starter, changing from `Collection<E>` to contiguous container type`Span<E>` increase the performance 4x of a sample binary search. Just wow
    developer.apple.com/videos/pla

    #perf #performance #apple #swift #osx #xcode

  35. TIL: using hpet (instead of tsc) as #Linux clocksource apparently can cause massive slowdowns in some workloads. E.g. when reading data from a socket using select() and read(), with hpet clock the select() calls alone can reduce throughput down to 25%. #Perf profiling shows that the kernel spends lots of time in read_hpet().

    Guess now I cannot postpone debugging the clock drift problems that occur with tsc clocksource on this one system :-(

    #performance #softwareDevelopment #HPET #TSC #clocks

  36. Today's bug is a `perf` hangup bug: lkml.org/lkml/2025/5/5/1089

    There a simple `perf record -a` / `perf report` hangs up if you happen to have a `/dev/dri/renderD128` file `mmap()`ed in any of the processes. Browsers and compositors usually do have them `mmap()`ed.

    #perf #bug