Skip to content

Commit 99338a6

Browse files
committed
misc perf improvements
1 parent 5d8940f commit 99338a6

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

src/AsyncSingleton.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ public AsyncSingleton()
6767
_lock = new AsyncLock();
6868
}
6969

70-
public async ValueTask Init(params object[] objects)
70+
public ValueTask Init(params object[] objects)
7171
{
72-
await Init(CancellationToken.None, objects);
72+
return Init(CancellationToken.None, objects);
7373
}
7474

7575
public async ValueTask Init(CancellationToken cancellationToken, params object[] objects)
@@ -85,7 +85,7 @@ public async ValueTask Init(CancellationToken cancellationToken, params object[]
8585
if (_instance != null)
8686
return;
8787

88-
_instance = await InitInternal(cancellationToken, objects);
88+
_instance = await InitInternal(cancellationToken, objects).NoSync();
8989
}
9090
}
9191

@@ -263,7 +263,7 @@ public void Dispose()
263263
break;
264264
}
265265

266-
_instance = default;
266+
_instance = null;
267267
GC.SuppressFinalize(this);
268268
}
269269

@@ -287,7 +287,7 @@ public async ValueTask DisposeAsync()
287287
break;
288288
}
289289

290-
_instance = default;
290+
_instance = null;
291291
GC.SuppressFinalize(this);
292292
}
293293
}

src/AsyncSingleton{T}.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public virtual async ValueTask<T> Get(CancellationToken cancellationToken, param
102102
if (_instance != null)
103103
return _instance;
104104

105-
_instance = await GetInternal(cancellationToken, objects);
105+
_instance = await GetInternal(cancellationToken, objects).NoSync();
106106
return _instance;
107107
}
108108
}

test/Soenneker.Utils.AsyncSingleton.Tests/AsyncSingletonTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public async Task DisposeAsync_with_cancellationToken_with_nondisposable_should_
104104
[Fact]
105105
public async Task Async_with_object_and_cancellationToken_should_not_throw()
106106
{
107-
var httpClientSingleton = new AsyncSingleton(async (token, obj) => new object());
107+
var httpClientSingleton = new AsyncSingleton(async (token, _) => new object());
108108

109109
await httpClientSingleton.Init(CancellationToken.None, 3);
110110
}

test/Soenneker.Utils.AsyncSingleton.Tests/Soenneker.Utils.AsyncSingleton.Tests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
<PrivateAssets>all</PrivateAssets>
1818
</PackageReference>
1919
<PackageReference Include="Soenneker.Tests.Unit" Version="3.0.606" />
20-
<PackageReference Include="xunit.v3" Version="1.0.0" />
21-
<PackageReference Include="xUnit.v3" Version="1.0.0" /></ItemGroup>
20+
<PackageReference Include="xUnit.v3" Version="1.0.0" />
21+
</ItemGroup>
2222

2323
<ItemGroup>
2424
<ProjectReference Include="..\..\src\Soenneker.Utils.AsyncSingleton.csproj" />
2525
</ItemGroup>
2626

27-
</Project>
27+
</Project>

0 commit comments

Comments
 (0)