Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
EMILUA(1)		    General Commands Manual		     EMILUA(1)

NAME
       Emilua -	Lua execution engine

SYNOPSIS
       emilua [OPTION]... SCRIPT_FILE
       emilua -h|--help
       emilua --version

DESCRIPTION
       Emilua glues a LuaJIT interpreter to the	Boost.Asio execution engine by
       exposing	fiber and async	IO APIs. It also allows	multiple Lua VMs to
       share the same execution	context	and to communicate with	each other
       through actor-inspired APIs. Threading capabilities are also exposed.
       In short, Emilua	is a complete execution	engine for Lua.

       If SCRIPT_FILE is a directory, the file init.lua	inside this directory
       is executed.

OPTIONS
       --main-context-concurrency-hint HINT
	   Use HINT=1 to inform	spawn_context_threads()	won't be called	from
	   the main execution context and enable a few optimisations.
	   Recompile Emilua with the proper configure flags to enable even
	   more	aggressive optimizations. Check
	   https://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio/overview/core/concurrency_hint.html
	   for more info.

	   Use HINT=unsafe-io to enable	even further optimizations. As long as
	   you're only running Lua code, your program is still safe (despite
	   the parameter name).	Check
	   https://www.boost.org/doc/libs/1_88_0/doc/html/boost_asio/overview/core/configuration.html
	   for more info.

	   Use HINT=unsafe to enable even further optimizations. As long as
	   you're only running Lua code, your program is still safe (despite
	   the parameter name).	However	it'll disable threading	completely.
	   Check
	   https://www.boost.org/doc/libs/1_88_0/doc/html/boost_asio/overview/core/configuration.html
	   for more info.

	   The default is HINT=0.

       --main-context-scheduler-task-usec MICROSECONDS
	   The maximum time, in	microseconds, that the scheduler will wait for
	   its reactor task to complete. A value of -1 means that no limit is
	   placed on this wait time. May be set	to 0 to	enable CPU-bound
	   spinning.

       --main-context-scheduler-wait-usec MICROSECONDS
	   The maximum time, in	microseconds, that the scheduler will wait on
	   its wake-up event in	an idle	thread (i.e. a thread that is not
	   otherwise executing a handler or waiting on the reactor). A value
	   of -1 means that no limit is	placed on this wait time. May be set
	   to 0	to enable CPU-bound spinning in	an execution context that is
	   being run on	multiple threads.

       --main-context-reactor-preallocated-io-objects ALLOCATIONS
	   The number of internal reactor I/O object states to allocate	at
	   construction.

	   The reactor implementation uses per I/O object state	to track
	   things like the queue of outstanding	operations. These state
	   objects are recycled	once the I/O object is destroyed, but new ones
	   are allocated if there are no unused	state objects currently
	   available.

	   If an upper bound on	the number of I/O objects is known at
	   construction	time, this configuration option	can be set to ensure
	   that	no allocations occur after construction	is complete.

       --test
	   Run the application with _CONTEXT="test".

	   This	_CONTEXT propagates to imported	modules	and is meant to
	   trigger the execution of unit tests written in every	module from
	   the application. This _CONTEXT won't	propagate to imported external
	   modules.

       -h, --help
	   Show	help and exit.

       --version
	   Show	version	and exit.

ENVIRONMENT
       EMILUA_COLORS=1
	   Disable colour support auto-detection and force colour output on
	   log messages.

       EMILUA_COLORS=0
	   Disable colour support on log messages altogether.

       EMILUA_PATH
	   A colon-separated list of directories to augment the	default	search
	   path	for modules. The modules from this search set have higher
	   priority than the ones in the default search	path. On Windows, the
	   list	is semicolon-separated.

       EMILUA_LOG_LEVELS
	   A comma-separated list of log specs.	Each spec is a colon-separated
	   pair	where second element is	a number indicating maximum log	level
	   (inclusive) and the first element indicates the affected log
	   category. You can optionally	pass a spec containing just the	log
	   level that will affect the default category as the first spec.

	   Example:

	       EMILUA_LOG_LEVELS="2,glib:7,dbus:3" emilua src/init.lua

AUTHOR
       Vincius dos Santos Oliveira

Emilua 0.12.1			  2025-11-24			     EMILUA(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=emilua&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help