Engineering Blog

Blog posts tagged 'Performance'

Hu LiEngineering

Introducing "Yosemite": the first open source modular chassis for high-powered microservers

Posted about 3 years ago
blog post · Infra · Data · Performance · Open Compute · Open Source · Compute · Data Centers · Hardware

To provide our infrastructure with capacity that scales out with the demand, we designed a modular chassis that contains high-powered system-on-a-chip (SoC) processor cards, code-named “Yosemite.” Today, we're proposing the Yosemite design as a contribution to the Open Compute Project. Read more...

Omer StrulovichSoftware engineer at Facebook

Fast Rendering News Feed on Android

Posted about 3 years ago
blog post · Mobile · Android · News Feed · Platform · Compute · Design Tools · Performance

Fast Rendering News Feed on Android. Read more...

Tomer BarEngineering at Facebook

Faster Photos in Facebook for iOS

Posted about 3 years ago
blog post · Mobile · Data · iOS · Photos · Performance · User Experience · Storage · News Feed

Faster Photos in Facebook for iOS. Read more...

Erin GreenEngineering

Inside Wikipedia's transition to HHVM

Posted about 3 years ago
blog post · Infra · Web · Backend · Open Source · Performance · Optimization · User Experience · Caching · PHP · HipHopmore

Inside Wikipedia's transition to HHVM. Read more...

Brian K CabralDirector of Engineering at Facebook

The art and science behind auto-enhance for iOS

Posted about 3 years ago
blog post · Mobile · Photos · iOS · Compute · User Experience · Performance

When designing auto-enhance for iOS, we wanted to capture the moment as we saw it, not as most cameras render it. Read more...

Alexey AndreyevEngineering

Introducing data center fabric, the next-generation Facebook data center network

Posted about 3 years ago

The more than 1.35 billion people who use Facebook on an ongoing basis rely on a seamless, “always on” site performance. On the back end, we have many advanced sub-systems and infrastructures in place that make such a real-time experience possible, and our scalable, high-performance network is one of them. Read more...

Introducing Proxygen, Facebook's C++ HTTP framework

Posted about 3 years ago

We are excited to announce the release of Proxygen, a collection of C++ HTTP libraries, including an easy-to-use HTTP server. In addition to HTTP/1.1, Proxygen (rhymes with “oxygen”) supports SPDY/3 and SPDY/3.1. We are also iterating and developing support for HTTP/2. Read more...

Adam ErnstiOS Developer at Facebook

Making News Feed nearly 50% faster on iOS

Posted about 3 years ago
blog post · Mobile · Data · iOS · News Feed · User Experience · Optimization · Performance · Framework · Caching · Storage · Testingmore

We realized that while Core Data had served us well in the beginning, we needed to go without some of its features to accommodate our scale. We set about replacing it with our own solution, resulting in News Feed performing nearly 50% faster on iOS. Read more...

Introducing AsyncDisplayKit: For smooth and responsive apps on iOS

Posted about 3 years ago

AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. Read more...

Debugging file corruption on iOS

Posted about 3 years ago
blog post · Mobile · Infra · iOS · Platform · Performance · Optimization

Recently, we solved a long-term mobile debugging problem and reduced the crash rate for people using the Facebook for iOS app by more than 50 percent. Read more...

Qiang WuInfrastructure Software Engineer at Facebook

Making Facebook’s software infrastructure more energy efficient with Autoscale

Posted about 3 years ago

Improving energy efficiency and reducing environmental impact as we scale is a top priority for our data center teams. We’ve talked a lot about our progress on energy-efficient hardware and data center design through the Open Compute Project, but we’ve also started looking at how we could improve the energy efficiency of our software. We explored multiple avenues, including power modeling and profiling, peak power management, and energy-proportional computing. One particularly exciting piece of technology that we developed is a system for power-efficient load balancing called Autoscale. Autoscale has been rolled out to production clusters and has already demonstrated significant energy savings. Read more...

