Преглед на файлове

v2.5.1

添加net7.0支持
tags/v2.5.1
SmallChi(Koike) преди 2 години
родител
ревизия
9979ba0610
променени са 13 файла, в които са добавени 80 реда и са изтрити 72 реда
  1. +1
    -1
      .github/workflows/dotnetcore.yml
  2. +22
    -20
      README.en.md
  3. +22
    -20
      README.md
  4. +1
    -1
      global.json
  5. +3
    -3
      src/Info.props
  6. +1
    -1
      src/JT808.Protocol.Benchmark/JT808.Protocol.Benchmark.csproj
  7. +1
    -1
      src/JT808.Protocol.Benchmark/JT808SerializerContext.cs
  8. +0
    -2
      src/JT808.Protocol.Benchmark/Program.cs
  9. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj
  10. +3
    -3
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj
  11. +4
    -4
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj
  12. +7
    -7
      src/JT808.Protocol.Test/JT808.Protocol.Test.csproj
  13. +11
    -5
      src/JT808.Protocol/JT808.Protocol.csproj

+ 1
- 1
.github/workflows/dotnetcore.yml Целия файл

@@ -12,7 +12,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@master
with:
dotnet-version: 6.0.400
dotnet-version: 7.0.100
- name: dotnet info
run: dotnet --info
- name: dotnet restore


+ 22
- 20
README.en.md Целия файл

@@ -385,30 +385,32 @@ Due to access many different equipment vendor's agreement, but each protocol doc

``` ini

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.22000
BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.819)
Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET SDK=6.0.100
[Host] : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
Job-EIZRXW : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
Job-AEXBOF : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2

Platform=AnyCpu Server=False Toolchain=.NET 6.0
Platform=AnyCpu Server=False Toolchain=.NET 7.0

```
| Method | Categories | N | Mean | Error | StdDev | Gen 0 | Allocated |
|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-----------:|
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100** | **169.92 μs** | **2.059 μs** | **1.926 μs** | **29.5410** | **182 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100 | 642.45 μs | 2.016 μs | 1.683 μs | 82.0313 | 508 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **10000** | **17,391.50 μs** | **346.644 μs** | **462.759 μs** | **2968.7500** | **18,203 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 10000 | 67,872.38 μs | 825.715 μs | 772.375 μs | 8250.0000 | 50,781 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **174,867.56 μs** | **2,620.513 μs** | **2,451.229 μs** | **29000.0000** | **182,032 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 676,860.84 μs | 8,716.108 μs | 7,726.603 μs | 82000.0000 | 507,813 KB |
| | | | | | | | |
| **0x0100Serialize** | **0x0100Serializer** | **100** | **72.60 μs** | **1.241 μs** | **1.161 μs** | **10.8643** | **67 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100 | 64.80 μs | 0.767 μs | 0.641 μs | 15.8691 | 98 KB |
| **0x0100Serialize** | **0x0100Serializer** | **10000** | **7,602.54 μs** | **55.726 μs** | **52.126 μs** | **1093.7500** | **6,719 KB** |
| 0x0100Deserialize | 0x0100Serializer | 10000 | 6,567.71 μs | 53.112 μs | 44.351 μs | 1593.7500 | 9,766 KB |
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **75,323.96 μs** | **494.762 μs** | **462.800 μs** | **10857.1429** | **67,189 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 65,503.11 μs | 765.326 μs | 715.886 μs | 15875.0000 | 97,656 KB |

| Method | Categories | N | Mean | Error | StdDev | Gen0 | Allocated |
|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-------------:|
| **0x0100Serialize** | **0x0100Serializer** | **100** | **85.84 μs** | **1.686 μs** | **1.874 μs** | **10.7422** | **66.41 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100 | 73.65 μs | 1.463 μs | 2.099 μs | 15.7471 | 96.88 KB |
| **0x0100Serialize** | **0x0100Serializer** | **10000** | **8,507.50 μs** | **167.504 μs** | **279.862 μs** | **1078.1250** | **6640.63 KB** |
| 0x0100Deserialize | 0x0100Serializer | 10000 | 7,436.10 μs | 123.684 μs | 103.281 μs | 1578.1250 | 9687.5 KB |
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **87,588.91 μs** | **1,734.191 μs** | **3,842.848 μs** | **10833.3333** | **66406.33 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 76,992.19 μs | 1,519.795 μs | 3,271.519 μs | 15714.2857 | 96875.07 KB |
| | | | | | | | |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100** | **205.22 μs** | **4.094 μs** | **8.725 μs** | **29.5410** | **181.25 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100 | 896.54 μs | 17.627 μs | 43.571 μs | 82.0313 | 507.03 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **10000** | **20,329.28 μs** | **407.129 μs** | **1,194.037 μs** | **2937.5000** | **18125.01 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 10000 | 83,862.14 μs | 1,655.253 μs | 2,719.628 μs | 8142.8571 | 50703.19 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **189,178.02 μs** | **3,595.256 μs** | **3,531.022 μs** | **29333.3333** | **181250.16 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 843,975.52 μs | 8,214.068 μs | 6,859.119 μs | 82000.0000 | 507031.72 KB |


