facebook_folly_biblioteka

Facebook je objavio biblioteku C ++ softverskih komponenti nazvanu Folly koja je fokusirana na brzinu, jednostavnost upotrebe, kao i na interoperabilnost sa drugim C ++ bibliotekama koje već koristite.

Ovu biblioteku Facebook je razvio kako bi zadovoljio potrebe svojih inženjera. Kao što je bio slučaj i sa ranijim open-source projektima kao što su Cassandra, HipHop i Thrift, Facebook programeri su i Folly smestili u oblast open-source softvera.

Očigledno da će Folly biti od izuzetne koristi za programere velikih, distribuiranih aplikacija koje zahtevaju značajne performanse ali će imati i "opštu korisnost" i za druge tipove programera koji koriste programski jezik C ++.

Čak i ako developeri ne planiraju da koristite Folly za razvoj Facebook aplikacija ipak bi trebali da pogledaju ovu biblioteku jer sadrži mnoge alate koje je moguće koristiti u drugim okruženjima. Mnoge komponenti koje su dostupne u biblioteci Folly rade mnogo brže od njenih ekvivalenata dostupnih na nekim drugim mestima.

Naša motivacija bila je da se pokušaju napraviti komponente koje bi bile brže i efikasnije od onih koje smo ranije koristili. Folly izgrađena kako bi se zadovoljila potreba za udobnošću i brzinom, što znači da je lakša za korišćenje i da brže radi od ostalih alternativa. Folly komponente su dizajnirane za korišćenje u velikih i zahtjevnim proizvodnim okruženjima, sa više od hiljadu servera. Komponente pokrivaju širok spektar funkcionalnosti. Jedna komponenta je projektovana tako da memoriju koristi mnogo efikasnije. AtomicHashMap smanjuje količinu vremena za koje je deo podataka iz memorije zaključano od strane operacije, što može da uspori performanse i izazove uska grla u opterećenim okruženjima. Skup komponenti za manipulaciju string-om koristi manje procesorskih krugova od ostalih C ++ biblioteka. Ovo je Kod koji radi na hiljadama servera i koji svakodnevno obavljaju posao za naših 900 miliona korisnika,

naveo je softverski inženjer u Facebook-u, Jordan DeLong.

Facebook je biblioteku Folly postavio na svoju GitHub stranicu.