Best of PerformanceDecember 2023

  1. 1
    Article
    Avatar of webweb.dev·2y

    Introducing Learn Performance

    Learn Performance is a course on web performance. It is intended for those who want to learn about web performance and offers modules that cover the technical details of making web pages faster. The course was written by Kevin Farrugia, with contributions from Jeremy Wagner, and reviewed by Rachel Andrew and Barry Pollard. Beginners are encouraged to read the course from start to finish, but more experienced individuals can choose modules in any order. Feedback and suggestions for the course can be provided through the public tracker. Additional modules will be released in the future.

  2. 2
    Article
    Avatar of devtoDEV·2y

    Why you should never use an UUID as the primary key in SQL Databases

    Using a UUID as a primary key in SQL databases has advantages and disadvantages. UUIDs have larger storage requirements and decreased performance compared to integers. They are not human-readable, making debugging and manual inspection challenging. UUIDs may result in suboptimal disk I/O patterns and higher levels of index fragmentation. Storing UUIDs increases storage requirements. Managing UUIDs adds complexity to application logic.

  3. 3
    Article
    Avatar of devtoDEV·2y

    React is Slow, What to do now?

    This post discusses the I/O and CPU performance challenges in React applications and provides solutions to improve performance.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    WebGPU: Unlocking modern GPU access in the browser

    WebGPU is a new API that unlocks the power of the GPU for faster machine learning performance and better graphics rendering. It is an improvement over WebGL and enables new GPU workloads for rendering and faster ML inference. It was designed for JavaScript first and is easy to learn and use.

  5. 5
    Article
    Avatar of logrocketLogRocket·2y

    Implementing scroll-aware UI state with CSS

    Scroll-aware UI state can improve website user experience by dynamically responding to the user's scrolling action on a webpage. This article explores how scroll-aware UI can be implemented using CSS-only solutions and discusses the limitations of such approaches.

  6. 6
    Article
    Avatar of asayerasayer·2y

    Improving Form Performance in React

    Learn techniques to optimize form performance in React websites

  7. 7
    Article
    Avatar of curiosumCuriosum·2y

    Exploring React 18 Concurrent Features: Performance Optimization and Best Practices

    Explore React 18's concurrent rendering features for performance optimization. Learn about concurrent rendering in React, how to use the useTransition and useDeferredValue hooks, and discover real-world use cases. Be cautious when implementing concurrent rendering as it can cause confusion and potential performance issues.

  8. 8
    Article
    Avatar of communityCommunity Picks·2y

    A Crash Course on Caching Fundamentals

    This post explains the basics of caching, including its purpose, trade-offs, types of caches, and distinctions between server-side and client-side caching.

  9. 9
    Article
    Avatar of asayerasayer·2y

    Forever Functional: Maximize JavaScript's Performance WITHOUT Transducers

    The article discusses different solutions for optimizing long sequences of operations on JavaScript arrays without using transducers. It starts with a basic solution and gradually introduces more general and simplified methods. The final solution allows for any sequence of mapping and filtering operations, with optional reducing steps.

  10. 10
    Article
    Avatar of infoqInfoQ·2y

    Why LinkedIn chose gRPC+Protobuf over REST+JSON: Q&A with Karthik Ramgopal and Min Chen

    LinkedIn explains why they chose gRPC and Protocol Buffers over REST and JSON for inter-service communication in their microservices platform. They observed significant latency improvements and are advising Rest.li users to migrate to gRPC.

  11. 11
    Article
    Avatar of supabaseSupabase·2y

    PostgREST 12

    PostgREST 12 introduces major features including JWT caching for improved performance, a Server Timing Header for better visibility into server side performance, support for aggregate functions like avg, count, max, min, and sum, and the flexibility to handle custom media types.

  12. 12
    Article
    Avatar of infoworldInfoWorld·2y

    SQL unleashed: 9 ways to speed up your SQL queries

    Learn 9 best practices for writing faster SQL queries, including retrieving only the columns you need, using CASE instead of UPDATE for conditional column updates, and pre-staging data for improved performance.

  13. 13
    Article
    Avatar of asayerasayer·2y

    Adding Google Fonts to Next.js 14 in Three Ways: A Step-by-Step Guide

    This article provides a step-by-step guide on how to add Google Fonts to Next.js 14 applications. It explains three different methods for adding the fonts, including using CSS variables and selectors, Tailwindcss configuration, and the default className method. The article highlights the benefits and drawbacks of each method and recommends using the CSS method for projects that require multiple fonts.

  14. 14
    Article
    Avatar of communityCommunity Picks·2y

    Elevate Your Site's UX: Pro Tips on Minimizing Cumulative Layout Shift

    Learn about Cumulative Layout Shift (CLS), its importance for user experience and site ranking, and how to improve it.

  15. 15
    Article
    Avatar of freekFREEK.DEV·2y

    Caching Strategies In Laravel

    Learn about different caching strategies in Laravel and how to balance performance gains with complexity and infrastructure costs.

  16. 16
    Article
    Avatar of sitepointSitePoint·2y

    React Performance Optimization — SitePoint

    This article explores various strategies and best practices for React performance optimization. It discusses the goals of React performance optimization, how to identify performance bottlenecks using tools like React Developer Tools and Chrome DevTools, and best practices for using React Profiler. It also covers memoization techniques, state management optimization, lazy loading and code splitting, virtualization techniques, and memoization of expensive computations. The article emphasizes the importance of regular monitoring, profiling, and continuous improvement strategies in optimizing React applications.

  17. 17
    Article
    Avatar of communityCommunity Picks·2y

    The State of Benchmarking in Node.js

    This post explores macro and micro benchmarking in Node.js, highlighting the lack of tooling and libraries in the ecosystem. It discusses the options available for benchmarking, including the use of the node:perf_hooks module for macro benchmarking. The post also mentions different packages for micro benchmarking, such as Benchmark.js and Tinybench. Finally, it suggests the need for better tooling and a CLI for benchmarking in Node.js.

  18. 18
    Article
    Avatar of androiddevAndroid Developers Blog·2y

    Faster Rust Toolchains for Android

    The article discusses the optimizations implemented to improve the performance of the Rust toolchain for Android, including using single code generation units, garbage collecting data objects, performing link-time and profile-guided optimizations, and leveraging the BOLT tool. These optimizations result in significant speedup and size reduction in the compiled Rust components of Android.

  19. 19
    Article
    Avatar of communityCommunity Picks·2y

    Getting started with Web Performance 🚀

    Web performance is important for SEO, user experience, and inclusivity. Optimizing images, minimizing JavaScript usage, and caching are some key tips for improving web performance. Core Web Vitals are a collection of metrics used to measure web performance and are considered by Google in search rankings.

  20. 20
    Article
    Avatar of newstackThe New Stack·2y

    VanJS: a Minimalist, ‘Vanilla JavaScript’ UI Framework

    VanJS is a minimalist, open-source UI framework for JavaScript that offers a modern developer experience and reactivity. It is lightweight, unopinionated, and suited for small to medium-scale applications. VanJS is designed to provide an alternative to React and native GUI applications, allowing developers to build web-based applications that can replace most native applications. It supports states, state bindings, and automatic UI updates, while being more vanilla and immediate in the browser. VanJS also integrates well with large language models and has an AI-powered app builder. It is easy to learn and offers good performance.

  21. 21
    Article
    Avatar of logrocketLogRocket·2y

    Using the CSS contain property: A deep dive

    CSS containment is a property that improves website performance by allowing developers to optimize specific areas of a webpage. It offers four crucial values: layout, paint, size, and style. These values can be combined to create independent sections within a webpage, reducing the impact of changes in that area on the whole page. Layout containment establishes a protective border around an element, paint containment ensures that an element's content is only rendered within its visible area, size containment treats an element as if it has no content when determining its size, and style containment is used for counters and quotes. CSS containment can have significant performance benefits, especially for larger applications.

  22. 22
    Article
    Avatar of hnHacker News·2y

    microsoft/promptbase: All things prompt engineering

    Promptbase is a collection of resources, best practices, and example scripts for prompt engineering, specifically for GPT-4. The article discusses the Medprompt methodology and its three distinct strategies, dynamic few-shot examples, self-generated chain of thought, and majority vote ensembling. It also introduces Medprompt+ and how it extends the power of prompting. The article provides instructions on how to run the scripts and includes links to relevant datasets and additional resources.

  23. 23
    Article
    Avatar of perfplanetcalWeb Performance Calendar·2y

    Web Performance Calendar

    The web performance article discusses the importance of Interaction to Next Paint (INP) as a metric for assessing website responsiveness. It compares INP to First Input Delay (FID) and provides techniques for optimizing the main thread to improve web performance and INP scores.

  24. 24
    Article
    Avatar of jrebelJRebel·2y

    How to Improve JPA Performance

    Learn how to improve JPA performance by avoiding common causes of performance issues, such as using too many SQL queries and updating entities individually. Discover how to avoid the n+1 query problem and optimize data processing in the database.

  25. 25
    Article
    Avatar of communityCommunity Picks·2y

    Oxlint General Availability

    Oxlint is a JavaScript linter that is 50-100 times faster than ESLint. It focuses on catching erroneous or useless code and is designed to be easy to use with no configurations required. Oxlint provides enhanced diagnostics, consolidates rules from popular plugins, and is actively being developed with potential support for a plugin system in the future.