Smoke test some benchmarks in CI (#16554)

* Smoke test benchmarks

* Rename the file in the pipeline

* I guess
This commit is contained in:
Petr 2024-01-24 21:12:31 +01:00 коммит произвёл GitHub
Родитель 61a57925d3
Коммит 544a1c9a45
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
21 изменённых файлов: 128 добавлений и 51 удалений

Просмотреть файл

@ -1,4 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 12.00

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32113.165
MinimumVisualStudioVersion = 10.0.40219.1
@ -26,6 +27,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FCSSourceFiles", "tests\ben
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Test.Utilities", "tests\FSharp.Test.Utilities\FSharp.Test.Utilities.fsproj", "{0B149238-0912-493E-8877-F831AE01B942}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Benchmarks.Common", "tests\benchmarks\FSharp.Benchmarks.Common\FSharp.Benchmarks.Common.fsproj", "{62DED1EA-6A33-4537-8ED2-118462D0FEE5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -109,6 +112,14 @@ Global
{0B149238-0912-493E-8877-F831AE01B942}.Release|Any CPU.Build.0 = Release|Any CPU
{0B149238-0912-493E-8877-F831AE01B942}.ReleaseCompressed|Any CPU.ActiveCfg = Debug|Any CPU
{0B149238-0912-493E-8877-F831AE01B942}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
{62DED1EA-6A33-4537-8ED2-118462D0FEE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62DED1EA-6A33-4537-8ED2-118462D0FEE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62DED1EA-6A33-4537-8ED2-118462D0FEE5}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
{62DED1EA-6A33-4537-8ED2-118462D0FEE5}.Proto|Any CPU.Build.0 = Debug|Any CPU
{62DED1EA-6A33-4537-8ED2-118462D0FEE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62DED1EA-6A33-4537-8ED2-118462D0FEE5}.Release|Any CPU.Build.0 = Release|Any CPU
{62DED1EA-6A33-4537-8ED2-118462D0FEE5}.ReleaseCompressed|Any CPU.ActiveCfg = Release|Any CPU
{62DED1EA-6A33-4537-8ED2-118462D0FEE5}.ReleaseCompressed|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -61,6 +61,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Interactive
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.UnitTests", "tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj", "{0C0BDAF4-7D47-4BDA-9992-077F63D6B494}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Benchmarks.Common", "tests\benchmarks\FSharp.Benchmarks.Common\FSharp.Benchmarks.Common.fsproj", "{A7ACFD1F-D1B8-483A-A210-200BB6B4BD7E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -143,6 +145,10 @@ Global
{0C0BDAF4-7D47-4BDA-9992-077F63D6B494}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C0BDAF4-7D47-4BDA-9992-077F63D6B494}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C0BDAF4-7D47-4BDA-9992-077F63D6B494}.Release|Any CPU.Build.0 = Release|Any CPU
{A7ACFD1F-D1B8-483A-A210-200BB6B4BD7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A7ACFD1F-D1B8-483A-A210-200BB6B4BD7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A7ACFD1F-D1B8-483A-A210-200BB6B4BD7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A7ACFD1F-D1B8-483A-A210-200BB6B4BD7E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -154,6 +160,7 @@ Global
{35F5F1C5-AE4F-4B5A-8D94-1AF708724FD5} = {AF321816-B4A0-41DD-9A1D-484E8A20C6F6}
{C1950E28-1CB7-4DEC-BB3A-8A0443A17282} = {AF321816-B4A0-41DD-9A1D-484E8A20C6F6}
{07CD957A-3C31-4F75-A735-16CE72E1BD71} = {AF321816-B4A0-41DD-9A1D-484E8A20C6F6}
{A7ACFD1F-D1B8-483A-A210-200BB6B4BD7E} = {AF321816-B4A0-41DD-9A1D-484E8A20C6F6}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F9A60F3B-D894-4C8E-BA0F-C51115B25A5A}

Просмотреть файл

@ -106,6 +106,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
src\Compiler\FSCompCheck.fsx = src\Compiler\FSCompCheck.fsx
EndProjectSection
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Benchmarks.Common", "tests\benchmarks\FSharp.Benchmarks.Common\FSharp.Benchmarks.Common.fsproj", "{7D482560-DF6F-46A5-B50C-20ECF7C38759}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -416,6 +418,18 @@ Global
{9C7523BA-7AB2-4604-A5FD-653E82C2BAD1}.Release|Any CPU.Build.0 = Release|Any CPU
{9C7523BA-7AB2-4604-A5FD-653E82C2BAD1}.Release|x86.ActiveCfg = Release|Any CPU
{9C7523BA-7AB2-4604-A5FD-653E82C2BAD1}.Release|x86.Build.0 = Release|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Debug|x86.ActiveCfg = Debug|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Debug|x86.Build.0 = Debug|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Proto|Any CPU.Build.0 = Debug|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Proto|x86.ActiveCfg = Debug|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Proto|x86.Build.0 = Debug|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Release|Any CPU.Build.0 = Release|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Release|x86.ActiveCfg = Release|Any CPU
{7D482560-DF6F-46A5-B50C-20ECF7C38759}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -447,6 +461,7 @@ Global
{209C7D37-8C01-413C-8698-EC25F4C86976} = {B8DDA694-7939-42E3-95E5-265C2217C142}
{BEC6E796-7E53-4888-AAFC-B8FD55C425DF} = {CE70D631-C5DC-417E-9CDA-B16097BEF1AC}
{9C7523BA-7AB2-4604-A5FD-653E82C2BAD1} = {CE70D631-C5DC-417E-9CDA-B16097BEF1AC}
{7D482560-DF6F-46A5-B50C-20ECF7C38759} = {CE70D631-C5DC-417E-9CDA-B16097BEF1AC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BD5177C7-1380-40E7-94D2-7768E1A8B1B8}

Просмотреть файл

@ -193,6 +193,8 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Editor.Tests", "vsin
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FSharp.Editor.IntegrationTests", "vsintegration\tests\FSharp.Editor.IntegrationTests\FSharp.Editor.IntegrationTests.csproj", "{E31F9B59-FCF1-4D04-8762-C7BB60285A7B}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Benchmarks.Common", "tests\benchmarks\FSharp.Benchmarks.Common\FSharp.Benchmarks.Common.fsproj", "{6734FC6F-B5F3-45E1-9A72-720378BB49C9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -1019,6 +1021,18 @@ Global
{E31F9B59-FCF1-4D04-8762-C7BB60285A7B}.Release|Any CPU.Build.0 = Release|Any CPU
{E31F9B59-FCF1-4D04-8762-C7BB60285A7B}.Release|x86.ActiveCfg = Release|Any CPU
{E31F9B59-FCF1-4D04-8762-C7BB60285A7B}.Release|x86.Build.0 = Release|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Debug|x86.ActiveCfg = Debug|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Debug|x86.Build.0 = Debug|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Proto|Any CPU.ActiveCfg = Debug|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Proto|Any CPU.Build.0 = Debug|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Proto|x86.ActiveCfg = Debug|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Proto|x86.Build.0 = Debug|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Release|Any CPU.Build.0 = Release|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Release|x86.ActiveCfg = Release|Any CPU
{6734FC6F-B5F3-45E1-9A72-720378BB49C9}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -1099,6 +1113,7 @@ Global
{39CDF34B-FB23-49AE-AB27-0975DA379BB5} = {DFB6ADD7-3149-43D9-AFA0-FC4A818B472B}
{CBC96CC7-65AB-46EA-A82E-F6A788DABF80} = {F7876C9B-FB6A-4EFB-B058-D6967DB75FB2}
{E31F9B59-FCF1-4D04-8762-C7BB60285A7B} = {F7876C9B-FB6A-4EFB-B058-D6967DB75FB2}
{6734FC6F-B5F3-45E1-9A72-720378BB49C9} = {DFB6ADD7-3149-43D9-AFA0-FC4A818B472B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {48EDBBBE-C8EE-4E3C-8B19-97184A487B37}

Просмотреть файл

@ -713,14 +713,14 @@ stages:
continueOnError: true
condition: always()
# Build benchmarks
- job: Plain_Build_Benchmarks
# Build and run fast benchmarks
- job: Benchmarks
pool:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals $(WindowsMachineQueueName)
variables:
- name: _BuildConfig
value: Debug
value: Release
steps:
- checkout: self
clean: true
@ -734,11 +734,15 @@ stages:
includePreviewVersions: true
workingDirectory: $(Build.SourcesDirectory)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: dotnet build .\FSharp.Benchmarks.sln /bl:\"artifacts/log/$(_BuildConfig)/BenchmarkBuild.binlog\"
- script: dotnet build -c $(_BuildConfig) .\FSharp.Benchmarks.sln /bl:\"artifacts/log/$(_BuildConfig)/BenchmarkBuild.binlog\"
workingDirectory: $(Build.SourcesDirectory)
displayName: Regular rebuild of FSharp.Benchmarks.sln
displayName: Plain build of FSharp.Benchmarks.sln
continueOnError: true
condition: always()
- script: .\Build.cmd -c $(_BuildConfig)
- pwsh: ./SmokeTestBenchmarks.ps1
workingDirectory: $(Build.SourcesDirectory)/tests/benchmarks
displayName: Smoke test fast benchmarks
# Test trimming on Windows
- job: Build_And_Test_Trimming_Windows

Просмотреть файл

@ -1,4 +1,5 @@
FSharp.Build.UnitTests.dll
FSharp.Benchmarks.Common.dll
FSharp.Compiler.Benchmarks.dll
FSharp.Compiler.ComponentTests.dll
FSharp.Test.Utilities.dll

Просмотреть файл

@ -59,6 +59,9 @@
<HintPath>$(FSharpCoreDllPath)</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\FSharp.Benchmarks.Common\FSharp.Benchmarks.Common.fsproj" />
</ItemGroup>
<Target Name="FakeBuild" BeforeTargets="Build">
<Message Text="Type=$(FcsReferenceType) FcsDllPath=$(FcsDllPath)" />

Просмотреть файл

@ -3,6 +3,7 @@ namespace HistoricalBenchmark
open System.IO
open BenchmarkDotNet.Attributes
open BenchmarkDotNet.Running
open FSharp.Benchmarks.Common.Categories
[<AbstractClass>]
type SingleFileCompilerBenchmarkBase(compiler : SingleFileCompiler) =
@ -20,6 +21,7 @@ type SingleFileCompilerBenchmarkBase(compiler : SingleFileCompiler) =
[<MemoryDiagnoser>]
[<JsonExporter>]
[<BenchmarkCategory(ShortCategory)>]
type DecentlySizedStandAloneFileBenchmark() =
inherit SingleFileCompilerBenchmarkBase(
SingleFileCompiler(

Просмотреть файл

@ -6,15 +6,10 @@ open FSharp.Compiler.CodeAnalysis
open FSharp.Compiler.Text
open FSharp.Compiler.Diagnostics
open FSharp.Test.ProjectGeneration
open BenchmarkDotNet.Engines
[<Literal>]
let FSharpCategory = "fsharp"
open FSharp.Benchmarks.Common.Categories
[<MemoryDiagnoser>]
[<BenchmarkCategory(FSharpCategory)>]
[<BenchmarkCategory(LongCategory)>]
type BackgroundCompilerBenchmarks () =
let size = 50
@ -104,7 +99,7 @@ type BackgroundCompilerBenchmarks () =
this.Benchmark.DeleteProjectDir()
[<MemoryDiagnoser>]
[<BenchmarkCategory(FSharpCategory)>]
[<BenchmarkCategory(ShortCategory)>]
type ParsingBenchmark() =
let mutable checker: FSharpChecker = Unchecked.defaultof<_>
@ -134,7 +129,7 @@ type ParsingBenchmark() =
failwith "ParseHadErrors"
[<MemoryDiagnoser>]
[<BenchmarkCategory(FSharpCategory)>]
[<BenchmarkCategory(LongCategory)>]
type NoFileSystemCheckerBenchmark() =
let size = 30
@ -229,8 +224,8 @@ type TestProjectType =
[<MemoryDiagnoser>]
[<ThreadingDiagnoser>]
[<BenchmarkCategory(FSharpCategory)>]
[<SimpleJob(warmupCount=1,iterationCount=4)>]
[<BenchmarkCategory(ShortCategory)>]
type TransparentCompilerBenchmark() =
let size = 30
@ -331,9 +326,9 @@ type TransparentCompilerBenchmark() =
benchmark.DeleteProjectDir()
// needs Giraffe repo somewhere nearby, hence benchmarks disabled
[<MemoryDiagnoser>]
[<ThreadingDiagnoser>]
[<BenchmarkCategory(FSharpCategory)>]
[<SimpleJob(warmupCount=1,iterationCount=8)>]
type TransparentCompilerGiraffeBenchmark() =
@ -399,7 +394,7 @@ type TransparentCompilerGiraffeBenchmark() =
checkFile (this.Project.SourceFiles |> List.last).Id expectOk
}
[<Benchmark>]
// [<Benchmark>]
member this.SomeWorkflow() =
use _ = Activity.start "Benchmark" [

Просмотреть файл

@ -12,6 +12,7 @@ open FSharp.Compiler.AbstractIL.ILBinaryReader
open BenchmarkDotNet.Attributes
open FSharp.Compiler.Benchmarks
open Microsoft.CodeAnalysis.Text
open FSharp.Benchmarks.Common.Categories
type private Config =
{
@ -66,6 +67,7 @@ let function%s{moduleName} (x: %s{moduleName}) =
[<MemoryDiagnoser>]
[<BenchmarkCategory(ShortCategory)>]
type CompilerServiceBenchmarks() =
let mutable configOpt : Config option = None
let sourcePath = Path.Combine(__SOURCE_DIRECTORY__, "../decentlySizedStandAloneFile.fs")

Просмотреть файл

@ -4,12 +4,10 @@ open System.IO
open BenchmarkDotNet.Attributes
open FSharp.Compiler.CodeAnalysis
open FSharp.Test.ProjectGeneration
[<Literal>]
let FSharpCategory = "fsharp"
open FSharp.Benchmarks.Common.Categories
[<MemoryDiagnoser>]
[<BenchmarkCategory(FSharpCategory)>]
[<BenchmarkCategory(LongCategory)>]
type ComputationExpressionBenchmarks() =
let mutable sourceFileName = ""

Просмотреть файл

@ -4,6 +4,7 @@ open System.IO
open FSharp.Compiler.CodeAnalysis
open FSharp.Compiler.Text
open BenchmarkDotNet.Attributes
open FSharp.Benchmarks.Common.Categories
type private SingleFileCompilerConfig =
{
@ -12,6 +13,7 @@ type private SingleFileCompilerConfig =
}
[<MemoryDiagnoser>]
[<BenchmarkCategory(ShortCategory)>]
type DecentlySizedStandAloneFileBenchmark() =
let mutable configOpt : SingleFileCompilerConfig option = None

Просмотреть файл

@ -25,6 +25,7 @@
<ItemGroup>
<ProjectReference Include="..\..\..\..\src\Compiler\FSharp.Compiler.Service.fsproj" />
<ProjectReference Include="..\..\..\FSharp.Test.Utilities\FSharp.Test.Utilities.fsproj" />
<ProjectReference Include="..\..\FSharp.Benchmarks.Common\FSharp.Benchmarks.Common.fsproj" />
</ItemGroup>
<ItemGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' != 'true'">

Просмотреть файл

@ -2,18 +2,13 @@
open System
open System.IO
open System.Text
open FSharp.Compiler.CodeAnalysis
open FSharp.Compiler.Diagnostics
open FSharp.Compiler.EditorServices
open FSharp.Compiler.Text
open FSharp.Compiler.AbstractIL.IL
open FSharp.Compiler.AbstractIL.ILBinaryReader
open BenchmarkDotNet.Attributes
open FSharp.Compiler.Benchmarks
open Microsoft.CodeAnalysis.Text
open BenchmarkDotNet.Order
open BenchmarkDotNet.Mathematics
open FSharp.Benchmarks.Common.Categories
[<AutoOpen>]
module private CascadeProjectHelpers =
@ -87,6 +82,7 @@ val processFunc{number}: x: MyType{number} -> func: MyFunctionType{number} -> As
[<ShortRunJob>]
[<Orderer(SummaryOrderPolicy.FastestToSlowest)>]
[<RankColumn(NumeralSystem.Roman)>]
[<BenchmarkCategory(ShortCategory)>]
type FileCascadeBenchmarks() =
let mutable project : FSharpProjectOptions option = None
let filesToCreate = 128

Просмотреть файл

@ -4,12 +4,10 @@ open System.IO
open BenchmarkDotNet.Attributes
open FSharp.Compiler.CodeAnalysis
open FSharp.Test.ProjectGeneration
[<Literal>]
let FSharpCategory = "fsharp"
open FSharp.Benchmarks.Common.Categories
[<MemoryDiagnoser>]
[<BenchmarkCategory(FSharpCategory)>]
[<BenchmarkCategory(LongCategory)>]
type GraphTypeCheckingBenchmarks() =
let size = 250

Просмотреть файл

@ -16,6 +16,7 @@
<ItemGroup>
<ProjectReference Include="..\..\..\..\src\Compiler\FSharp.Compiler.Service.fsproj" />
<ProjectReference Include="..\..\FSharp.Benchmarks.Common\FSharp.Benchmarks.Common.fsproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -5,6 +5,7 @@ open FSharp.Compiler.CodeAnalysis
open FSharp.Compiler.Text
open BenchmarkDotNet.Attributes
open BenchmarkDotNet.Running
open FSharp.Benchmarks.Common.Categories
module Project =
let nugetCache =
@ -874,6 +875,7 @@ module Project =
Stamp = None }
[<MemoryDiagnoser>]
[<BenchmarkCategory(ShortCategory)>]
type CompilerService() =
let mutable checkerOpt = None
let mutable sourceOpt : (string * ISourceText) array option = None

Просмотреть файл

@ -1,19 +0,0 @@
# Smoke test for checking that all the benchmarks work
# The test is successful if all the benchmarks run and produce results.
# The actual numbers produced aren't accurate.
# Results can be checked in BenchmarkDotNet.Artifacts/results
function Run {
param (
[string[]]$path
)
# Build the benchmark project itself but no dependencies - still fast, but reduces risk of not accounting for code changes
dotnet build -c release --no-dependencies $path
# Run the minimum the CLI API allows - ideally we would use ColdStart but that's not part of the CLI API
# For API details see https://benchmarkdotnet.org/articles/guides/console-args.html
dotnet run -c release --project $path --no-build -- --warmupCount 0 --iterationCount 1 --runOncePerIteration --filter *
}
Run "BenchmarkComparison/HistoricalBenchmark.fsproj"
Run "CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj"
Run "FCSSourceFiles/FCSSourceFiles.fsproj"

Просмотреть файл

@ -0,0 +1,10 @@
namespace FSharp.Benchmarks.Common
module Categories =
[<Literal>]
let ShortCategory = "short"
[<Literal>]
let LongCategory = "long"

Просмотреть файл

@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
</PropertyGroup>
<ItemGroup>
<Compile Include="Categories.fs" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,21 @@
# Smoke test for checking that some (faster) benchmarks work.
# The test is successful if all the benchmarks run and produce results.
# The actual numbers produced aren't accurate.
function Run {
param (
[string[]]$path
)
dotnet run `
--project $path `
-c release `
--no-build `
--job Dry `
--allCategories short `
--stopOnFirstError
}
Run "FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj"
Run "FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj"
Run "FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj"