Proposal: make the `module_code` and `export_list` table ceilings runtime-configurable

The maximum number of loaded modules (module_code, 65,536) and export entries (export_list, 524,288) are fixed compile-time constants. And in our very large application, we have started to notice :slight_smile:

I’d like to propose making them configurable—similar to ERL_MAX_ETS_TABLES—defaulting to today’s values. No strong opinion re: an emulator flag and/or an environment variable such as ERL_MAX_MODULES / ERL_MAX_EXPORTS.

Of course, happy to put together a PR along these lines if the approach sounds reasonable.

3 Likes

Seem reasonable to be able to change those limits with emulator command line options. In general, we don’t want new environment variables.

Gave it a shot here!