# optimizing

Published articles for optimizing.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Optimizing LLVM's bump allocator

DevFeed: [Optimizing LLVM's bump allocator](<https://devfeed.tech/articles/optimizing-llvm-s-bump-allocator-31134.md>)

Original publisher: [Read original article](<https://maskray.me/blog/optimizing-llvm-bump-allocator>)

Published: 2026-06-28T07:00:00Z

Content type: article

Language: en

Sources: [MaskRay](<https://devfeed.tech/sources/maskray.md>)

Topics: [LLVM](<https://devfeed.tech/topics/llvm.md>), [clang](<https://devfeed.tech/topics/clang.md>)

Tags: [changes](<https://devfeed.tech/tags/changes.md>), [clang](<https://devfeed.tech/tags/clang.md>), [codegen](<https://devfeed.tech/tags/codegen.md>), [debug](<https://devfeed.tech/tags/debug.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [memory](<https://devfeed.tech/tags/memory.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

This article explains three recent changes that optimize LLVM's BumpPtrAllocator: avoiding unnecessary realignment, using a sentinel to eliminate a null check, and removing per-allocation accounting from the hot path. It also discusses alignment, typed allocation, incomplete types, and ABI considerations.

### Source excerpt

BumpPtrAllocator is LLVM's bump allocator (arena allocator): each allocation bumps a pointer within a slab, and everything is freed at once when the allocator dies. It backs Clang's ASTContext, lld's make<T> object pools, TableGen records, and many other arenas. Here is the fast path before three recent changes: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 __attribute__((returns_nonnull)) void *Allocate(size_t Size, Align Alignment) { BytesAllocated += Size; // (3) accounting RMW uintptr_t AlignedPtr = alignAddr(CurPtr, Alignment); // (1) always realign size_t SizeToAllocate = Size; #if LLVM_ADDRESS_SANITIZER_BUILD SizeToAllocate += RedZoneSize; #endif uintptr_t AllocEndPtr = AlignedPtr + SizeToAllocate; if (LLVM_LIKELY(AllocEndPtr <= uintptr_t(End) && CurPtr != nullptr)) { // (2) bound + null check CurPtr = reinterpret_cast<char *>(AllocEndPtr); ... return reinterpret_cast<char *>(AlignedPtr); } return AllocateSlow(Size, SizeToAllocate, Alignment); }

## How to Write to SSDs - Co-Designing DBMS and Flash Storage

DevFeed: [How to Write to SSDs - Co-Designing DBMS and Flash Storage](<https://devfeed.tech/articles/how-to-write-to-ssds-co-designing-dbms-and-flash-storage-39661.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2026-06-22_optimising-ssd-writes-for-dbms>)

Published: 2026-06-22T00:00:00Z

Content type: article

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [systems](<https://devfeed.tech/topics/systems.md>), [optimize](<https://devfeed.tech/topics/optimize.md>), [Parallelism](<https://devfeed.tech/topics/parallelism.md>)

Tags: [b-tree](<https://devfeed.tech/tags/b-tree.md>), [checkpoint](<https://devfeed.tech/tags/checkpoint.md>), [cycles](<https://devfeed.tech/tags/cycles.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [latency](<https://devfeed.tech/tags/latency.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [optimize](<https://devfeed.tech/tags/optimize.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [storage](<https://devfeed.tech/tags/storage.md>), [systems](<https://devfeed.tech/tags/systems.md>), [wal](<https://devfeed.tech/tags/wal.md>), [write-amplification](<https://devfeed.tech/tags/write-amplification.md>)

### AI overview

The article explains how database management systems and SSDs jointly amplify writes. It reports that a 4 KiB logical page write can become about 18.85 KiB of flash writes on a Samsung PM9A3, and presents DBMS-SSD co-design, including avoiding in-place updates, as a way to address the combined amplification.

### Source excerpt

. [How to Write to SSDs](optimising-ssd-writes-for-dbms-cover...

## Optimizing Third-Party Content Delivery: A Deep Dive into Preconnect's Performance and Call Cost Implications

DevFeed: [Optimizing Third-Party Content Delivery: A Deep Dive into Preconnect's Performance and Call Cost Implications](<https://devfeed.tech/articles/optimizing-third-party-content-delivery-a-deep-dive-into-preconnect-s-performance-and-call-cost-implications-38729.md>)

Original publisher: [Read original article](<https://blog.developer.bazaarvoice.com/2025/09/23/optimizing-third-party-content-delivery-a-deep-dive-into-preconnects-performance-and-call-cost-implications/>)

Author: Veda

Published: 2025-09-23T07:48:40Z

Content type: article

Language: en

Sources: [Bazaarvoice](<https://devfeed.tech/sources/bazaarvoice.md>)

Topics: [Web](<https://devfeed.tech/topics/web.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Core Web Vitals](<https://devfeed.tech/topics/core-web-vitals.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Network](<https://devfeed.tech/topics/network.md>), [Contentful](<https://devfeed.tech/topics/contentful.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apigateway](<https://devfeed.tech/tags/apigateway.md>), [bazaarvoice](<https://devfeed.tech/tags/bazaarvoice.md>), [cdn](<https://devfeed.tech/tags/cdn.md>), [corewebvitals](<https://devfeed.tech/tags/corewebvitals.md>), [cwv](<https://devfeed.tech/tags/cwv.md>), [lcp](<https://devfeed.tech/tags/lcp.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performanceoptimization](<https://devfeed.tech/tags/performanceoptimization.md>), [preconnect](<https://devfeed.tech/tags/preconnect.md>), [preconnect-cost](<https://devfeed.tech/tags/preconnect-cost.md>), [resourcehints](<https://devfeed.tech/tags/resourcehints.md>), [seo](<https://devfeed.tech/tags/seo.md>), [technicalseo](<https://devfeed.tech/tags/technicalseo.md>), [third-party](<https://devfeed.tech/tags/third-party.md>), [ux](<https://devfeed.tech/tags/ux.md>), [web-performance](<https://devfeed.tech/tags/web-performance.md>), [webdev](<https://devfeed.tech/tags/webdev.md>), [webperformance](<https://devfeed.tech/tags/webperformance.md>)

### AI overview

This article explains how preconnect and other resource hints can improve third-party content delivery by establishing network connections early. It focuses on Bazaarvoice content, frontend performance, LCP, and the claim that preconnect operations are not counted as API calls in internal testing.

### Source excerpt

This document details how preconnect improves web performance, especially for Bazaarvoice's third-party content, by accelerating connection setups and reducing LCP. Crucially, internal testing confirmed preconnect operations are not counted as API calls, validating a "no count, low cost" model--a key insight for our developer blog.

## Reduce latency and speed up your Temporal Workflows

DevFeed: [Reduce latency and speed up your Temporal Workflows](<https://devfeed.tech/articles/reduce-latency-and-speed-up-your-temporal-workflows-35945.md>)

Original publisher: [Read original article](<https://temporal.io/blog/reduce-latency-and-speed-up-your-temporal-workflows>)

Author: Joshua Smith

Published: 2025-02-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Latency](<https://devfeed.tech/topics/latency.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Network](<https://devfeed.tech/topics/network.md>), [Server](<https://devfeed.tech/topics/server.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>)

Tags: [cloud](<https://devfeed.tech/tags/cloud.md>), [durability](<https://devfeed.tech/tags/durability.md>), [e-commerce](<https://devfeed.tech/tags/e-commerce.md>), [latency](<https://devfeed.tech/tags/latency.md>), [measuring](<https://devfeed.tech/tags/measuring.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [payment](<https://devfeed.tech/tags/payment.md>), [problems](<https://devfeed.tech/tags/problems.md>), [reduce](<https://devfeed.tech/tags/reduce.md>), [speed](<https://devfeed.tech/tags/speed.md>), [system](<https://devfeed.tech/tags/system.md>), [techniques](<https://devfeed.tech/tags/techniques.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This tutorial explains how to reduce latency in Temporal workflows used by interactive applications while preserving durability and reliability. It identifies workflow startup, task scheduling, network calls, and activity execution as contributors to response time.

### Source excerpt

Latency can be a challenge when responsiveness matters. The good news is, there are ways to make your workflows snappier without sacrificing durability.

## Optimizing Memory Layout in Go: A Deep Dive into Struct Design

DevFeed: [Optimizing Memory Layout in Go: A Deep Dive into Struct Design](<https://devfeed.tech/articles/optimizing-memory-layout-in-go-a-deep-dive-into-struct-design-33341.md>)

Original publisher: [Read original article](<https://blog.ratnesh-maurya.com/blog/Optimizing-Memory-Layout-in-Go-A-Deep-Dive-into-Struct-Design>)

Author: ratneshmaurya2311@gmail.com (Ratnesh Maurya)

Published: 2025-01-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Ratn Labs](<https://devfeed.tech/sources/ratn-labs.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [ordering](<https://devfeed.tech/topics/ordering.md>)

Tags: [alignment](<https://devfeed.tech/tags/alignment.md>), [backend](<https://devfeed.tech/tags/backend.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [design](<https://devfeed.tech/tags/design.md>), [go](<https://devfeed.tech/tags/go.md>), [go-backend-system-design](<https://devfeed.tech/tags/go-backend-system-design.md>), [golang](<https://devfeed.tech/tags/golang.md>), [memory](<https://devfeed.tech/tags/memory.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [padding](<https://devfeed.tech/tags/padding.md>), [practical](<https://devfeed.tech/tags/practical.md>), [system-design](<https://devfeed.tech/tags/system-design.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

This article explains how Go struct field ordering affects memory usage through alignment and padding. It includes benchmarks across millions of allocations and practical tools for identifying wasted space.

### Source excerpt

How Go struct field ordering affects memory via alignment and padding, with benchmarks across millions of allocations and practical tools to detect wasted space.

## The dangers of optimizing for performance

DevFeed: [The dangers of optimizing for performance](<https://devfeed.tech/articles/the-dangers-of-optimizing-for-performance-40002.md>)

Original publisher: [Read original article](<https://www.saiyangrowthletter.com/p/the-dangers-of-optimizing-for-performance>)

Author: Tiger Abrodi

Published: 2024-02-14T07:10:47Z

Content type: opinion

Language: en

Sources: [Saiyan Growth Letter](<https://devfeed.tech/sources/saiyan-growth-letter.md>)

Topics: [Optimization](<https://devfeed.tech/topics/optimization.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [optimizing](<https://devfeed.tech/tags/optimizing.md>), [performance](<https://devfeed.tech/tags/performance.md>), [software](<https://devfeed.tech/tags/software.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

The article explains that making one part of a system much faster may not improve the performance of the overall application or customer experience. It recommends measuring system-wide impact before investing time in performance optimization, drawing on Amdahl's Law.

### Source excerpt

Amdahl's Law.

## Optimizing your workflow does matter in the long run

DevFeed: [Optimizing your workflow does matter in the long run](<https://devfeed.tech/articles/optimizing-your-workflow-does-matter-in-the-long-run-37177.md>)

Original publisher: [Read original article](<https://arkadiuszchmura.com/posts/optimizing-your-workflow-does-matter-in-the-long-run/>)

Published: 2023-11-05T00:00:00Z

Content type: opinion

Language: en

Sources: [Arkadiusz Chmura](<https://devfeed.tech/sources/arkadiusz-chmura.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [keyboard](<https://devfeed.tech/topics/keyboard.md>), [Learning](<https://devfeed.tech/topics/learning.md>)

Tags: [context](<https://devfeed.tech/tags/context.md>), [keyboard-shortcuts](<https://devfeed.tech/tags/keyboard-shortcuts.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

The article argues that tailoring a programming workflow, improving typing speed, and learning editor keyboard shortcuts can reduce context switching and wasted effort. It uses the author's marathon experience to illustrate how attention to small details and strategy can improve performance.

### Source excerpt

Having your environment tailored to you and the way you work can save you from context switching, losing focus, reaching for your mouse, or simply wasting time.

## Optimizing Gradle Builds in Multi-module Projects - Jigar Brahmbhatt

DevFeed: [Optimizing Gradle Builds in Multi-module Projects - Jigar Brahmbhatt](<https://devfeed.tech/articles/optimizing-gradle-builds-in-multi-module-projects-jigar-brahmbhatt-38306.md>)

Original publisher: [Read original article](<https://touchlab.co/optimizing-gradle-builds-in-Multi-module-projects>)

Published: 2023-10-04T15:46:40Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>)

Tags: [android-studio](<https://devfeed.tech/tags/android-studio.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [build-performance](<https://devfeed.tech/tags/build-performance.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [cache](<https://devfeed.tech/tags/cache.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [modules](<https://devfeed.tech/tags/modules.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [strategies](<https://devfeed.tech/tags/strategies.md>)

### AI overview

A practical guide to reducing Gradle build times in large Kotlin Multiplatform multi-module projects. It recommends benchmarking builds, using Gradle Build Scan and Android Studio Build Analyser, reviewing cache and configuration settings, and improving dependency visibility.

### Source excerpt

Explore practical use cases and strategies for speeding up Gradle builds in your multi-module projects.

## I am very excited about using nushell everyday

DevFeed: [I am very excited about using nushell everyday](<https://devfeed.tech/articles/i-am-very-excited-about-using-nushell-everyday-31879.md>)

Original publisher: [Read original article](<https://okmanideep.me/i-am-very-excited-about-using-nushell-everyday/>)

Author: Manideep Polireddi

Published: 2023-08-28T13:00:00Z

Content type: opinion

Language: en

Sources: [@okmanideep](<https://devfeed.tech/sources/okmanideep.md>)

Topics: [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [PowerShell](<https://devfeed.tech/topics/powershell.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [here](<https://devfeed.tech/tags/here.md>), [nushell](<https://devfeed.tech/tags/nushell.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

The author explains why Nushell appeals to them as a structured-data shell combining aspects of Bash and PowerShell. They compare Nushell's table-oriented pipelines and clearer property-based sorting with Unix-style commands, while noting that startup and new-terminal performance remain slow despite profiling and optimization.

### Source excerpt

From the moment I saw the intro video, I found it very appealing. It takes the best of bash and powershell

## Tuning Temporal server request latency on Kubernetes

DevFeed: [Tuning Temporal server request latency on Kubernetes](<https://devfeed.tech/articles/tuning-temporal-server-request-latency-on-kubernetes-36083.md>)

Original publisher: [Read original article](<https://temporal.io/blog/tuning-temporal-server-request-latency-on-kubernetes>)

Author: Rob Holland

Published: 2023-06-13T14:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>)

Tags: [cpu](<https://devfeed.tech/tags/cpu.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kubernetes-clusters](<https://devfeed.tech/tags/kubernetes-clusters.md>), [latency](<https://devfeed.tech/tags/latency.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>)

### AI overview

A practical guide to reducing and stabilizing Temporal Server request latency when deploying it on Kubernetes. It discusses CPU limits and throttling, GOMAXPROCS, and node efficiency during upgrades.

### Source excerpt

Learn how to reduce Temporal Server request latency on Kubernetes by optimizing CPU limits, setting GOMAXPROCS, and managing node efficiency during upgrades.

## How Engagement Systems Use Data to Provoke Political Outrage

DevFeed: [How Engagement Systems Use Data to Provoke Political Outrage](<https://devfeed.tech/articles/notice-the-outrage-machines-36909.md>)

Original publisher: [Read original article](<https://shostack.org/blog/notice-the-outrage-machines/>)

Author: Adam

Published: 2020-10-31T00:00:00Z

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [engagement](<https://devfeed.tech/tags/engagement.md>), [manipulation](<https://devfeed.tech/tags/manipulation.md>), [measuring](<https://devfeed.tech/tags/measuring.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [social-media](<https://devfeed.tech/tags/social-media.md>)

### AI overview

The article argues that news and social media websites use data to measure and optimize engagement, showing users content tailored to provoke them. It recommends recognizing these tactics and reflecting on emotional reactions to reduce their influence.

### Source excerpt

With three days to the US election, the outrage machines are running on all cylinders. It'll be easier to stay happy if you remember to notice them.

## How to Use Grouping Sets in Django

DevFeed: [How to Use Grouping Sets in Django](<https://devfeed.tech/articles/how-to-use-grouping-sets-in-django-33912.md>)

Original publisher: [Read original article](<https://hakibenita.com/how-to-use-grouping-sets-in-django>)

Author: Haki Benita

Published: 2019-03-09T22:00:00Z

Content type: tutorial

Language: en

Sources: [Haki Benita](<https://devfeed.tech/sources/haki-benita.md>)

Topics: [Django](<https://devfeed.tech/topics/django.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [articles](<https://devfeed.tech/tags/articles.md>), [django](<https://devfeed.tech/tags/django.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [orm](<https://devfeed.tech/tags/orm.md>), [performance](<https://devfeed.tech/tags/performance.md>), [query](<https://devfeed.tech/tags/query.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This tutorial explains how advanced SQL grouping sets can optimize a Django admin dashboard. It describes a dashboard whose separate aggregation queries became slow as data grew, and discusses combining metrics while handling averages and distinct user counts correctly.

### Source excerpt

How we cut a heavy admin dashboard response time in half with advanced SQL and some Django hackery. I recently had the pleasure of optimizing an old dashboard. The solution we came up with required some advanced SQL that Django does not support out of the box. In this article I present the solution, how we got to it, and a word of caution.

## Optimizing the Django Admin Paginator

DevFeed: [Optimizing the Django Admin Paginator](<https://devfeed.tech/articles/optimizing-the-django-admin-paginator-33919.md>)

Original publisher: [Read original article](<https://hakibenita.com/optimizing-the-django-admin-paginator>)

Author: Haki Benita

Published: 2018-11-05T22:00:00Z

Content type: tutorial

Language: en

Sources: [Haki Benita](<https://devfeed.tech/sources/haki-benita.md>)

Topics: [Django](<https://devfeed.tech/topics/django.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [optimize](<https://devfeed.tech/topics/optimize.md>)

Tags: [articles](<https://devfeed.tech/tags/articles.md>), [count](<https://devfeed.tech/tags/count.md>), [django](<https://devfeed.tech/tags/django.md>), [django-admin](<https://devfeed.tech/tags/django-admin.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [override](<https://devfeed.tech/tags/override.md>), [pages](<https://devfeed.tech/tags/pages.md>), [performance](<https://devfeed.tech/tags/performance.md>), [query](<https://devfeed.tech/tags/query.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [table](<https://devfeed.tech/tags/table.md>)

### AI overview

This article examines the Django admin paginator's performance on large tables. It explains that counting all rows can dominate page-load time and discusses optimizing Django admin for consistent performance as datasets grow.

### Source excerpt

I often talk about making Django scale but what does it actually mean? It means getting consistent performance regardless of the amount of data. In this article we tackle The last nail in Django admin's scalability coffin - the paginator.

## Installing mozjpeg on Ubuntu 16.04 & 18.04 (Forge)

DevFeed: [Installing mozjpeg on Ubuntu 16.04 & 18.04 (Forge)](<https://devfeed.tech/articles/installing-mozjpeg-on-ubuntu-16-04-18-04-forge-31274.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/installing-mozjpeg-on-ubuntu-16-04-forge>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2016-12-14T00:57:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>)

Tags: [16-04](<https://devfeed.tech/tags/16-04.md>), [18-04](<https://devfeed.tech/tags/18-04.md>), [compression](<https://devfeed.tech/tags/compression.md>), [extra](<https://devfeed.tech/tags/extra.md>), [forge](<https://devfeed.tech/tags/forge.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [images](<https://devfeed.tech/tags/images.md>), [insights](<https://devfeed.tech/tags/insights.md>), [install](<https://devfeed.tech/tags/install.md>), [jpeg](<https://devfeed.tech/tags/jpeg.md>), [mile](<https://devfeed.tech/tags/mile.md>), [mozjpeg](<https://devfeed.tech/tags/mozjpeg.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [want](<https://devfeed.tech/tags/want.md>)

### AI overview

A tutorial for installing mozjpeg on Ubuntu 16.04 or 18.04 through Forge, including building it with CMake and configuring the Craft CMS Imager plugin. The article reports lossless image-size savings compared with jpegoptim.

### Source excerpt

If you want to go the extra mile optimizing your images, here's how to install mozjpeg on Ubuntu 16.04 or 18.04 (Forge)

## More on Postgres Performance

DevFeed: [More on Postgres Performance](<https://devfeed.tech/articles/more-on-postgres-performance-41124.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2013/01/10/More-on-Postgres-Performance/>)

Author: Map

Published: 2013-01-10T20:55:56Z

Content type: tutorial

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pg-stat-statements](<https://devfeed.tech/tags/pg-stat-statements.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgres-performance](<https://devfeed.tech/tags/postgres-performance.md>), [query](<https://devfeed.tech/tags/query.md>)

### AI overview

A practical guide to PostgreSQL performance optimization using pg_stat_statements to identify high-cost queries, analyze total and average execution time, and investigate indexes and query plans.

### Source excerpt

If you missed my previous post on Understanding Postgres Performance its a great starting point. On this particular post I'm going to dig in to some real life examples of optimizing queries and indexes. It all starts with stats I wrote about some of the great new features in Postgres 9.2 in the recent announcement on support of Postgres 9.2 on Heroku. One of those awesome features, is pg_stat_statements. Its not commonly known how much information Postgres keeps about your database (beyond the data of course), but in reality it keeps a great deal. Ranging from basic stuff like table size to cardinality of joins to distribution of indexes, and with pg_stat_statments it keeps a normalized record of when queries are run. First you'll want to turn on pg_stat_statments: CREATE extension pg_stat_statements; What this means it would record both: SELECT id FROM users WHERE email LIKE 'craig@heroku.com'; and SELECT id FROM users WHERE email LIKE 'craig.kerstiens@gmail.com'; To a normalized form which looks like this: SELECT id FROM users WHERE email LIKE ?; Understanding them from afar While Postgres collects a great deal of this information dissecting it to something useful is sometimes more mystery than it should be. This simple query will show a few very key pieces of information that allow you to begin optimizing: SELECT (total_time / 1000 / 60) as total_minutes, (total_time/calls) as average_time, query FROM pg_stat_statements ORDER BY 1 DESC LIMIT 100; The above query shows three key things: The total time a query has occupied against your system in minutes The average time it takes to run in milliseconds The query itself Giving an output something like: total_time | avg_time | query ------------------+------------------+------------------------------------------------------------ 295.761165833319 | 10.1374053278061 | SELECT id FROM users WHERE email LIKE ? 219.138564283326 | 80.24530822355305 | SELECT * FROM address WHERE user_id = ? AND current = True (2 rows) What t