Alex SourovSoftware Engineer / Engineering Manager / Product Manager at Facebook

Improving Facebook on Android

Posted about 4 years ago

In an effort to connect the next five billion, Facebook began to shift to a mobile-first company about two years ago. We trained hundreds of employees on mobile development, restructured internal teams to build for all platforms, and moved to a fast-paced release cycle. Read more...

Nick PetroEngineering

F8 Developer Conference - Hacker Way Recap

Posted about 4 years ago
blog post · Data · Infra · Mobile · Web · Performance · Optimization · Open Source · Hack · Messages · Design Tools · Android · iOSmore

Over 1,700 developers traveled to the Concourse Exhibition Center in San Francisco for Facebook’s F8 Developer Conference last week. Read more...

Joel PobarEngineering

Hack Developer Day Recap

Posted about 4 years ago

A few weeks ago, Facebook introduced and open-sourced Hack, a gradually-typed programming language for HHVM that interoperates seamlessly with PHP. Yesterday we hosted our first Hack Developer Day to bring together members of the developer community for a deeper dive into Hack and HHVM. Read more...

Large-scale graph partitioning with Apache Giraph

Posted about 4 years ago
blog post · Infra · Data · Open Source · Graph · Graph Search · Performance · Optimization

Facebook’s architecture relies on various services that answer queries about people and their friends. Because of the size of the dataset, number of queries per second, and latency requirements, many of these systems cannot run on a single machine. Instead, people and their metadata are sharded across several machines. In such a distributed environment, answering queries might require communication among all these servers. Read more...

Luiz ScheideggerSoftware Engineering Intern at Facebook

Introducing the Facebook Messenger for Android beta testing program

Posted about 4 years ago
blog post · Infra · Mobile · Messages · Testing · Android · Platform · User Experience · Performance

When we introduced Messenger two years ago, we set out to create a great messaging experience that would allow you to connect with friends over many different channels. We worked hard to make it so that you could reach people you care about, no matter if they were on web, mobile, or even via e-mail. A lot has happened since then, and today the majority of people connecting to the Internet for the first time do so on mobile. When we released Messenger 3.0 late last year, we decided to make it a world class mobile-to-mobile messaging platform. This included a complete redesign of the app, with increased focus on speed and reliability, and more tools for people to express themselves in a rich and dynamic way, with features like stickers and audio clips. With Messenger, we want to empower people passionate about messaging with a fast and simple way to communicate with their friends. Read more...

Looking back on “Look Back” videos

Posted about 4 years ago

Facebook’s mission is to help people connect with one another, and as our 10th anniversary approached last month, we wanted to do something that would let everyone participate in the event together. After some discussion, we settled on the Look Back feature, which allows people to generate one-minute videos that highlight memorable photos and posts from their time on Facebook. Read more...

Scott GoodsonEngineering Manager for Paper at Facebook

Building Paper

Posted about 4 years ago

A few weeks ago we launched Paper, a new app to explore content from your friends and the world around you—with built-in access to all the core features of Facebook. Through the process of implementing the fresh design and creating about 20 new categories of content, the team has developed new frameworks and architectural approaches to address the toughest challenges we encountered. In a series of blog posts, tech talks, and open source releases, we hope to give a comprehensive overview of the key parts of Paper's implementation and share some of our most valuable lessons learned while building this interaction-rich app on iOS. Read more...

Subodh IyengarSoftware engineer at Facebook

Introducing Conceal: Efficient storage encryption for Android

Posted about 4 years ago
blog post · Web · Infra · Data · Security · Open Source · Android · Java · Development Tools · Caching · Storage · Performancemore

Caching and storage are tricky problems for mobile developers because they directly impact performance and data usage on a mobile device. Caching helps developers speed up their apps and reduce network costs for the device owner by storing information directly on the phone for later access. However, internal storage capacity on Android phones is often limited, especially with lower to mid range phone models. A common solution for Android is to store some data on an expandable SD card to mitigate the storage cost. What many people don't realize is that Android's privacy model treats the SD card storage as a publicly accessible directory. This allows data to be read by any app (with the right permissions). Thus, external storage is normally not a good place to store private information. Read more...

