Re:Back end of Meta Threads is built with Python 3.10 with s...
by grishka on Thursday July 06, 2023 @03:08PM
(#36621207)
Curiously, VKontakte also started from PHP+MySQL but went another way. PHP is compiled ahead of time with something called KittenPHP. It's open-source. For databases they switched some parts to their own bespoke solutions in C that talk with PHP over the memcached protocol. These are called KittenDB (or "engines") for the simple single-purpose ones, and there was also a more generic MySQL replacement in development when I left in 2016, MeowDB.
[ Parent
| on HN ]
Re:Back end of Meta Threads is built with Python 3.10 with s...
by jonhohle on Thursday July 06, 2023 @04:08PM
(#36622050)
I’m not sure why someone of facebook’s scale would want JIT instead of AOT. That’s a lot of servers all JITing the same thing that could be done once at build time.
Re:Back end of Meta Threads is built with Python 3.10 with s...
by jeffffff on Thursday July 06, 2023 @04:32PM
(#36622516)
JIT compilation has the opportunity to do profile-guided optimization at runtime. JIT compilation is also simpler when distributing an application to non-identical servers, as it can optimize for the exact hardware it is running on.
Re:Back end of Meta Threads is built with Python 3.10 with s...
by yuliyp on Thursday July 06, 2023 @05:05PM
(#36623037)
Facebook actually does some compile-time optimizations, but also ships some of the profiling data for JITing between early deploy phases and the rest of the fleet: https://engineering.fb.com/2021/03/03/developer-tools/hhvm-j...
Also, Facebook used to do ahead of time compilation (HPHPc) but eventually HHVM managed to outperform it.
Re:Back end of Meta Threads is built with Python 3.10 with s...
by woadwarrior01 on Thursday July 06, 2023 @05:07PM
(#36623060)
HHVM's predecessor at FB was an AOT PHP to C++ transpiler called HPHPc. There are a lot more optimization opportunities with JIT compilation when dealing with dynamically typed languages like PHP.