2018-12-19 07:57:02 +03:00
|
|
|
# output location
|
|
|
|
artifacts/
|
2021-08-24 06:50:15 +03:00
|
|
|
BenchmarkDotNet.Artifacts/
|
2017-03-13 21:28:18 +03:00
|
|
|
|
2019-01-24 05:04:08 +03:00
|
|
|
/tests/scripts/current
|
2019-03-19 23:44:16 +03:00
|
|
|
.dotnet/
|
|
|
|
.packages/
|
2019-04-10 22:09:31 +03:00
|
|
|
.tools/
|
2018-11-27 21:10:43 +03:00
|
|
|
|
2017-03-13 21:28:18 +03:00
|
|
|
# Patches that may have been generated by scripts.
|
|
|
|
# (These aren't generally useful to commit directly; if anything, they should be applied.)
|
|
|
|
scripts/*.patch
|
2016-05-05 21:09:27 +03:00
|
|
|
/src/*.userprefs
|
2022-05-10 12:20:44 +03:00
|
|
|
/src/Compiler/FSStrings.resources
|
|
|
|
/src/FSharp.Build/*.resx
|
|
|
|
/src/fsi/*.resx
|
|
|
|
/src/FSharp.Compiler.Interactive.Settings/*.resx
|
|
|
|
/src/FSharp.Compiler.Server.Shared/*.resx
|
|
|
|
/src/fsi/Fsi.sln
|
|
|
|
/src/FSharp.Build/*.resources
|
|
|
|
/src/Compiler/*.resx
|
|
|
|
/src/Compiler/*.resources
|
|
|
|
/src/Compiler/*.sln
|
|
|
|
/src/Compiler/*.userprefs
|
|
|
|
/src/Compiler/StandardOutput.txt
|
|
|
|
/src/Compiler/StandardError.txt
|
2016-05-05 21:09:27 +03:00
|
|
|
/src/*.log
|
2022-05-10 12:20:44 +03:00
|
|
|
/src/*/Properties/launchSettings.json
|
2016-05-05 21:09:27 +03:00
|
|
|
/vsintegration/src/unittests/Unittests.fsi
|
|
|
|
/tests/*FSharp_Failures.env
|
|
|
|
/tests/*FSharp_Failures.lst
|
2016-11-17 22:10:18 +03:00
|
|
|
/tests/fsharpqa/testenv/bin/
|
2016-05-05 21:09:27 +03:00
|
|
|
/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Module01.dll
|
|
|
|
/tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Module01.pdb
|
2016-10-18 01:31:53 +03:00
|
|
|
/tests/Xnet40-fsharpqa-suite-failures.log.*
|
2018-02-13 06:57:04 +03:00
|
|
|
/tests/fsharp/typeProviders/splitAssemblyTools/provider.dll
|
|
|
|
/tests/fsharp/typeProviders/splitAssemblyTypeproviders/provider.dll
|
2017-12-15 19:56:14 +03:00
|
|
|
/vsintegration/src/service/FsPkgs/FSharp.Project/FS/FSharp.ProjectSystem.FSharp.fsi
|
|
|
|
/vsintegration/src/service/FsPkgs/FSharp.Project/FS/ctofiles/
|
2016-05-05 21:09:27 +03:00
|
|
|
/tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Utils.dll
|
|
|
|
/tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExprLibrary.dll
|
2016-10-18 01:31:53 +03:00
|
|
|
/tests/fsharpqa/Source/*net40-fsharpqa-suite-failures.env
|
|
|
|
/tests/fsharpqa/Source/*net40-fsharpqa-suite-failures.lst
|
2016-05-05 21:09:27 +03:00
|
|
|
/tests/**/FSharp.Core.dll
|
2017-06-10 01:26:24 +03:00
|
|
|
/tests/fsharp/optimize/stats/FSharpOptimizationInfo.FSharp.Core
|
|
|
|
/tests/fsharp/optimize/stats/FSharpSignatureInfo.FSharp.Core
|
2014-03-28 06:11:16 +04:00
|
|
|
lib/debug
|
|
|
|
lib/release
|
|
|
|
lib/proto
|
2015-12-02 22:01:56 +03:00
|
|
|
lib/bootstrap/4.1/*.mdb
|
|
|
|
lib/bootstrap/4.1/*.xml
|
|
|
|
lib/bootstrap/4.1/fsharpc
|
|
|
|
lib/bootstrap/4.1/fsharpi
|
|
|
|
lib/bootstrap/4.1/policy*
|
2018-11-27 21:10:43 +03:00
|
|
|
obj/
|
|
|
|
bin/
|
2014-03-28 06:11:16 +04:00
|
|
|
aclocal.m4
|
2016-03-29 21:19:35 +03:00
|
|
|
sign_temp
|
2014-03-28 06:11:16 +04:00
|
|
|
.libs
|
|
|
|
configure
|
|
|
|
config.log
|
|
|
|
config.status
|
|
|
|
*~
|
|
|
|
*.suo
|
|
|
|
obj
|
2014-08-13 22:57:27 +04:00
|
|
|
extras
|
2014-10-08 13:06:33 +04:00
|
|
|
ossreadme*.txt
|
2014-12-15 23:52:11 +03:00
|
|
|
*.csproj.user
|
2017-09-13 01:50:43 +03:00
|
|
|
*.fsproj.user
|
2019-05-31 10:46:34 +03:00
|
|
|
*.vbproj.user
|
2015-09-08 16:02:14 +03:00
|
|
|
*.sln.DotSettings.user
|
2015-01-28 00:58:35 +03:00
|
|
|
*.log
|
|
|
|
*.jrs
|
|
|
|
*.chk
|
2019-06-04 03:10:19 +03:00
|
|
|
*.bak
|
|
|
|
*.vserr
|
|
|
|
*.err
|
2015-02-21 03:21:55 +03:00
|
|
|
*.orig
|
2015-09-16 21:19:05 +03:00
|
|
|
*.mdf
|
|
|
|
*.ldf
|
2016-03-29 21:19:35 +03:00
|
|
|
*.cto
|
2016-05-11 03:17:11 +03:00
|
|
|
*.vstman
|
2016-04-12 02:25:18 +03:00
|
|
|
project.lock.json
|
2016-05-12 10:44:46 +03:00
|
|
|
Backup/
|
2016-08-06 07:36:03 +03:00
|
|
|
tests/fsharp/core/array/dont.run.peverify
|
|
|
|
tests/fsharp/core/innerpoly/dont.run.peverify
|
|
|
|
tests/fsharp/typecheck/sigs/neg94-pre.dll
|
|
|
|
times
|
2016-10-18 01:31:53 +03:00
|
|
|
/tests/fsharpqa/testenv/bin/System.ValueTuple.dll
|
|
|
|
source_link.json
|
2017-12-16 23:03:41 +03:00
|
|
|
.vs/
|
2017-02-15 03:18:48 +03:00
|
|
|
System.ValueTuple.dll
|
|
|
|
tests/fsharpqa/testenv/bin/System.ValueTuple.dll
|
2019-08-26 22:17:19 +03:00
|
|
|
**/.fake
|
|
|
|
.ionide
|
2017-10-20 08:51:14 +03:00
|
|
|
/fcs/packages/
|
|
|
|
*/paket-files/
|
2017-10-25 00:14:56 +03:00
|
|
|
/fcs/TestResult.xml
|
|
|
|
/tests/fcs/
|
|
|
|
/fcs/.paket/Paket.Restore.targets
|
2017-12-12 09:35:22 +03:00
|
|
|
msbuild.binlog
|
2018-01-16 21:44:23 +03:00
|
|
|
/fcs/FSharp.Compiler.Service.netstandard/*.fs
|
|
|
|
/fcs/FSharp.Compiler.Service.netstandard/*.fsi
|
2019-06-25 11:40:36 +03:00
|
|
|
/.ionide/
|
2019-10-15 03:08:03 +03:00
|
|
|
**/.DS_Store
|
2020-04-29 04:54:34 +03:00
|
|
|
/tests/fsharp/regression/5531/compilation.output.test.txt
|
|
|
|
/tests/fsharp/core/fsfromfsviacs/compilation.langversion.old.output.txt
|
|
|
|
/tests/fsharp/core/fsfromfsviacs/compilation.errors.output.txt
|
2020-07-21 18:17:24 +03:00
|
|
|
*ncrunch*.user
|
|
|
|
_NCrunch_*
|
|
|
|
.*crunch*.local.xml
|
|
|
|
nCrunchTemp_*
|
FSharp.Core: Map: optimize tree layout (#10188)
* FSharp.Core: Map: optimize tree layout
Following discussion and POC code from https://github.com/dotnet/fsharp/pull/5360#issuecomment-496818508
Changes are very straightforward and do not touch public API:
* Performance improves by a huge margin
* Code size is smaller or same
* Memory is same
* No low level tricks, just simple code (see `asNode` comments for potential micro-optimizations, which are not visible after all; these comments are to be deleted)
Benchmarks code is here: https://github.com/buybackoff/fsharp-benchmarks
| Method | Job | BuildConfiguration | Size | Mean | Error | StdDev | Rank | Gen 0 | Gen 1 | Gen 2 | Allocated | Code Size |
|------------ |------- |------------------- |--------- |------------------:|-----------------:|-----------------:|-----:|-----------:|---------:|--------:|------------:|----------:|
| getItem | After | LocalBuild | 100 | 36.21 ns | 0.199 ns | 0.167 ns | 1 | - | - | - | - | 126 B |
| getItem | Before | Default | 100 | 62.51 ns | 0.143 ns | 0.127 ns | 2 | - | - | - | - | 126 B |
| getItem | After | LocalBuild | 10000 | 76.57 ns | 0.140 ns | 0.124 ns | 3 | - | - | - | - | 126 B |
| getItem | Before | Default | 10000 | 120.02 ns | 0.182 ns | 0.170 ns | 4 | - | - | - | - | 126 B |
| getItem | After | LocalBuild | 10000000 | 129.45 ns | 0.126 ns | 0.118 ns | 5 | - | - | - | - | 126 B |
| getItem | Before | Default | 10000000 | 209.35 ns | 0.496 ns | 0.464 ns | 6 | - | - | - | - | 126 B |
| | | | | | | | | | | | | |
| containsKey | After | LocalBuild | 100 | 35.63 ns | 0.201 ns | 0.188 ns | 1 | - | - | - | - | 177 B |
| containsKey | Before | Default | 100 | 64.01 ns | 0.351 ns | 0.328 ns | 2 | - | - | - | - | 276 B |
| containsKey | After | LocalBuild | 10000 | 65.63 ns | 0.150 ns | 0.125 ns | 3 | - | - | - | - | 177 B |
| containsKey | Before | Default | 10000 | 123.82 ns | 0.149 ns | 0.139 ns | 5 | - | - | - | - | 276 B |
| containsKey | After | LocalBuild | 10000000 | 95.05 ns | 0.082 ns | 0.072 ns | 4 | - | - | - | - | 177 B |
| containsKey | Before | Default | 10000000 | 204.39 ns | 0.338 ns | 0.282 ns | 6 | - | - | - | - | 276 B |
| | | | | | | | | | | | | |
| itemCount | After | LocalBuild | 100 | 231.39 ns | 0.406 ns | 0.360 ns | 1 | - | - | - | - | 96 B |
| itemCount | Before | Default | 100 | 539.74 ns | 1.923 ns | 1.798 ns | 2 | - | - | - | - | 151 B |
| itemCount | After | LocalBuild | 10000 | 33,160.50 ns | 194.709 ns | 182.131 ns | 3 | - | - | - | - | 96 B |
| itemCount | Before | Default | 10000 | 63,074.34 ns | 138.682 ns | 129.724 ns | 4 | - | - | - | - | 151 B |
| itemCount | After | LocalBuild | 10000000 | 62,332,911.90 ns | 252,973.481 ns | 224,254.402 ns | 5 | - | - | - | 148 B | 96 B |
| itemCount | Before | Default | 10000000 | 94,745,625.56 ns | 205,640.690 ns | 192,356.429 ns | 6 | - | - | - | - | 151 B |
| | | | | | | | | | | | | |
| iterForeach | After | LocalBuild | 100 | 3,355.75 ns | 9.540 ns | 7.448 ns | 1 | 0.9727 | - | - | 6120 B | 291 B |
| iterForeach | Before | Default | 100 | 3,866.56 ns | 10.148 ns | 8.996 ns | 2 | 0.9689 | - | - | 6120 B | 291 B |
| iterForeach | After | LocalBuild | 10000 | 348,359.43 ns | 1,148.753 ns | 959.260 ns | 3 | 95.2148 | - | - | 600120 B | 291 B |
| iterForeach | Before | Default | 10000 | 398,419.61 ns | 513.959 ns | 480.758 ns | 4 | 95.2148 | - | - | 600120 B | 291 B |
| iterForeach | After | LocalBuild | 10000000 | 391,889,200.00 ns | 1,604,306.946 ns | 1,500,669.712 ns | 5 | 95000.0000 | - | - | 600000120 B | 321 B |
| iterForeach | Before | Default | 10000000 | 445,099,028.57 ns | 1,380,498.715 ns | 1,223,776.153 ns | 6 | 95000.0000 | - | - | 600000120 B | 321 B |
| | | | | | | | | | | | | |
| addItem | After | LocalBuild | 100 | 181.25 ns | 0.961 ns | 0.899 ns | 1 | 0.0586 | 0.0003 | - | 369 B | 621 B |
| addItem | Before | Default | 100 | 311.85 ns | 0.601 ns | 0.562 ns | 2 | 0.0586 | - | - | 369 B | 697 B |
| addItem | After | LocalBuild | 10000 | 40,893.49 ns | 174.683 ns | 163.398 ns | 3 | 11.0156 | 3.2813 | - | 69324 B | 621 B |
| addItem | Before | Default | 10000 | 71,746.33 ns | 130.309 ns | 121.891 ns | 4 | 11.0156 | 3.3594 | - | 69324 B | 697 B |
| addItem | After | LocalBuild | 10000000 | 87,178,251.47 ns | 250,148.324 ns | 233,988.898 ns | 5 | 18680.0000 | 960.0000 | 10.0000 | 117146915 B | 621 B |
| addItem | Before | Default | 10000000 | 146,799,424.80 ns | 286,531.195 ns | 268,021.458 ns | 6 | 18680.0000 | 960.0000 | 10.0000 | 117146915 B | 697 B |
| | | | | | | | | | | | | |
| removeItem | After | LocalBuild | 100 | 13.64 ns | 0.112 ns | 0.105 ns | 1 | 0.0064 | - | - | 40 B | 469 B |
| removeItem | Before | Default | 100 | 16.38 ns | 0.071 ns | 0.067 ns | 2 | 0.0064 | - | - | 40 B | 519 B |
| removeItem | After | LocalBuild | 10000 | 1,329.24 ns | 9.087 ns | 8.056 ns | 3 | 0.6372 | - | - | 4000 B | 469 B |
| removeItem | Before | Default | 10000 | 1,607.21 ns | 5.566 ns | 5.206 ns | 4 | 0.6372 | - | - | 4000 B | 519 B |
| removeItem | After | LocalBuild | 10000000 | 1,232,230.00 ns | 6,303.414 ns | 5,896.218 ns | 5 | 630.0000 | - | - | 4000000 B | 469 B |
| removeItem | Before | Default | 10000000 | 1,801,088.33 ns | 8,945.674 ns | 8,367.789 ns | 6 | 630.0000 | - | - | 4000000 B | 519 B |
* Simplify node ctors
* FSharp.Core: Map: delete notes in asNode
* FSharp.Core: Map: fix typo in spliceOutSuccessor
* FSharp.Core: Map: remove unused open
2020-09-26 22:17:17 +03:00
|
|
|
|
|
|
|
.idea
|
2020-12-14 23:29:34 +03:00
|
|
|
/tests/fsharp/core/members/set-only-property/vb.dll
|
|
|
|
/tests/fsharp/core/members/set-only-property/fs.dll
|
|
|
|
/tests/fsharp/core/members/set-only-property/cs.dll
|
2021-09-16 20:02:58 +03:00
|
|
|
|
2022-03-01 21:51:16 +03:00
|
|
|
.fake
|
|
|
|
*.pdb
|
|
|
|
*.dll
|