InfoQ Homepage Optimization Content on InfoQ
-
Optimized Lazy Image Loading with Progressive JPEG and HTTP Range Requests
Christoph Erdmann recently detailed an interesting technique for image lazy loading using Progressive JPEG and HTTP range requests. Unlike other image placeholder and lazy loading techniques, using range requests do not result in downloading extra image data while still providing a small preview image similar to the original.
-
ART Cloud Profiling to Improve Android App Performance
First introduced in Android Pie, ART optimizing profiles are a feature that leverages data sent to Play Cloud to optimize an app startup time on install or update. Data disclosed by Google show apps start 15% faster on average, with special cases reaching a 30% improvement.
-
Webhint Open Source Linting Tool for Detecting Issues with Accessibility, Performance, and Security
The webhint project provides an open source linting tool to check for issues with accessibility, performance, and security. The creation of websites and web apps has an increasing number of details to perfect, and webhint strives to help developers remember these details.
-
Performance of Structs in C# 7.2
The C# compiler, under some circumstances involving readonly, creates defensive copies of a struct. While this issue is well known and documented, it’s worth revisiting as it’s tied to several features of C# 7.2. The in and ref readonly keywords make occurrences of the issue more frequent, while readonly structs offer a way to fix it.
-
MIT Extended LLVM IR to Enable Better Optimization of Parallel Programs
Researchers at MIT have been working on a fork of LLVM to explore a new approach to optimizing parallel code by embedding fork-join parallelism directly into the compiler’s intermediate representation (IR). This, the researchers maintain, makes it possible to leverage most of the IR-level serial optimizations for parallel programs.
-
Mathieu Ripert on Instacart's Machine Learning Optimizations
Instacart is an online delivery service for groceries under one hour. Customers order the items on the website or using the mobile app, and a group of Instacart’s shoppers go to local stores, purchase the items and deliver them to the customer. InfoQ interviewed Mathieu Ripert, data scientist at Instacart, to find out how machine learning is leveraged to guarantee a better customer experience.
-
AFK-MC² Algorithm Speeds up k-Means Clustering Algorithm Seeding
“Fast and Probably Good Seedings for k-Means” by Olivier Bachem et al. was presented on 2016’s Neural Information Processing Systems (NIPS) conference and describes AFK-MC2, an alternative method to generate initial seedings for k-Means clustering algorithm that is several orders of magnitude faster than the state of art method k-Means++.
-
Addressing Visual Studio 15’s Memory Usage
As software projects grow in complexity and size, it has increased the resource demands imposed on programmer's toolsets. Visual Studio is no exception, and these increased demands combined with its ever-growing feature set means that it is feeling constrained. In this article we will examine how Microsoft is trying to overcome the 32-bit nature of VS15's main process.
-
Profiling and Optimizing V8 Memory Consumption
For the last few months, the V8 team has focused on reducing the memory consumed by the V8 engine, including work on the new Ignition interpreter, and improvements to V8’s parser and compilers. A key enabler of this process was profiling V8 memory usage using specific tools against a benchmark, as explained by V8 engineers Ulan Degenbaev, Michael Lippautz, Hannes Payer, and Toon Verwaest.
-
How Facebook Redesigned the HHVM JIT Compiler for Performance
In the Summer of 2013, Facebook engineers started a major redesign of the HHVM JIT compiler that brought an overall 15% reduction of CPU usage on Facebook’s web servers. Facebook engineer Guilherme Ottoni has recently described how Facebook achieved that result by backing profile-guided optimizations (PGO) into their JIT compiler.
-
Q&A with Aleksey Shipilev on Compact Strings Optimization in OpenJDK 9
OpenJDK 9 introduces the compact strings optimization. InfoQ interviews Oracle Java performance engineer Aleksey Shipilev to understand more about this optimization and its performance impact.
-
How Facebook Improved their iOS App Start Time
Facebook engineer Natansh Verma explained how they managed to reduce the launch time of the Facebook app for iOS and shave a few seconds off by streamlining their dependencies and using UDP priming.
-
Debugging iOS File Corruption at Facebook
Facebook engineers Slobodan Predolac and Nicolas Spielberg have recently described how they "solved a long-term mobile debugging problem and reduced the crash rate ... by more than 50 percent." In the process, they show general useful techniques and a few Facebook tools that can help with large, rapidly evolving codebases.
-
Android to Include Ahead-Of-Time Compiler
Google announced the next version of the Android operating system at Google I/O 2014. Code named “L release,” in the most significant change to the system architecture a new runtime simply called the Android RunTime (ART) with an AOT compiler replaces the Dalvik virtual machine and its JIT compiler.
-
Microsoft Speeds Up Windows Store Apps with .NET Native
.NET Native is an attempt from Microsoft to reduce the start up times and memory footprint of Windows Store applications.