Cortex requires one of the following 64 bit Windows based Operating Systems:
- Windows 10
- Windows 11
- Windows Server 2019
- Windows Server 2022
The Cortex installer automatically installs the following runtimes if not already present:
- .NET Framework 4.5.2
- .NET 6
- Microsoft Visual C++ 2015-2022 Redistributable 14.36.32532
Cortex is fully multithreaded and highly scalable. By default it will use all available processor cores, but can be forced to run using fewer if necessary. The more cores that Cortex runs on, the faster it will be able to process data.
Cortex runs entirely in-memory. As the volume of data increases, memory requirements also increase. Cortex must be run on a machine with enough memory to process the data.
As a rough guideline:
- a machine with 8 GB of RAM should comfortably process 15 million rows;
- a machine with 16 GB of RAM should comfortably process 30 million rows;
- a machine with 32 GB of RAM should comfortably process 60 million rows;
- a machine with 48 GB of RAM should comfortably process 80 million rows.
If overlapping two sources of data, then use their summed row counts with these guidelines (for example, 100 million vs. 20 million would require 80 GB of RAM.
Note that these figures are highly dependent on factors such as:
- the average size of each row (these figures assume an average row size of 150 bytes);
- which match keys are used (refer to the Configuration Guide for details on match keys);
- the amount of duplication in the data.
Normalization: Note that when an engine is configured for normalization, a row of data added to the engine is discarded immediately after it's processed and output; it is otherwise not retained in RAM. The above RAM requirements are therefore not applicable, and memory usage is minimal.