Feeds

Facebook open sources production code

"Folly" trove full of high performance widgets hits GitHub

  • alert
  • submit to reddit

Security and trust: The backbone of doing business over the internet

Facebook has released Folly, a collection of what it describes as “reusable C++ library artifacts developed and used at Facebook.”

The trove awaits on GitHub and comprises around 50 items.

Jordan DeLong, a Facebook software engineer, explained “Our primary aim with this 'foolishness' is to create a solution that allows us to continue open sourcing parts of our stack without resorting to reinventing some of our internal wheels.” He also talks up the open source love, saying Facebook could not have been built without open source kit.

DeLong describes the code as follows:

The utilities contained in Folly are things we use heavily in production—this is code that runs on thousands of servers doing work on behalf of 900 million users every day. These utilities are loosely connected, but the over-arching theme for all of the components is high performance at scale. Some of them will show a fairly specialized focus, like reducing contention or packing things into small amounts of memory. Others, such as our in-memory JSON manipulation library or our string-formatting library, have a larger scope. But in either case, our motivation was to build components that were faster and more efficient than what we previously used.

DeLong's post announcing the release modestly says Folly is very easy to use, contains “components [that] typically perform significantly faster than counterparts available elsewhere,“ and “... even offer a step forward in terms of programmer convenience.”

On the Github README, however, he's a little more candid, writing that:

“Performance concerns permeate much of Folly, sometimes leading to designs that are more idiosyncratic than they would otherwise be . Good performance at large scale is a unifying theme in all of Folly.”

This won't be the last time Facebook does something like this: DeLong's post says “This initial release is definitely in the spirit of 'release early, release often.' We will continue to update the open source tree as new Folly components are added, so you can expect to see more of this on github in the future.” ®

Beginner's guide to SSL certificates

More from The Register

next story
Brit telcos warn Scots that voting Yes could lead to HEFTY bills
BT and Co: Independence vote likely to mean 'increased costs'
Phones 4u slips into administration after EE cuts ties with Brit mobe retailer
More than 5,500 jobs could be axed if rescue mission fails
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
Radio hams can encrypt, in emergencies, says Ofcom
Consultation promises new spectrum and hints at relaxed licence conditions
Blockbuster book lays out the first 20 years of the Smartphone Wars
Symbian's David Wood bares all. Not for the faint hearted
Bonking with Apple has POUNDED mobe operators' wallets
... into submission. Weve squeals, ditches payment plans
This flashlight app requires: Your contacts list, identity, access to your camera...
Who us, dodgy? Vast majority of mobile apps fail privacy test
prev story

Whitepapers

Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.
WIN a very cool portable ZX Spectrum
Win a one-off portable Spectrum built by legendary hardware hacker Ben Heck
Saudi Petroleum chooses Tegile storage solution
A storage solution that addresses company growth and performance for business-critical applications of caseware archive and search along with other key operational systems.
Protecting users from Firesheep and other Sidejacking attacks with SSL
Discussing the vulnerabilities inherent in Wi-Fi networks, and how using TLS/SSL for your entire site will assure security.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.