Arhiva za ‘c ++’ tag
Facebook objavio svoju internu C++ softversku biblioteku
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.
Facebook predstavio HipHop Virtual Machine koji ubrzava izvršenje PHP koda za 60%
U svom nastojanju da i dalje što je brže moguće opslužuje svojih 800 miliona korisnika, Facebook je ponovo okreće svom HipHop PHP kompajleru kako bi mnogo efikasnije upravljao svojim PHP Web stranama. Facebook je juče na GitHub postavio svoju HipHop Virtual Machine (HHVM), koju mnogi u kompaniji jednostavno nazivaju i PHP kompajler. Iako je ovaj PHP kompajler predstavljen pre dve godine, juče je kompanija predstavila novi alat u HipHop toolbox koji prema njenim navodima ubrzava PHP izvršenje za 60 procenata i koristi 90 odsto manje memorije.
Facebook trenutno koristi HHVM u svom testnom okruženju kao zamena za svoj vlastiti PHP-prevodioc, a na kraju planira da ga koristi za pokretanje PHP koda na svom sajtu.
PHP je prvobitno zamišljen kao web skripting jezik, koji bi se koristio za dodavanje dinamičkog sadržaja na Web stranicama. PHP je vitalni deo Facebook-a koji se zajedno sa JavaScript-om koristi za pomoć pri asembliranju jedinstvenih korisničkih stranica. Međutim, PHP aplikacije se ne izvršavaju tako brzo kao programi pisani u programskom jeziku kao što je C ++, koji se kompajlira u mašinski čitljiv bajt kod. Facebook HipHop pretvara PHP ekstenzije u visoko optimizovan C ++ kod, što znači da će raditi mnogo brže pri izvršavanju. PHP programeri mogu da napišu svoje ekstenzije u PHP-u a onda pomoću HipHop-a da ga transformišu u C ++ kod, koji onda može da se kompajliraju u brze binarne objekte.
Facebook je u vreme kada je predstavio HipHop takođe razvio i PHP prevodioc nazvan HPHPi, koji omogućava PHP programerima da pokreću svoj PHP kod bez kompajliranja. Kod radi na HPHPi nešto sporije nego kod koji je kompajliran i pokrenut na HipHop, ali ipak on obezbeđuje programerima znatno lakši način da debug-uju svoj kod.
Iako je Facebook dizajnirano HHVM prvenstveno za sopstvene potrebe, ipak ova tehnologija PHP ubrzanja bi mogla biti korisna i za druge organizacije koje koriste PHP.
Stvarno kompleksan PHP kod mogao bi imati velike koristi od optimizacije ove vrste. PHP je dominantan serverski jezik na kojem je napisano iznenađujuće veliki broj aplikacija,
istiće softverski analitičar Al Hilwa.