Python Performance: The `DisableYieldCondition` feature has been added to tasks and enabled for Python. Additionally, Python's access to table merge operations now occurs before the Global Interpreter Lock (GIL) is acquired, which is designed to improve concurrency and performance for Python-related table operations.
Profiling Granularity and Presentation: Profiling functions have been updated to collect CPU times from model execution in nanoseconds, offering much finer detail than previous millisecond measurements. For user readability, these times are now presented in seconds and microseconds, reducing visual clutter.
Region Information Retrieval: A new functor, `GetAllRegionsInfoFunctor`, has been defined to allow for the simultaneous retrieval of information about the extents of all regions.
Geographic Grid Area Calculation: The system now implements area calculation on geographic grids using an authalic sphere, ensuring equal-area accuracy for geographic computations.
Script Writer Capabilities: An option has been added to the script writer to include information about ports connected to functors located in scripts other than the current one, improving the understanding of inter-script dependencies.
Table Description Enhancements: `TableDescription::getColumnIndex` now returns an `optional` instead of an integer for found/not-found `std::size_t` indices, leading to safer and clearer code.
Class Documentation: The documentation for `Data` and `DerivedData` classes has been improved to be clearer about their copy semantics.
Functor Renaming: The `CreateTable` functor has been renamed to `CreateEmptyTable` to more clearly indicate that its output table is empty.