Scaling Mercurial at Facebook

Posted about 4 years ago
blog post · Infra · Open Source · Performance · Optimization

With thousands of commits a week across hundreds of thousands of files, Facebook's main source repository is enormous--many times larger than even the Linux kernel, which checked in at 17 million lines of code and 44,000 files in 2013. Given our size and complexity—and Facebook's practice of shipping code twice a day--improving our source control is one way we help our engineers move fast. Read more...

David GarciaEngineering

Building a faster Messenger

Posted about 4 years ago
blog post · Mobile · Android · Platform · iOS · Messages · Performance · Tooling · Testing

A little over two years ago we launched Messenger to give people passionate about messaging a simpler and faster way to communicate with their friends. As features have been well received by our Messenger users we've brought them over to our core Facebook apps. As a result, the Messenger and messaging experience across Facebook became very similar. Read more...

Carlos BuenoFixer at Facebook

The Mature Optimization Handbook

Posted about 4 years ago
blog post · Data · Culture · Testing · Performance · Optimization · Languages

I spent a good chunk of the past year working on an internal training class and a short book about performance measurement and optimization. You can download it here. Below is an excerpt. Read more...

Martin TraversoEngineering

Presto: Interacting with petabytes of data at Facebook

Posted about 4 years ago
blog post · Data · Infra · Backend · Performance

Facebook is a data-driven company. Data processing and analytics are at the heart of building and delivering products for the 1 billion+ active users of Facebook. We have one of the largest data warehouses in the world, storing more than 300 petabytes. How do we query it all?. Read more...

Domas MituzasInfrastructure Engineer at Facebook

Flashcache at Facebook: From 2010 to 2013 and beyond

Posted about 4 years ago
blog post · Infra · Data · Storage · Caching · Performance · Optimization

We recently released a new version of Flashcache, kicking off the flashcache-3.x series. We’ve spent the last few months working on this new version, and our work has resulted in some performance improvements, including increasing the average hit rate from 60% to 80% and cutting the disk operation rate nearly in half. Read more...

Ragavan SrinivasanEngineering at Facebook

Introducing the Facebook for Android Beta Testing Program

Posted about 4 years ago
blog post · Mobile · Infra · Android · Testing · Performance · Platform

Performance and reliability are top priorities across Android, but when we marry the platform's diversity of devices and OS versions with Facebook scale, the ability to test quality across experiences can become a challenge. Beginning today, we are announcing a beta program for Facebook for Android. This new tool will help us get performance data and feedback from more people ahead of release across a wider range of devices and versions of Android. The ultimate goal of the program is to release updates to Facebook for Android that are more reliable and better performing. Read more...

Paul SaabEngineering at Facebook

Adding :face: to every IP: Celebrating IPv6's one-year anniversary

Posted about 5 years ago

One year ago, Facebook joined several other major Internet companies to adopt IPv6 in support of the World IPv6 Launch. This was a particularly big milestone for the Internet because without IPv6, the number of people and devices connecting to the Internet cannot continue to grow. By creating new addresses, IPv6 is helping us keep Facebook (and the Internet) fast, responsive, and reliable. Read more...

Wez FurlongEngineering

Watchman: Faster builds with large source trees

Posted about 5 years ago
blog post · Infra · Performance

Like with many modern and complex web applications, much of the code behind Facebook goes through a series of build steps to transform it from PHP source code and assets into the running application. These steps include identifying where source code classes live, mapping web controller paths, spriting images, using CSS and JavaScript to package it up, and more. Some of these steps are only necessary when we're prepping for one of our twice-daily release pushes, but the rest are necessary for our engineers to have a functioning development environment. Read more...

Keep Updated

Stay up-to-date via RSS with the latest open source project releases from Facebook, news from our Engineering teams, and upcoming events.

Subscribe
Facebook © 2017