julia1
A high-level, high-performance dynamic programming language for technical computing
Usage
julia [OPTIONS ...]
--
[PROGRAMFILE]
[ARGS ...]
Overview
Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, largely written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. In addition, the Julia developer community is contributing a number of external packages through Julia's built-in package manager at a rapid pace. Julia programs are organized around multiple dispatch; by defining functions and overloading them for different combinations of argument types, which can also be user-defined. For a more in-depth discussion of the rationale and advantages of Julia over other systems, please see the online manual: https://docs.julialang.org
Options
-
-v, --version -
Display version information
-
-h, --help -
Print command-line options (this message)
-
--project[=<dir>/@.] -
Set <dir> as the active project/environment. The default @. option will search through parent directories until a Project.toml or JuliaProject.toml file is found.
-
-J, --sysimage <file> -
Start up with the given system image file
-
-H, --home <dir> -
Set location of `julia` executable
-
--startup-file={yes*|no} -
Load `JULIA_DEPOT_PATH/config/startup.jl`; if `JULIA_DEPOT_PATH` environment variable is unset, load `~/.julia/config/startup.jl`
-
--handle-signals={yes*|no} -
Enable or disable Julia's default signal handlers
-
--sysimage-native-code={yes*|no} -
Use native code from system image if available
-
--compiled-modules={yes*|no|existing|strict} -
Enable or disable incremental precompilation of modules. The `existing` option allows use of existing compiled modules that were previously precompiled, but disallows creation of new precompile files. The `strict` option is similar, but will error if no precompile file is found.
-
--pkgimages={yes*|no|existing} -
Enable or disable usage of native code caching in the form of pkgimages The `existing` option allows use of existing pkgimages but disallows creation of new ones
-
-e, --eval <expr> -
Evaluate <expr>
-
-E, --print <expr> -
Evaluate <expr> and display the result
- -m, --module <Package> [args]
-
Run entry point of `Package` (`@main` function) with `args'
-
-L, --load <file> -
Load <file> immediately on all processors
-
-t, --threads {auto|N[,auto|M]} -
Enable N[+M] threads; N threads are assigned to the `default` threadpool, and if M is specified, M threads are assigned to the `interactive` threadpool; `auto` tries to infer a useful default number of threads to use but the exact behavior might change in the future. Currently sets N to the number of CPUs assigned to this Julia process based on the OS-specific affinity assignment interface if supported (Linux and Windows) or to the number of CPU threads if not supported (MacOS) or if process affinity is not configured, and sets M to 1.
-
--gcthreads=N[,M] -
Use N threads for the mark phase of GC and M (0 or 1) threads for the concurrent sweeping phase of GC. N is set to the number of compute threads and M is set to 0 if unspecified.
-
-p, --procs {N|auto} -
Integer value N launches N additional local worker processes `auto` launches as many workers as the number of local CPU threads (logical cores)
-
--machine-file <file> -
Run processes on hosts listed in <file>
-
-i, --interactive -
Interactive mode; REPL runs and `isinteractive()` is true
-
-q, --quiet -
Quiet startup: no banner, suppress REPL warnings
-
--banner={yes|no|short|auto*} -
Enable or disable startup banner
-
--color={yes|no|auto*} -
Enable or disable color text
-
--history-file={yes*|no} -
Load or save history
-
--depwarn={yes|no*|error} -
Enable or disable syntax and method deprecation warnings (`error` turns warnings into errors)
-
--warn-overwrite={yes|no*} -
Enable or disable method overwrite warnings
-
--warn-scope={yes*|no} -
Enable or disable warning for ambiguous top-level scope
-
-C, --cpu-target=<target> -
Limit usage of CPU features up to <target>; set to `help` to see the available options
-
-O, --optimize={0|1|2*|3} -
Set the optimization level (level 3 if `-O` is used without a level)
-
--min-optlevel={0*|1|2|3} -
Set a lower bound on the optimization level
-
-g, --debug-info={0|1*|2} -
Set the level of debug info generation (level 2 if `-g` is used without a level)
-
--inline={yes*|no} -
Control whether inlining is permitted, including overriding @inline declarations
-
--check-bounds={yes|no|auto*} -
Emit bounds checks always, never, or respect @inbounds declarations
-
--math-mode={ieee|user*} -
Always follow `ieee` floating point semantics or respect `@fastmath` declarations
-
--polly={yes*|no} -
Enable or disable the polyhedral optimizer Polly (overrides @polly declaration)
-
--code-coverage[={none*|user|all}] -
Count executions of source lines (omitting setting is equivalent to `user`)
-
--code-coverage=@<path> -
Count executions of source lines in a file or files under a given directory. A `@` must be placed before the path to indicate this option. A `@` with no path will track the current directory.
-
--code-coverage=tracefile.info -
Append coverage information to the LCOV tracefile (filename supports format tokens)
-
--track-allocation[={none*|user|all}] -
Count bytes allocated by each source line (omitting setting is equivalent to `user`)
-
--track-allocation=@<path> -
Count bytes but only in files that fall under the given file path/directory. The `@` prefix is required to select this option. A `@` with no path will track the current directory.
-
--bug-report=KIND -
Launch a bug report session. It can be used to start a REPL, run a script, or evaluate expressions. It first tries to use BugReporting.jl installed in current environment and fallbacks to the latest compatible BugReporting.jl if not. For more information, see --bug-report=help.
-
--heap-size-hint=<size> -
Forces garbage collection if memory usage is higher than the given value. The value may be specified as a number of bytes, optionally in units of KB, MB, GB, or TB, or as a percentage of physical memory with %.
-
--compile={yes*|no|all|min} -
Enable or disable JIT compiler, or request exhaustive or minimal compilation
-
--output-o <name> -
Generate an object file (including system image data)
-
--output-ji <name> -
Generate a system image data file (.ji)
-
--strip-metadata -
Remove docstrings and source location info from system image
-
--strip-ir -
Remove IR (intermediate representation) of compiled functions
-
--output-unopt-bc <name> -
Generate unoptimized LLVM bitcode (.bc)
-
--output-bc <name> -
Generate LLVM bitcode (.bc)
-
--output-asm <name> -
Generate an assembly file (.s)
-
--output-incremental={yes|no*} -
Generate an incremental output file (rather than complete)
-
--trace-compile={stderr|name} -
Print precompile statements for methods compiled during execution or save to stderr or a path. Methods that were recompiled are printed in yellow or with a trailing comment if color is not supported
- --trace-compile-timing=
-
If --trace-compile is enabled show how long each took to compile in ms
-
--trace-dispatch={stderr|name} -
Print precompile statements for methods dispatched during execution or save to stderr or a path.
-
--trace-eval[={no*|loc|full}] -
Show top-level expressions being evaluated. `loc` shows location info only, `full` shows full expressions (omitting setting is equivalent to `loc`). Only shows the outermost expression being evaluated, not internal function calls. Can be controlled programmatically via Base.TRACE_EVAL.
-
--task-metrics={yes|no*} -
Enable the collection of per-task metrics.
-
-image-codegen -
Force generate code in imaging mode
-
--permalloc-pkgimg={yes|no*} -
Copy the data section of package images into memory
Files and environment
See https://docs.julialang.org/en/v1/manual/environment-variables/
Internet resources
Website: https://julialang.org/
Documentation: https://docs.julialang.org/
Install: https://julialang.org/install/
Licensing
Julia is an open-source project. It is made available under the MIT license.
Releases
10 releases since Debian 2.0 (Hamm); the text changed 7 times.
--banner since Debian 10 (Buster);
--bug-report since Arch Linux 2026-11-01;
--check-bounds since Debian 8 (Jessie);
--code-coverage since Debian 8 (Jessie);
--color since Debian 8 (Jessie);
--compile since Debian 9 (Stretch);
--compiled-modules since Arch Linux 2026-11-01;
--cpu-target since Debian 9 (Stretch);
--debug-info since Arch Linux 2026-11-01;
--depwarn since Debian 9 (Stretch);
--eval since Debian 8 (Jessie);
--gcthreads since Arch Linux 2026-11-01;
--handle-signals since Debian 10 (Buster);
--heap-size-hint since Arch Linux 2026-11-01;
--help since Debian 8 (Jessie);
--help-hidden since Arch Linux 2026-11-01;
--history-file since Debian 9 (Stretch);
--home since Debian 8 (Jessie);
--inline since Debian 9 (Stretch);
--interactive since Arch Linux 2026-11-01;
--load since Debian 8 (Jessie);
--machine-file since Debian 10 (Buster);
--math-mode since Debian 9 (Stretch);
--min-optlevel since Arch Linux 2026-11-01;
--optimize since Debian 9 (Stretch);
--output-asm since Arch Linux 2026-11-01;
--output-bc since Debian 10 (Buster);
--output-incremental since Debian 10 (Buster);
--output-ji since Debian 10 (Buster);
--output-o since Debian 10 (Buster);
--output-unopt-bc since Arch Linux 2026-11-01;
--permalloc-pkgimg since Arch Linux 2026-11-01;
--pkgimages since Arch Linux 2026-11-01;
--polly since Arch Linux 2026-11-01;
--print since Debian 8 (Jessie);
--procs since Debian 9 (Stretch);
--project since Debian 10 (Buster);
--quiet since Arch Linux 2026-11-01;
--startup-file since Debian 9 (Stretch);
--strip-ir since Arch Linux 2026-11-01;
--strip-metadata since Arch Linux 2026-11-01;
--sysimage since Debian 8 (Jessie);
--sysimage-native-code since Debian 10 (Buster);
--task-metrics since Arch Linux 2026-11-01;
--threads since Debian 11 (Bullseye);
--trace-compile since Arch Linux 2026-11-01;
--trace-dispatch since Arch Linux 2026-11-01;
--trace-eval since Arch Linux 2026-11-01;
--track-allocation since Debian 9 (Stretch);
--version since Debian 8 (Jessie);
--warn-overwrite since Debian 10 (Buster);
--warn-scope since Arch Linux 2026-11-01;
-C since Debian 9 (Stretch);
-E since Debian 8 (Jessie);
-H since Debian 8 (Jessie);
-J since Debian 8 (Jessie);
-L since Debian 8 (Jessie);
-O since Debian 9 (Stretch);
-e since Debian 8 (Jessie);
-g since Debian 10 (Buster);
-h since Debian 8 (Jessie);
-i since Debian 8 (Jessie);
-image-codegen since Arch Linux 2026-11-01;
-p since Debian 8 (Jessie);
-q since Arch Linux 2026-11-01;
-t since Debian 11 (Bullseye);
-v since Debian 8 (Jessie).
--dump-bitcode until Debian 9 (Stretch);
--int-literals until Debian 8 (Jessie);
--machinefile until Debian 9 (Stretch);
--no-history-file until Debian 8 (Jessie);
--no-startup until Debian 8 (Jessie);
--post-boot until Debian 9 (Stretch);
-F until Debian 8 (Jessie);
-P until Debian 9 (Stretch);
-count until Debian 3.0 (Woody);
-cycles until Debian 3.0 (Woody);
-f until Debian 8 (Jessie);
-install until Debian 3.0 (Woody);
-mono until Debian 3.0 (Woody);
-mouse until Debian 3.0 (Woody);
-ncolors until Debian 3.0 (Woody);
-nomouse until Debian 3.0 (Woody);
-root until Debian 3.0 (Woody);
-visual until Debian 3.0 (Woody);
-window until Debian 3.0 (Woody).