Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions _posts/2025-11-12-sep-0.12.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
layout: post
title: Sep 0.12.0 - Add net10.0 target and use cross-platform VectorXY.NarrowWithSaturation
---

[Sep 0.12.0 was released November 12th,
2025](https://github.com/nietras/Sep/releases/tag/v0.12.0) with a minor update
to target `net10.0` and use the newly available
[VectorXY.NarrowWithSaturation](https://learn.microsoft.com/da-dk/dotnet/api/system.numerics.vector.narrowwithsaturation?view=net-10.0&viewFallbackFrom=net-9.0).

There are no other functional changes in this release and .NET 10 does not
improve upon Sep's already world class CSV performance. Cross-platform
`Vector256` parser is within performance of AVX-2 specific parser, as seen
below. So...

![Parsers Benchmarks .NET 10]({{ site.baseurl
}}/images/2025-11-sep-0.12.0/parsers-benchmarks-dotnet-10.png)

That's all! 😁

PS: There have been a few 0.11.x release with some minor feature additions.
Check out [releases](https://github.com/nietras/Sep/releases) on GitHub for
notes on this. Most of it is GitHub chore, though.

sneaky `Sep_nietras_SeparatedValues_SepParserVector256NrwCmpExtMsbTzcnt__Parse<Int32__Sep_nietras_SeparatedValues_SepColEndMethods>`
uses AVX-512 VBMI2 instructions for narrowing with saturation:
```
000000014007DF72: C5 FE 6F 27 vmovdqu ymm4,ymmword ptr [rdi]
000000014007DF76: 62 F3 5D 48 3A 67 vinserti32x8 zmm4,zmm4,ymmword ptr [rdi+20h],1
01 01
000000014007DF7E: 62 F2 7E 48 10 E4 vpmovuswb ymm4,zmm4
```
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.