Add ability to skip module initialization and systemlib parsing at startup
commit785e5c58552ca354e0c19ee1fe48203a2cab90c5
authorRick Lavoie <rlavoie@fb.com>
Mon, 28 Feb 2022 18:59:28 +0000 (28 10:59 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Mon, 28 Feb 2022 18:59:28 +0000 (28 10:59 -0800)
tree8d023045dad0e9256498fc0458449bfa1068afac
parent584075dcbe04d1750a8b4f1ec27798ff1d6ab3c4
Add ability to skip module initialization and systemlib parsing at startup

Summary:
Starting up a HHVM process can be pretty slow. Almost all of the time
is spent in two places: Initializing extensions, and compiling
systemlib. This is unnecessary for certain applications and can save a
lot of startup time. Add options to disable the initialization of
extensions or the compiling of systemlib during startup.

This will be useful when we migrate parsing to use subprocesses, as
the subprocesses don't need either of the above and it greatly speeds
up their initialization.

Reviewed By: mofarrell

Differential Revision: D34516390

fbshipit-source-id: 302ee629d27ec8e99bded002c06d61eef5bc3ce9
hphp/hhvm/process-init.cpp
hphp/hhvm/process-init.h
hphp/runtime/base/program-functions.cpp
hphp/runtime/base/program-functions.h