Marc Gravell
d7c16035d2
fix codegen error in value-type multimap #2005 ( #2022 )
...
in horizontal multi-map, don't "returnValueLocal = null" for value-types (invalid IL)
fix #2005
2024-01-02 15:32:04 +00:00
Andrii Kurdiumov
4160c9f344
Update benchmarks with latest results. ( #2016 )
...
* Update benchmarks with latest results.
* Address PR feedback
2023-12-18 12:21:48 +00:00
Marc Gravell
aecffecae1
attempt NRT makeover ( #1928 )
...
* attempt NRT makeover
- annotate NRTs on GridReader API
- add protected access to some of the GridReader internals
- switch GridReader callbacks to be more type-independent
docs
lib updates; deal with yellow warnings and test failures (SQL server certs and cancellation surfacing differently)
fix break
simplify proposed GridReader changes to protected OnBeforeGrid and OnAfterGrid[Async]
Builds: Bump library versions (#1935 )
Tests: Upgrade dependencies for Dependabot (#1936 )
I'll do a pass at all of these later, but getting CVE versions out of the pipe.
Resolving 4 alerts here: https://github.com/DapperLib/Dapper/security/dependabot
merge and lib updates
allow Identity to be constructed on-the-fly inside GridReader
fix build warnings
include readme
rev minor
- enable [SkipLocalsInit] everywhere
- use NET5_0_OR_GREATER
for remoting check
# Conflicts:
# Dapper/CommandDefinition.cs
# Dapper/DefaultTypeMap.cs
# Dapper/SqlMapper.Async.cs
# Dapper/SqlMapper.IDataReader.cs
# Dapper/SqlMapper.Link.cs
# Dapper/SqlMapper.cs
# Directory.Build.props
* shipped, not unshipped
* fixup SqlBuilder; use is null / is not null
* use central package management (#1949 )
* Nullable test tweaks
* Nuget: let's just remove it!
* 2 test fixes from review
* fix FindExplicitConstructor
* add GetPropertySetterOrThrow
* fix NRT on FindConstructor
* DapperRow: value is object?
* use NotNullWhen
* make constructor problem more obvious
* test fixes
---------
Co-authored-by: Nick Craver <nrcraver@gmail.com >
2023-09-12 15:58:49 +01:00
Marc Gravell
ff98f8dbf1
answer #1950 using BDN ( #1951 )
2023-08-21 11:29:37 +01:00
Nick Craver
136dc11f0c
Tests: Upgrade dependencies for Dependabot ( #1936 )
...
I'll do a pass at all of these later, but getting CVE versions out of the pipe.
Resolving 4 alerts here: https://github.com/DapperLib/Dapper/security/dependabot
2023-07-08 11:43:58 -04:00
Raphael Schweizer
cb85070a39
EF Core benchmarks for connections w/ passwords ( #1700 )
2022-01-04 08:54:19 -05:00
Sergei Khlebnikov
80719d00f3
Added more use cases RepoDB benchmarks ( #1710 )
2021-10-10 09:29:55 -04:00
Nick Craver
29f3befae2
Merge pull request #1662 from DapperLib/craver/split-dapper.contrib
2021-05-10 08:58:59 -04:00
Andrii Kurdiumov
069df56ec1
Update version of SqlMarshal to fix warnings
...
This address feedback in #1646
2021-05-10 17:50:16 +06:00
Nick Craver
e9bdcb2352
Merge pull request #1602 from vbilopav/main
2021-05-09 07:02:09 -05:00
Nick Craver
60d5a05919
Update benchmarks/Dapper.Tests.Performance/Dapper.Tests.Performance.csproj
2021-05-09 06:57:02 -05:00
Vedran Bilopavlović
ae65ef10d0
Use ItemGroup Condition != 'net462' in poject #if !NET4X in the file itself
2021-05-09 12:16:01 +02:00
Vedran Bilopavlović
5233555029
make bechmark test description shorter
2021-05-09 12:04:43 +02:00
Nick Craver
11931f9e6c
Dapper.Contrib: removal (repo split)
...
Dapper.Contrib is now located at https://github.com/DapperLib/Dapper.Contrib
2021-05-08 20:36:15 -04:00
Nick Craver
b452fb1999
Merge pull request #1603 from Zubaloo/main
...
The used Map method is asynchronous, hence without waiting for operation to complete the benchmark is only counting the query invocation time.
2021-05-05 21:24:33 -05:00
mgravell
e26aa7b2d6
fix #1656 (git reorg)
2021-04-29 11:04:12 +01:00
Alexandr Buzadji
f499062bd2
Use FirstOrDefault method instead of Map in Belgrade benchmark.
...
`FirstOrDefault` is probably meant to be used here, as there is selected and returned a single record by ID.
Also changing the benchmark description, as "ExecuteReader" looks to be an obsolete name of the method that was used before refactoring.
2021-04-27 22:22:25 -04:00
Alexandr Buzadji
64685835ae
Belgrade benchmark bug fix.
...
The used Map method is asynchronous, hence without waiting for operation to complete the benchmark is only counting the query invocation time.
2021-04-27 22:22:25 -04:00
Nick Craver
abd625cbf8
Merge pull request #1626 from stevedesmond-ca/repodb-benchmark
...
Add basic RepoDB benchmark
2021-04-27 17:30:54 -05:00
Nick Craver
afefded8cf
Merge pull request #1642 from kant2002/kant/cleanup
2021-04-27 16:58:28 -05:00
Andrii Kurdiumov
bc334ca679
[Benchmarks] Add SqlMarshal benhmarks
...
[SqlMarshal](https://github.com/kant2002/sqlmarshal ) is NativeAOT friendly mini-ORM which uses source code generators.
```
// * Summary *
BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19042
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.201
[Host] : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT
ShortRun : .NET Core 3.1.13 (CoreCLR 4.700.21.11102, CoreFX 4.700.21.11602), X64 RyuJIT
| ORM | Method | Return | Mean | StdDev | Error | Gen 0 | Gen 1 | Gen 2 | Allocated |
|--------------- |------------------------------ |-------- |---------:|----------:|----------:|--------:|-------:|-------:|----------:|
| Belgrade | ExecuteReader | Post | 119.0 us | 22.26 us | 37.41 us | 2.6250 | 1.0000 | - | 13.53 KB |
| Hand Coded | DataTable | dynamic | 123.9 us | 2.95 us | 5.64 us | 3.0000 | - | - | 9.37 KB |
| Hand Coded | SqlCommand | Post | 124.8 us | 16.91 us | 32.33 us | 1.2500 | 0.5000 | - | 7.42 KB |
| SqlMarshal | SqlCommand | Post | 132.8 us | 2.77 us | 4.66 us | 2.0000 | 0.7500 | - | 11.27 KB |
| Dapper | QueryFirstOrDefault<dynamic> | dynamic | 135.0 us | 3.64 us | 6.96 us | 3.5000 | - | - | 11.39 KB |
| LINQ to DB | Query<T> | Post | 135.9 us | 3.52 us | 5.92 us | 1.7500 | 0.7500 | - | 10.64 KB |
| LINQ to DB | 'First (Compiled)' | Post | 136.5 us | 2.99 us | 5.72 us | 1.7500 | 0.7500 | - | 11.23 KB |
| PetaPoco | 'Fetch<T> (Fast)' | Post | 136.8 us | 4.67 us | 7.85 us | 2.0000 | 1.0000 | - | 11.52 KB |
| Dapper | 'Query<dynamic> (buffered)' | dynamic | 137.6 us | 6.44 us | 12.31 us | 2.0000 | 1.0000 | - | 11.72 KB |
| Mighty | Query<dynamic> | dynamic | 141.7 us | 4.99 us | 9.54 us | 2.0000 | 1.0000 | - | 12.43 KB |
| Massive | 'Query (dynamic)' | dynamic | 142.1 us | 1.59 us | 2.66 us | 2.0000 | 1.0000 | - | 12.07 KB |
| Dapper | 'Query<T> (buffered)' | Post | 143.0 us | 7.98 us | 13.41 us | 2.0000 | 1.0000 | - | 11.64 KB |
| Mighty | SingleFromQuery<dynamic> | dynamic | 144.8 us | 3.95 us | 6.64 us | 2.5000 | 1.0000 | - | 12.43 KB |
| Dapper | QueryFirstOrDefault<T> | Post | 147.0 us | 22.39 us | 42.80 us | 1.7500 | 0.7500 | - | 11.35 KB |
| PetaPoco | Fetch<T> | Post | 149.2 us | 22.91 us | 43.80 us | 2.5000 | 1.0000 | 0.2500 | 12.2 KB |
| Dapper | 'Contrib Get<T>' | Post | 149.9 us | 13.30 us | 25.42 us | 2.0000 | 1.0000 | - | 12.28 KB |
| ServiceStack | SingleById<T> | Post | 151.8 us | 3.95 us | 7.56 us | 2.7500 | 1.0000 | 0.2500 | 15.27 KB |
| Mighty | SingleFromQuery<T> | Post | 152.5 us | 14.77 us | 24.83 us | 2.0000 | 1.0000 | - | 12.53 KB |
| Mighty | Query<T> | Post | 162.7 us | 45.49 us | 76.44 us | 2.0000 | 1.0000 | - | 12.53 KB |
| Dapper | 'Query<T> (unbuffered)' | Post | 191.4 us | 6.95 us | 11.67 us | 2.2500 | 1.0000 | 0.2500 | 11.76 KB |
| LINQ to DB | First | Post | 200.6 us | 24.67 us | 47.18 us | 2.7500 | 1.0000 | 0.2500 | 15.79 KB |
| DevExpress.XPO | GetObjectByKey<T> | Post | 204.8 us | 5.69 us | 10.89 us | 5.5000 | 1.5000 | - | 29.16 KB |
| EF Core | 'First (Compiled)' | Post | 212.4 us | 15.70 us | 30.01 us | 2.5000 | - | - | 8.39 KB |
| EF 6 | SqlQuery | Post | 251.1 us | 92.97 us | 140.55 us | 3.7500 | 1.0000 | - | 23.67 KB |
| Dapper | 'Query<dynamic> (unbuffered)' | dynamic | 255.9 us | 99.08 us | 149.80 us | 2.5000 | 1.0000 | 0.2500 | 11.8 KB |
| DevExpress.XPO | Query<T> | Post | 285.4 us | 92.67 us | 140.10 us | 10.2500 | - | - | 31.71 KB |
| NHibernate | HQL | Post | 289.8 us | 18.26 us | 34.92 us | 5.5000 | 1.0000 | - | 31.32 KB |
| NHibernate | Get<T> | Post | 302.1 us | 16.69 us | 28.05 us | 5.5000 | 1.0000 | - | 29.37 KB |
| EF Core | 'First (No Tracking)' | Post | 334.9 us | 50.05 us | 84.11 us | 3.5000 | 0.5000 | - | 19.53 KB |
| EF 6 | First | Post | 339.4 us | 43.67 us | 66.03 us | 14.0000 | - | - | 44.18 KB |
| EF Core | SqlQuery | Post | 344.0 us | 55.47 us | 83.86 us | 5.5000 | - | - | 17.59 KB |
| EF Core | First | Post | 357.5 us | 51.72 us | 78.20 us | 4.0000 | - | - | 12.3 KB |
| NHibernate | Criteria | Post | 357.6 us | 37.63 us | 63.23 us | 11.5000 | 1.0000 | - | 56.5 KB |
| EF 6 | 'First (No Tracking)' | Post | 383.1 us | 33.98 us | 57.10 us | 9.0000 | 1.0000 | - | 50.95 KB |
| NHibernate | SQL | Post | 399.2 us | 40.65 us | 68.31 us | 19.0000 | 1.0000 | - | 78.9 KB |
| DevExpress.XPO | FindObject<T> | Post | 602.5 us | 361.92 us | 547.18 us | 8.0000 | - | - | 27.2 KB |
| NHibernate | LINQ | Post | 925.9 us | 47.62 us | 80.02 us | 12.0000 | 2.0000 | - | 53.59 KB |
```
2021-04-07 10:32:33 +06:00
Andrii Kurdiumov
252e8e0742
As far as I aware, Soma related code no longer in this project.
...
And thus can be removed
2021-04-01 08:40:59 +06:00
Vedran Bilopavlović
cabdf4fc62
Add conditions for Norm tests in Perfomance project
2021-02-22 12:43:38 +01:00
Steve Desmond
f6825237f5
Add basic RepoDb benchmark
2021-02-17 14:32:50 -05:00
Vedran Bilopavlović
8876c3f690
Add Norm benchmarks tests
2020-12-29 11:58:43 +01:00
Marc Gravell
6ab170c160
.Net 5 ( #1572 )
...
* initial net5.0 tweaks; also fix current IDE warnings
* lib updates and fixes
* more cleanup
* fix snafu
* skip locals init
* disable xunit shadow copy in tests
* test records
* explore scenario that currently works re #1571
2020-11-17 09:57:17 +00:00
Nick Craver
78ed4b2077
Tests: move into folders
...
One of several moves to make this something we can dev on all platforms and build on Actions for v3 onwards.
2020-10-11 14:56:35 -04:00