Skip to content

Commit

Permalink
reverse-string: add alternative span code
Browse files Browse the repository at this point in the history
  • Loading branch information
ErikSchierboom committed Jan 16, 2024
1 parent c2a5e8b commit 3eb7fdb
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions exercises/practice/reverse-string/.approaches/span/content.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,17 @@ So what is the limit for the amount of memory we can allocate?
Well, this depends on how memory has already been allocated on the stack.
That said, a small test program successfully stack-allocated memory for `750_000` characters, so you might be fine.

## Alternative

It is possible to use an alternative span-based implementation that is more readable, but has the downside of being about twice as slow:

```csharp
Span<char> chars = stackalloc char[input.Length];
input.AsSpan().CopyTo(chars);
chars.Reverse();
return new string(chars);
```

## Performance

If you're interested in how this approach's performance compares to other approaches, check the [performance approach][approach-performance].
Expand Down

0 comments on commit 3eb7fdb

Please sign in to comment.