## JT808 Comparison table of terminal communication protocol messages



+ 22
- 20
README.md Целия файл

@@ -385,30 +385,32 @@ JT808Serializer DT2JT808Serializer = new JT808Serializer(DT2JT808Config);

``` ini

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.22000
BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.819)
Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET SDK=6.0.100
[Host] : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
Job-EIZRXW : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2
Job-AEXBOF : .NET 7.0.0 (7.0.22.51805), X64 RyuJIT AVX2

Platform=AnyCpu Server=False Toolchain=.NET 6.0
Platform=AnyCpu Server=False Toolchain=.NET 7.0

```
| Method | Categories | N | Mean | Error | StdDev | Gen 0 | Allocated |
|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-----------:|
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100** | **169.92 μs** | **2.059 μs** | **1.926 μs** | **29.5410** | **182 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100 | 642.45 μs | 2.016 μs | 1.683 μs | 82.0313 | 508 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **10000** | **17,391.50 μs** | **346.644 μs** | **462.759 μs** | **2968.7500** | **18,203 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 10000 | 67,872.38 μs | 825.715 μs | 772.375 μs | 8250.0000 | 50,781 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **174,867.56 μs** | **2,620.513 μs** | **2,451.229 μs** | **29000.0000** | **182,032 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 676,860.84 μs | 8,716.108 μs | 7,726.603 μs | 82000.0000 | 507,813 KB |
| | | | | | | | |
| **0x0100Serialize** | **0x0100Serializer** | **100** | **72.60 μs** | **1.241 μs** | **1.161 μs** | **10.8643** | **67 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100 | 64.80 μs | 0.767 μs | 0.641 μs | 15.8691 | 98 KB |
| **0x0100Serialize** | **0x0100Serializer** | **10000** | **7,602.54 μs** | **55.726 μs** | **52.126 μs** | **1093.7500** | **6,719 KB** |
| 0x0100Deserialize | 0x0100Serializer | 10000 | 6,567.71 μs | 53.112 μs | 44.351 μs | 1593.7500 | 9,766 KB |
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **75,323.96 μs** | **494.762 μs** | **462.800 μs** | **10857.1429** | **67,189 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 65,503.11 μs | 765.326 μs | 715.886 μs | 15875.0000 | 97,656 KB |

| Method | Categories | N | Mean | Error | StdDev | Gen0 | Allocated |
|-------------------------------- |----------------- |------- |--------------:|-------------:|-------------:|-----------:|-------------:|
| **0x0100Serialize** | **0x0100Serializer** | **100** | **85.84 μs** | **1.686 μs** | **1.874 μs** | **10.7422** | **66.41 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100 | 73.65 μs | 1.463 μs | 2.099 μs | 15.7471 | 96.88 KB |
| **0x0100Serialize** | **0x0100Serializer** | **10000** | **8,507.50 μs** | **167.504 μs** | **279.862 μs** | **1078.1250** | **6640.63 KB** |
| 0x0100Deserialize | 0x0100Serializer | 10000 | 7,436.10 μs | 123.684 μs | 103.281 μs | 1578.1250 | 9687.5 KB |
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **87,588.91 μs** | **1,734.191 μs** | **3,842.848 μs** | **10833.3333** | **66406.33 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 76,992.19 μs | 1,519.795 μs | 3,271.519 μs | 15714.2857 | 96875.07 KB |
| | | | | | | | |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100** | **205.22 μs** | **4.094 μs** | **8.725 μs** | **29.5410** | **181.25 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100 | 896.54 μs | 17.627 μs | 43.571 μs | 82.0313 | 507.03 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **10000** | **20,329.28 μs** | **407.129 μs** | **1,194.037 μs** | **2937.5000** | **18125.01 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 10000 | 83,862.14 μs | 1,655.253 μs | 2,719.628 μs | 8142.8571 | 50703.19 KB |
| **0x0200_All_AttachId_Serialize** | **0x0200Serializer** | **100000** | **189,178.02 μs** | **3,595.256 μs** | **3,531.022 μs** | **29333.3333** | **181250.16 KB** |
| 0x0200_All_AttachId_Deserialize | 0x0200Serializer | 100000 | 843,975.52 μs | 8,214.068 μs | 6,859.119 μs | 82000.0000 | 507031.72 KB |


## JT808终端通讯协议消息对照表



+ 1
- 1
global.json Целия файл

@@ -1,5 +1,5 @@
{
"sdk": {
"version": "6.0.400"
"version": "7.0.100"
}
}

+ 3
- 3
src/Info.props Целия файл

@@ -1,14 +1,14 @@
<Project>
<PropertyGroup>
<TargetFrameworks>net6.0;</TargetFrameworks>
<LangVersion>10.0</LangVersion>
<TargetFrameworks>net6.0;net7.0;</TargetFrameworks>
<LangVersion>11.0</LangVersion>
<Copyright>Copyright 2018.</Copyright>
<Authors>SmallChi(Koike)</Authors>
<RepositoryUrl>https://github.com/SmallChi/JT808</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808</PackageProjectUrl>
<licenseUrl>https://github.com/SmallChi/JT808/blob/master/LICENSE</licenseUrl>
<license>https://github.com/SmallChi/JT808/blob/master/LICENSE</license>
<Version>2.5.0</Version>
<Version>2.5.1</Version>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<AnalysisLevel>latest</AnalysisLevel>


+ 1
- 1
src/JT808.Protocol.Benchmark/JT808.Protocol.Benchmark.csproj Целия файл

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputType>Exe</OutputType>


+ 1
- 1
src/JT808.Protocol.Benchmark/JT808SerializerContext.cs Целия файл

@@ -164,7 +164,7 @@ namespace JT808.Protocol.Benchmark
{
public JT808SerializerConfig()
{
AddJob(Job.Default.WithGcServer(false).WithToolchain(CsProjCoreToolchain.NetCoreApp60).WithPlatform(Platform.AnyCpu));
AddJob(Job.Default.WithGcServer(false).WithToolchain(CsProjCoreToolchain.NetCoreApp70).WithPlatform(Platform.AnyCpu));
}
}
}

+ 0
- 2
src/JT808.Protocol.Benchmark/Program.cs Целия файл

@@ -19,8 +19,6 @@ namespace JT808.Protocol.Benchmark
//安装NuGet包,BenchmarkDotNet
//在需要做性能测试的方法前加上属性[Benchmark]。
Summary summary = BenchmarkRunner.Run<JT808SerializerContext>();
//Summary summary1 = BenchmarkRunner.Run<JT808DeEscapeContext>();
//Summary summary2 = BenchmarkRunner.Run<JT808EscapeContext>();
}
}
}

+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj Целия файл

@@ -5,10 +5,10 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>


+ 3
- 3
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj Целия файл

@@ -7,9 +7,9 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>


+ 4
- 4
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj Целия файл

@@ -7,14 +7,14 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<PackageReference Include="coverlet.collector" Version="3.2.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>


+ 7
- 7
src/JT808.Protocol.Test/JT808.Protocol.Test.csproj Целия файл

@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<IsPackable>false</IsPackable>
<LangVersion>10.0</LangVersion>
<LangVersion>11.0</LangVersion>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -108,14 +108,14 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="NETStandard.Library" Version="2.0.3" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Include="System.Drawing.Common" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.console" Version="2.4.1">
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.console" Version="2.4.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>


+ 11
- 5
src/JT808.Protocol/JT808.Protocol.csproj Целия файл

@@ -40,12 +40,18 @@
<Compile Remove="Metadata\JT808UploadLocationRequestProperty.cs" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net7.0' ">
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
</ItemGroup>

<ItemGroup>

<ItemGroup>
<None Update="Extensions\JT808PackageExtensionsTemplate.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>JT808PackageExtensionsTemplate.cs</LastGenOutput>


Зареждане…
Отказ
Запис