Skip to content

Refactor Take/Skip state to non-nullable int. Define the default value to -1. #416

Closed
@fiseni

Description

@fiseni

The theme of version 9 is to reduce the allocation as much as possible. We'll squeeze every unnecessary allocated byte.
In this context, Take and Skip properties are defined as nullable int values, where the null value means "not set". Considering that int? has a size of 8 bytes compared to 4 bytes for int (on x64), we'll update these properties to non-nullable int, and the default value will be defined as -1.

Breaking change:
The common use of this library will remain unchanged. But, folks who have custom evaluators, extensions, or have custom logic that depends on the specification state directly will be affected by this change.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions