JaffarPlus
High-performance best-first search optimizer for tool-assisted speedruns
Loading...
Searching...
No Matches
jaffar.cpp File Reference

The jaffar executable: parses a configuration script and either validates it (--dryRun) or builds and runs the search engine via a jaffarPlus::Driver. More...

#include "driver.hpp"
#include <argparse/argparse.hpp>
#include <cstdlib>
#include <jaffarCommon/json.hpp>
#include <jaffarCommon/logger.hpp>
#include <jaffarCommon/string.hpp>

Go to the source code of this file.

Functions

int main (int argc, char *argv[])
 Entry point for the jaffar engine executable.
 

Detailed Description

The jaffar executable: parses a configuration script and either validates it (--dryRun) or builds and runs the search engine via a jaffarPlus::Driver.

Reads the JSON config file named on the command line. In dry-run mode it only constructs the driver to validate the configuration (signalling the construction path via the JAFFAR_IS_DRY_RUN environment variable so host-specific side effects are skipped) and exits. Otherwise it initializes and runs the driver, then reports the exit reason and final step.

Definition in file jaffar.cpp.

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

Entry point for the jaffar engine executable.

Parses the command line (required configFile and the --dryRun flag), loads and parses the JSON config, and constructs a jaffarPlus::Driver from it. In dry-run mode it sets the JAFFAR_IS_DRY_RUN environment variable before constructing the driver (so host-specific side effects – the NUMA topology check and trace-file loading – are skipped) and returns after successful validation. Otherwise it initializes and runs the driver, maps the resulting jaffarPlus::Driver::exitReason_t to a message, and prints the final step and exit reason.

Parameters
argcArgument count.
argvArgument vector.
Returns
The driver's exit reason value (in non-dry-run mode), or 0 after a successful dry run.

Definition at line 33 of file jaffar.cpp.