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.
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.
“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++.
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.
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.
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.
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.
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.
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.
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.
.NET Native is an attempt from Microsoft to reduce the start up times and memory footprint of Windows Store applications.
Azul Systems announces the release of ReadyNow! in the latest version of Azul's Zing runtime for Java. Includes a series of algorithms designed to obviate the need for "warming-up" the Java Virtual Machine.
In an ongoing effort to improve Java performance, Oracle has announced a change in the internal representation of Strings as of Java 1.7.0_06.