Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Created December 18, 2022 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gistlyn/a7c55a56842899a1ce34f11456027a9b to your computer and use it in GitHub Desktop.
Save gistlyn/a7c55a56842899a1ce34f11456027a9b to your computer and use it in GitHub Desktop.
bench-audit
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<OutputType>Exe</OutputType>
<NoWarn>1591</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ServiceStack.Common" Version="6.*" />
<PackageReference Include="ServiceStack.OrmLite.Sqlite" Version="6.*" />
</ItemGroup>
</Project>
using System.Linq;
using System.Diagnostics;
using ServiceStack;
using ServiceStack.Text;
using ServiceStack.OrmLite;
using ServiceStack.DataAnnotations;
var dbFactory = new OrmLiteConnectionFactory(":memory:", SqliteDialect.Provider);
using var db = dbFactory.Open();
db.CreateTable<Record>();
for (int i = 0; i < 100; i++)
{
db.Insert(new Record
{
Name = $"Name {i}" ,
CreatedBy = "TEST",
ModifiedBy = "TEST",
CreatedDate = DateTime.Now.ToUnixTimeMs(),
ModifiedDate = DateTime.Now.ToUnixTimeMs()
});
}
var sw = new Stopwatch();
sw.Start();
var records = db.Select<Record>();
var loadTime = sw.ElapsedMilliseconds;
Console.WriteLine($"Took {loadTime}ms to load {records.Count} records");
public class Record //: AuditBase
{
[PrimaryKey]
[AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
public string CreatedBy { get; set; }
public long CreatedDate { get; set; }
public string ModifiedBy { get; set; }
public long ModifiedDate { get; set; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment