Adds MemoryMappedList, which uses MemoryMappedFile to store vectors.
🔗 Related Issues
Relates to #13
💡 Additional Notes
Benchmarks
AddBenchmarks.cs
```csharp
using BenchmarkDotNet.Attributes;
using Neighborly;
namespace Benchmarks;
[MemoryDiagnoser]
public class AddBenchmarks
{
private static readonly List s_vectorsSmall = Enumerable.Range(0, 100).Select(_ => RandomVectorGenerator.CreateRandomVector(1536)).ToList();
private static readonly List s_vectorsMedium = Enumerable.Range(0, 1_000).Select(_ => RandomVectorGenerator.CreateRandomVector(1536)).ToList();
private static readonly List s_vectorsLarge = Enumerable.Range(0, 10_000).Select(_ => RandomVectorGenerator.CreateRandomVector(1536)).ToList();
[Benchmark]
public VectorList ListAddSmall()
{
var list = new VectorList();
list.AddRange(s_vectorsSmall);
return list;
}
[Benchmark]
public VectorListOld ListAddSmallOld()
{
var list = new VectorListOld();
list.AddRange(s_vectorsSmall);
return list;
}
[Benchmark]
public VectorList ListAddMedium()
{
var list = new VectorList();
list.AddRange(s_vectorsMedium);
return list;
}
[Benchmark]
public VectorListOld ListAddMediumOld()
{
var list = new VectorListOld();
list.AddRange(s_vectorsMedium);
return list;
}
[Benchmark]
public VectorList ListAddLarge()
{
var list = new VectorList();
list.AddRange(s_vectorsLarge);
return list;
}
[Benchmark]
public VectorListOld ListAddLargeOld()
{
var list = new VectorListOld();
list.AddRange(s_vectorsLarge);
return list;
}
}
```
## 📝 Description
Adds
MemoryMappedList
, which usesMemoryMappedFile
to store vectors.🔗 Related Issues
Relates to #13
💡 Additional Notes
Benchmarks
AddBenchmarks.cs
```csharp using BenchmarkDotNet.Attributes; using Neighborly; namespace Benchmarks; [MemoryDiagnoser] public class AddBenchmarks { private static readonly List