Skip to content

Watney Solver v1.2.0

Compare
Choose a tag to compare
@github-actions github-actions released this 21 Jan 17:46
· 3 commits to master since this release

Small feature and bugfix release

This version introduces solver thread limiting and fixes a logging issue.

Changelog

Added

  • In the library: The solver now allows limiting the number of threads it uses. The new SolverGlobalConfiguration class allows setting a property MaxThreads that is respected by the Solver class. Example:
var globalSolverConfiguration = Solver.SolverGlobalConfiguration;
globalSolverConfiguration.MaxThreads = Environment.ProcessorCount - 1; // Default is Environment.ProcessorCount
Solver.SetGlobalConfiguration(globalSolverConfiguration); // After this the change takes effect.
  • In CLI: optional parameter to allow limiting how many threads the solver can use. If the host is running other processes as well, it can be useful to limit the number of threads that is allowed to be used by the solver. By default when the parameter is not given then no limit is applied, i.e. the used thread count will default to the number of your CPU logical cores.

    example usage:

  ./watney-solve --limit-threads 15 ...

And to override the default value (0 which means do not limit), in the watney-solve-config.yml you can add:

  defaultLimitThreads: <number>
  • In API: Configuration option to allow limiting how many threads the solver can use. In config.yml:
  limitThreads: -1

By default the value is set to -1 which does not apply any limit, i.e. the used thread count will default to the number of your CPU logical cores.. If the host is running other processes as well, it can be useful to limit the number of threads that is allowed to be used by the solver.

Fixed

  • In CLI: When logging to file with the --log-file parameter the file I/O was excessive, slowing down solves significantly since the verbose logging produces so much log. This has been fixed by significantly reducing the file writes and instead the logs are mostly kept in memory until they get flushed to disk.

Downloads

CLI solver

watney-solve-cli-1.2.0*

The packages contain a single-file, self-contained executable. Therefore .NET 6 runtime installation is not required.
You'll also need to download the Gaia2 Quad Database release.

Extract to any directory, same goes to the quad database. Edit the configuration file watney-solve-config.yml to set the path to your quad database directory.

API solver

watney-solve-api-1.2.0*

The Watney API app. Includes the Astrometry.net compatibility API.

The packages contain a single-file, self-contained executable. Therefore .NET 6 runtime installation is not required.
You'll also need to download the Gaia2 Quad Database release.

Extract to any directory, same goes to the quad database. Edit the configuration file config.yml to set the path to your quad database directory, and to configure the API to your liking.

Click on > Assets to view the downloads.