Skip to content

Commit

Permalink
add .NET 6 SDK support (#5373)
Browse files Browse the repository at this point in the history
* add .NET 6 sdk support

* fix AzDo

* fixed `testNetVersion`

* upgrade to Incrementalist v0.6.0

* updated MNTR AzDo template to use .NET 6

* fixed Hyperion `ifdef`
  • Loading branch information
Aaronontheweb authored Nov 10, 2021
1 parent 783665e commit 9c06864
Show file tree
Hide file tree
Showing 12 changed files with 19 additions and 82 deletions.
4 changes: 2 additions & 2 deletions build-system/azure-pipeline.mntr-template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
vmImage: ${{ parameters.vmImage }}
steps:
- task: UseDotNet@2
displayName: 'Use .NET 5 SDK 5.0.101'
displayName: 'Use .NET 6 SDK 6.0.100'
inputs:
version: 5.0.101
version: 6.0.100
- task: UseDotNet@2
displayName: 'Use .NET Core Runtime 3.1.10'
inputs:
Expand Down
4 changes: 2 additions & 2 deletions build-system/azure-pipeline.template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
vmImage: ${{ parameters.vmImage }}
steps:
- task: UseDotNet@2
displayName: 'Use .NET 5 SDK 5.0.101'
displayName: 'Use .NET 6 SDK 6.0.100'
inputs:
version: 5.0.101
version: 6.0.100
- task: UseDotNet@2
displayName: 'Use .NET Core Runtime 3.1.10'
inputs:
Expand Down
4 changes: 2 additions & 2 deletions build-system/nightly-builds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ variables:

steps:
- task: UseDotNet@2
displayName: 'Use .NET 5 SDK 5.0.101'
displayName: 'Use .NET 5 SDK 6.0.100'
inputs:
version: 5.0.101
version: 6.0.100
- task: UseDotNet@2
displayName: 'Use .NET Core Runtime 3.1.10'
inputs:
Expand Down
4 changes: 2 additions & 2 deletions build-system/pr-validation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ jobs:
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
persistCredentials: true
- task: UseDotNet@2
displayName: "Use .NET 5 SDK 5.0.101"
displayName: "Use .NET 6 SDK 6.0.100"
inputs:
version: 5.0.101
version: 6.0.100
- task: UseDotNet@2
displayName: "Use .NET Core Runtime 3.1.10"
inputs:
Expand Down
4 changes: 2 additions & 2 deletions build-system/windows-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ variables:
value: akkadotnet/akka.net
steps:
- task: UseDotNet@2
displayName: 'Use .NET 5 SDK 5.0.101'
displayName: 'Use .NET 6 SDK 6.0.100'
inputs:
version: 5.0.101
version: 6.0.100
- task: UseDotNet@2
displayName: 'Use .NET Core Runtime 3.1.10'
inputs:
Expand Down
4 changes: 2 additions & 2 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ let outputMultiNode = outputTests @@ "multinode"
let outputFailedMultiNode = outputTests @@ "multinode" @@ "FAILED_SPECS_LOGS"
let outputBinariesNet45 = outputBinaries @@ "net45"
let outputBinariesNetStandard = outputBinaries @@ "netstandard2.0"
let outputBinariesNet = outputBinaries @@ "net5.0"
let outputBinariesNet = outputBinaries @@ "net6.0"

let buildNumber = environVarOrDefault "BUILD_NUMBER" "0"
let hasTeamCity = (not (buildNumber = "0")) // check if we have the TeamCity environment variable for build # set
Expand Down Expand Up @@ -57,7 +57,7 @@ let incrementalistReport = output @@ "incrementalist.txt"
// Configuration values for tests
let testNetFrameworkVersion = "net471"
let testNetCoreVersion = "netcoreapp3.1"
let testNetVersion = "net5.0"
let testNetVersion = "net6.0"

Target "Clean" (fun _ ->
ActivateFinalTarget "KillCreatedProcesses"
Expand Down
2 changes: 1 addition & 1 deletion build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ $NugetUrl = "https://dist.nuget.org/win-x86-commandline/v$NugetVersion/nuget.exe
$ProtobufVersion = "3.13.0"
$DocfxVersion = "2.48.1"

$IncrementalistVersion = "0.4.0";
$IncrementalistVersion = "0.6.0";

# Make sure tools folder exists
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ DOTNET_VERSION=5.0.101
DOTNET_INSTALLER_URL=https://dot.net/v1/dotnet-install.sh
DOTNET_CHANNEL=LTS
PROTOBUF_VERSION=3.4.0
INCREMENTALIST_VERSION=0.4.0
INCREMENTALIST_VERSION=0.6.0

# Define default arguments.
TARGET="Default"
Expand Down
65 changes: 3 additions & 62 deletions src/common.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<Copyright>Copyright © 2013-2021 Akka.NET Team</Copyright>
<Authors>Akka.NET Team</Authors>
<VersionPrefix>1.4.27</VersionPrefix>
<VersionPrefix>1.4.28</VersionPrefix>
<PackageIconUrl>https://getakka.net/images/akkalogo.png</PackageIconUrl>
<PackageProjectUrl>https://github.com/akkadotnet/akka.net</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/akkadotnet/akka.net/blob/master/LICENSE</PackageLicenseUrl>
Expand All @@ -17,7 +17,7 @@
<ProtobufVersion>3.17.3</ProtobufVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<NetCoreTestVersion>netcoreapp3.1</NetCoreTestVersion>
<NetTestVersion>net5.0</NetTestVersion>
<NetTestVersion>net6.0</NetTestVersion>
<NetFrameworkTestVersion>net471</NetFrameworkTestVersion>
<NetStandardLibVersion>netstandard2.0</NetStandardLibVersion>
<FluentAssertionsVersion>5.10.3</FluentAssertionsVersion>
Expand All @@ -31,66 +31,7 @@
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
<PropertyGroup>
<PackageReleaseNotes>Maintenance Release for Akka.NET 1.4**
Akka.NET v1.4.27 is a small release that contains some _major_ performance improvements for Akka.Remote.
Performance Fixes**
In [RemoteActorRefProvider address paring, caching and resolving improvements](https://github.com/akkadotnet/akka.net/pull/5273) Akka.NET contributor @Zetanova introduced some major changes that make the entire `ActorPath` class much more reusable and more parse-efficient.
Our last major round of Akka.NET performance improvements in Akka.NET v1.4.25 produced the following:
```
OSVersion: Microsoft Windows NT 6.2.9200.0
ProcessorCount: 16
ClockSpeed: 0 MHZ
Actor Count: 32
Messages sent/received per client: 200000 (2e5)
Is Server GC: True
Thread count: 111
Num clients, Total [msg], Msgs/sec, Total [ms]
1, 200000, 130634, 1531.54
5, 1000000, 246975, 4049.20
10, 2000000, 244499, 8180.16
15, 3000000, 244978, 12246.39
20, 4000000, 245159, 16316.37
25, 5000000, 243333, 20548.09
30, 6000000, 241644, 24830.55
```
In Akka.NET v1.4.27 those numbers now look like:
```
OSVersion: Microsoft Windows NT 6.2.9200.
ProcessorCount: 16
ClockSpeed: 0 MHZ
Actor Count: 32
Messages sent/received per client: 200000 (2e5)
Is Server GC: True
Thread count: 111
Num clients, Total [msg], Msgs/sec, Total [ms]
1, 200000, 105043, 1904.29
5, 1000000, 255494, 3914.73
10, 2000000, 291843, 6853.30
15, 3000000, 291291, 10299.75
20, 4000000, 286513, 13961.68
25, 5000000, 292569, 17090.64
30, 6000000, 281492, 21315.35
```
To put these numbers in comparison, here's what Akka.NET's performance looked like as of v1.4.0:
```
Num clients (actors) Total [msg] Msgs/sec Total [ms]
1 200000 69736 2868.60
5 1000000 141243 7080.98
10 2000000 136771 14623.27
15 3000000 38190 78556.49
20 4000000 32401 123454.60
25 5000000 33341 149967.08
30 6000000 126093 47584.92
```
We've made Akka.Remote consistently faster, more predictable, and reduced total memory consumption significantly in the process.
You can [see the full set of changes introduced in Akka.NET v1.4.27 here](https://github.com/akkadotnet/akka.net/milestone/57?closed=1)
| COMMITS | LOC+ | LOC- | AUTHOR |
| --- | --- | --- | --- |
| 3 | 89 | 8 | Aaron Stannard |
| 1 | 856 | 519 | Andreas Dirnberger |
| 1 | 3 | 4 | Vadym Artemchuk |
| 1 | 261 | 233 | Gregorius Soedharmo |
| 1 | 1 | 1 | dependabot[bot] |</PackageReleaseNotes>
<PackageReleaseNotes>Placeholder for nightlies**</PackageReleaseNotes>
</PropertyGroup>
<!-- SourceLink support for all Akka.NET projects -->
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@
<Reference Include="Microsoft.CSharp" />
</ItemGroup>

<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>

<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DefineConstants>$(DefineConstants);RELEASE</DefineConstants>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ public void Hyperion_serializer_should_read_cross_platform_package_name_override
#elif NETCOREAPP3_1
Assert.Equal("dff", @override("def"));
Assert.Equal("efg", @override("efg"));
#elif NET5_0
#elif NET6_0
Assert.Equal("gii", @override("ghi"));
Assert.Equal("hij", @override("hij"));
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@
<files>
<file src="bin\Release\net471\win10-x64\publish\*.*" target="lib\net471\" />
<file src="bin\Release\netcoreapp3.1\win10-x64\publish\*.*" target="lib\netcoreapp3.1\" />
<file src="bin\Release\net5.0\win10-x64\publish\*.*" target="lib\net5.0\" />
<file src="bin\Release\net6.0\win10-x64\publish\*.*" target="lib\net6.0\" />
</files>
</package>

0 comments on commit 9c06864

Please sign in to comment.