diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 71ae5605..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,23 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file - -version: 2 -updates: - - package-ecosystem: "nuget" - directory: "/src/DynamoDBGenerator/" - schedule: - interval: "weekly" - - package-ecosystem: "nuget" - directory: "/src/DynamoDBGenerator.SourceGenerator/" - schedule: - interval: "weekly" - - package-ecosystem: "nuget" - directory: "/tests/DynamoDBGenerator.SourceGenerator.Tests/" - schedule: - interval: "weekly" - - package-ecosystem: "nuget" - directory: "/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/" - schedule: - interval: "weekly" diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index 79958c17..00000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,105 +0,0 @@ -name: Benchmarker -on: - push: - branches: - - main - -permissions: - contents: write - deployments: write - -jobs: - comparison: - name: Comparison Marshalling - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Run - run: dotnet run --project tests/DynamoDBGenerator.SourceGenerator.Benchmarks --configuration 'Release' -- --exporters 'JSON' --filter '*Marshalling.Comparison*' --memory --job 'Default' - - name: Store - uses: rhysd/github-action-benchmark@v1 - with: - name: Comparison Marshalling - tool: 'benchmarkdotnet' - output-file-path: BenchmarkDotNet.Artifacts/results/DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks-report-full-compressed.json - github-token: ${{ secrets.GITHUB_TOKEN }} - auto-push: true - benchmark-data-dir-path: 'benchmarks/marshalling/comparison' - comment-on-alert: false - fail-on-alert: false - alert-comment-cc-users: '@inputfalken' - temporal: - name: Temporal Marshalling - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Run - run: dotnet run --project tests/DynamoDBGenerator.SourceGenerator.Benchmarks --configuration 'Release' -- --exporters 'JSON' --filter '*TemporalBenchmarks*' --memory --job 'Default' - - name: Store - uses: rhysd/github-action-benchmark@v1 - with: - name: Temporal Marshalling - tool: 'benchmarkdotnet' - output-file-path: BenchmarkDotNet.Artifacts/results/DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks-report-full-compressed.json - github-token: ${{ secrets.GITHUB_TOKEN }} - auto-push: true - # Show alert with commit comment on detecting possible performance regression - alert-threshold: '200%' - benchmark-data-dir-path: 'benchmarks/marshalling/temporal' - comment-on-alert: true - fail-on-alert: true - alert-comment-cc-users: '@inputfalken' - primitve: - name: Primitive Marshalling - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Run - run: dotnet run --project tests/DynamoDBGenerator.SourceGenerator.Benchmarks --configuration 'Release' -- --exporters 'JSON' --filter '*PrimitiveBenchmarks*' --memory --job 'Default' - - name: Store - uses: rhysd/github-action-benchmark@v1 - with: - name: Primitive Marshalling - tool: 'benchmarkdotnet' - output-file-path: BenchmarkDotNet.Artifacts/results/DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks-report-full-compressed.json - github-token: ${{ secrets.GITHUB_TOKEN }} - benchmark-data-dir-path: 'benchmarks/marshalling/primitive' - auto-push: true - # Show alert with commit comment on detecting possible performance regression - alert-threshold: '200%' - comment-on-alert: true - fail-on-alert: true - alert-comment-cc-users: '@inputfalken' - collection: - name: Collection Marshalling - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Run - run: dotnet run --project tests/DynamoDBGenerator.SourceGenerator.Benchmarks --configuration 'Release' -- --exporters 'JSON' --filter '*CollectionBenchmarks*' --memory --job 'Default' - - name: Store - uses: rhysd/github-action-benchmark@v1 - with: - name: Collection Marshalling - tool: 'benchmarkdotnet' - output-file-path: BenchmarkDotNet.Artifacts/results/DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks-report-full-compressed.json - github-token: ${{ secrets.GITHUB_TOKEN }} - auto-push: true - benchmark-data-dir-path: 'benchmarks/marshalling/collection' - # Show alert with commit comment on detecting possible performance regression - alert-threshold: '200%' - comment-on-alert: true - fail-on-alert: true - alert-comment-cc-users: '@inputfalken' diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 17a54a23..00000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,100 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL Advanced" - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - schedule: - - cron: '17 18 * * 5' - -jobs: - analyze: - name: Analyze (${{ matrix.language }}) - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners (GitHub.com only) - # Consider using larger runners or machines with greater resources for possible analysis time improvements. - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} - permissions: - # required for all workflows - security-events: write - - # required to fetch internal or private CodeQL packs - packages: read - - # only required for workflows in private repositories - actions: read - contents: read - - strategy: - fail-fast: false - matrix: - include: - - language: actions - build-mode: none - - language: csharp - build-mode: none - # CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift' - # Use `c-cpp` to analyze code written in C, C++ or both - # Use 'java-kotlin' to analyze code written in Java, Kotlin or both - # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both - # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, - # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. - # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how - # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Add any setup steps before running the `github/codeql-action/init` action. - # This includes steps like installing compilers or runtimes (`actions/setup-node` - # or others). This is typically only required for manual builds. - # - name: Setup runtime (example) - # uses: actions/setup-example@v1 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - build-mode: ${{ matrix.build-mode }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - # If the analyze step fails for one of the languages you are analyzing with - # "We were unable to automatically build your code", modify the matrix above - # to set the build mode to "manual" for that language. Then modify this step - # to build your code. - # ℹ️ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - if: matrix.build-mode == 'manual' - shell: bash - run: | - echo 'If you are using a "manual" build mode for one or more of the' \ - 'languages you are analyzing, replace this with the commands to build' \ - 'your code, for example:' - echo ' make bootstrap' - echo ' make release' - exit 1 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml deleted file mode 100644 index 0a0333f2..00000000 --- a/.github/workflows/dotnet.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: .NET Build, Test, and Publish Nuget Package - -on: - push: - branches: - - "**" - tags: - - "v[0-9]+.[0-9]+.[0-9]+" - pull_request: - branches: - - "**" -permissions: - contents: read - packages: write -env: - VERSION: 0.0.0 - -defaults: - run: - working-directory: ./ - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Set Version Variable - if: ${{ github.ref_type == 'tag' }} - env: - TAG: ${{ github.ref_name }} - run: echo "VERSION=${TAG#v}" >> $GITHUB_ENV - - name: Setup .NET - uses: actions/setup-dotnet@v2 - with: - dotnet-version: | - 10.0.x - 8.0.x - - name: Restore dependencies - run: dotnet restore - - name: Build - run: dotnet build --configuration Release --no-restore --verbosity normal /p:Version=$VERSION - - name: Test - run: dotnet test --configuration Release --no-build --verbosity normal - - name: pack nuget packages - run: dotnet pack --configuration Release --output nupkgs --no-restore --no-build --verbosity normal /p:PackageVersion=$VERSION - - name: upload nuget package - if: github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v') - run: dotnet nuget push nupkgs/*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json diff --git a/DynamoDBGenerator.sln b/DynamoDBGenerator.sln deleted file mode 100644 index dfaa95fe..00000000 --- a/DynamoDBGenerator.sln +++ /dev/null @@ -1,77 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamoDBGenerator.SourceGenerator", "src\DynamoDBGenerator.SourceGenerator\DynamoDBGenerator.SourceGenerator.csproj", "{648B1DF4-9684-4422-95F5-74BB89862E4D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamoDBGenerator", "src\DynamoDBGenerator\DynamoDBGenerator.csproj", "{53F899A8-28AA-450F-9C62-FD478119B2B7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamoDBGenerator.SourceGenerator.Tests", "tests\DynamoDBGenerator.SourceGenerator.Tests\DynamoDBGenerator.SourceGenerator.Tests.csproj", "{D8EABA41-D014-49BD-B109-54829DB835E7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamoDBGenerator.SourceGenerator.Benchmarks", "tests\DynamoDBGenerator.SourceGenerator.Benchmarks\DynamoDBGenerator.SourceGenerator.Benchmarks.csproj", "{A80AC940-3BD8-4377-BDB9-AE82FD4DF944}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{E84C4630-5241-4FAA-8F86-964AB25A2C6F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{11F1D954-39EC-4EDD-9460-04FCC216E97A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{BFE1E1F9-5DCC-4C59-B308-BB2BFB94787B}" - ProjectSection(SolutionItems) = preProject - samples\TypeSupport\TypeSupport.csproj = samples\TypeSupport\TypeSupport.csproj - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RequestAndResponseObjects", "samples\RequestAndResponseObjects\RequestAndResponseObjects.csproj", "{03AFDE62-49CB-4844-838F-7E87BA6AFDA1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeyConversion", "samples\KeyConversion\KeyConversion.csproj", "{0E92C22E-576E-4EC0-909F-B4F777A11B28}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Configuration", "samples\Configuration\Configuration.csproj", "{ABB3B374-4D5E-4DCF-9460-C7EEF4EA5A3C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Initialisation", "samples\Initialisation\Initialisation.csproj", "{45EFE13E-1606-4968-8628-F26184F51462}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {648B1DF4-9684-4422-95F5-74BB89862E4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {648B1DF4-9684-4422-95F5-74BB89862E4D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {648B1DF4-9684-4422-95F5-74BB89862E4D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {648B1DF4-9684-4422-95F5-74BB89862E4D}.Release|Any CPU.Build.0 = Release|Any CPU - {53F899A8-28AA-450F-9C62-FD478119B2B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {53F899A8-28AA-450F-9C62-FD478119B2B7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {53F899A8-28AA-450F-9C62-FD478119B2B7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {53F899A8-28AA-450F-9C62-FD478119B2B7}.Release|Any CPU.Build.0 = Release|Any CPU - {D8EABA41-D014-49BD-B109-54829DB835E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D8EABA41-D014-49BD-B109-54829DB835E7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D8EABA41-D014-49BD-B109-54829DB835E7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D8EABA41-D014-49BD-B109-54829DB835E7}.Release|Any CPU.Build.0 = Release|Any CPU - {A80AC940-3BD8-4377-BDB9-AE82FD4DF944}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A80AC940-3BD8-4377-BDB9-AE82FD4DF944}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A80AC940-3BD8-4377-BDB9-AE82FD4DF944}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A80AC940-3BD8-4377-BDB9-AE82FD4DF944}.Release|Any CPU.Build.0 = Release|Any CPU - {03AFDE62-49CB-4844-838F-7E87BA6AFDA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {03AFDE62-49CB-4844-838F-7E87BA6AFDA1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {03AFDE62-49CB-4844-838F-7E87BA6AFDA1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {03AFDE62-49CB-4844-838F-7E87BA6AFDA1}.Release|Any CPU.Build.0 = Release|Any CPU - {0E92C22E-576E-4EC0-909F-B4F777A11B28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0E92C22E-576E-4EC0-909F-B4F777A11B28}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0E92C22E-576E-4EC0-909F-B4F777A11B28}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0E92C22E-576E-4EC0-909F-B4F777A11B28}.Release|Any CPU.Build.0 = Release|Any CPU - {ABB3B374-4D5E-4DCF-9460-C7EEF4EA5A3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ABB3B374-4D5E-4DCF-9460-C7EEF4EA5A3C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ABB3B374-4D5E-4DCF-9460-C7EEF4EA5A3C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ABB3B374-4D5E-4DCF-9460-C7EEF4EA5A3C}.Release|Any CPU.Build.0 = Release|Any CPU - {45EFE13E-1606-4968-8628-F26184F51462}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {45EFE13E-1606-4968-8628-F26184F51462}.Debug|Any CPU.Build.0 = Debug|Any CPU - {45EFE13E-1606-4968-8628-F26184F51462}.Release|Any CPU.ActiveCfg = Release|Any CPU - {45EFE13E-1606-4968-8628-F26184F51462}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {D8EABA41-D014-49BD-B109-54829DB835E7} = {E84C4630-5241-4FAA-8F86-964AB25A2C6F} - {A80AC940-3BD8-4377-BDB9-AE82FD4DF944} = {E84C4630-5241-4FAA-8F86-964AB25A2C6F} - {53F899A8-28AA-450F-9C62-FD478119B2B7} = {11F1D954-39EC-4EDD-9460-04FCC216E97A} - {648B1DF4-9684-4422-95F5-74BB89862E4D} = {11F1D954-39EC-4EDD-9460-04FCC216E97A} - {03AFDE62-49CB-4844-838F-7E87BA6AFDA1} = {BFE1E1F9-5DCC-4C59-B308-BB2BFB94787B} - {0E92C22E-576E-4EC0-909F-B4F777A11B28} = {BFE1E1F9-5DCC-4C59-B308-BB2BFB94787B} - {ABB3B374-4D5E-4DCF-9460-C7EEF4EA5A3C} = {BFE1E1F9-5DCC-4C59-B308-BB2BFB94787B} - {45EFE13E-1606-4968-8628-F26184F51462} = {BFE1E1F9-5DCC-4C59-B308-BB2BFB94787B} - EndGlobalSection -EndGlobal diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 966ecc33..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 Robert Andersson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 778929bc..00000000 --- a/README.md +++ /dev/null @@ -1,436 +0,0 @@ -# DynamoDB.SourceGenerator - -This source generator is crafted to simplify DynamoDB integration for your projects. It's designed to effortlessly -generate the low-level DynamoDB API tailored to any DTO you provide. - -## Installation - -If you want access to more high level reusable abstractions, utilizing builder patterns from the functionality of this -library, check out [Dynatello!](https://github.com/inputfalken/Dynatello) - ---- - -Install the following dependencies: - -[![DynamoDBGenerator][1]][2] - -[![DynamoDBGenerator.SourceGenerator][3]][4] - -[1]: https://img.shields.io/nuget/v/DynamoDBGenerator.svg?label=DynamoDBGenerator - -[2]: https://www.nuget.org/packages/DynamoDBGenerator - -[3]: https://img.shields.io/nuget/v/DynamoDBGenerator.SourceGenerator.svg?label=DynamoDBGenerator.SourceGenerator - -[4]: https://www.nuget.org/packages/DynamoDBGenerator.SourceGenerator - -The `DynamoDBGenerator.SourceGenerator` is where the source generator is implemented. -The source generator will look for attributes and implement interfaces that exists in `DynamoDBGenerator`. - -## Goals: - -* Seamless Developer Interaction (DevEx): Experience a hassle-free DynamoDB interaction where the generated code handles - the heavy lifting, ensuring an intuitive and convenient experience for developers. - * Simplify Attribute Expressions: Easily create complex expressions with an intuitive approach. -* Faster performance: Utilize the low-level API that would normally be implemented manually. - -## [Benchmarks](tests/DynamoDBGenerator.SourceGenerator.Benchmarks): - -Here's a quick summary about how this library performs with a quick example of marshalling and unmarshalling a simple -DTO object. - -| Method | Mean | Error | StdDev | Gen0 | Gen1 | Allocated | -|----------------------------- |-----------:|---------:|----------:|-------:|-------:|----------:| -| Unmarshall_Person_DTO | 655.8 ns | 7.40 ns | 6.92 ns | 0.0553 | - | 696 B | -| Amazon_Unmarshall_Person_DTO | 4,929.2 ns | 97.26 ns | 129.83 ns | 0.7935 | 0.0076 | 10041 B | -| Marshall_Person_DTO | 548.0 ns | 5.46 ns | 5.11 ns | 0.3052 | 0.0038 | 3840 B | -| Amazon_Marshall_Person_DTO | 4,396.5 ns | 23.98 ns | 22.43 ns | 0.9460 | - | 12084 B | - -## Features: - -* Reflection-Free Codebase: The generated code is built without reliance on reflection, ensuring compatibility with - Ahead-of-Time ([AOT](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net7%2Cwindows)) - compilation: This translates to faster startup times and a more efficient memory footprint. -* Nullable Reference type support: Embrace modern coding practices with support - for [Nullable Reference Types](https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references). - Effortlessly handle optional values and ensure robust error handling. -* Marshalling: Seamlessly convert your DTO into DynamoDB types. -* Unmarshalling: Seamlessly convert DynamoDB types into your DTO. - * Constructor support: Leverage constructors in your DTOs. -* Marshalling keys: Seamlessly convert values into DynamoDB key types by decorating your properties with - DynamoDbKeysAttributes. - * HashKey and RangeKey ✔ - * GlobalSecondaryIndex ✔ - * LocalSecondaryIndex ✔ -* Custom Converters: Create converters for your own types or override - the [default converters](https://github.com/inputfalken/DynamoDB.SourceGenerator/blob/main/src/DynamoDBGenerator/Options/AttributeValueConverters.cs) - built in to the library. -* `ValueTuple` support: You don't have to declare your own types and could instead - use [tuples](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/value-tuples) with - custom named fields that will act as if the tuple was a type with those data members. -* Improved performance see [benchmark](./tests/DynamoDBGenerator.SourceGenerator.Benchmarks) project. - -## Default conversion - -If you do not override the conversion behaviour the following rules will be applied - -### Primitive Types - -| Type | Field | -|----------|--------| -| `bool` | `BOOL` | -| `char` | `S` | -| `int` | `N` | -| `long` | `N` | -| `string` | `S` | -| `uint` | `N` | -| `ulong` | `N` | -| `Guid` | `S` | -| `Enum` | `N` | - -### Binary - -| Type | Field | -|----------------|-------| -| `MemoryStream` | `B` | - -### Temporal Types - -| Type | Field | Format | -|------------------|-------|----------| -| `DateOnly` | `S` | ISO 8601 | -| `TimeOnly` | `S` | ISO 8601 | -| `DateTime` | `S` | ISO 8601 | -| `DateTimeOffset` | `S` | ISO 8601 | -| `TimeSpan` | `S` | ISO 8601 | - -### Collection Types - -| Type | Field | Description | -|---------------------------------------|-------|-------------------------------------------------------| -| `ICollection` | `L` | | -| `IDictonary` | `M` | Will treat the `Dictionary` as a **Key-Value** store. | -| `IEnumerable` | `L` | | -| `IReadOnlyList` | `L` | | -| `IReadonlyDictionary` | `M` | Will treat the `Dictionary` as a **Key-Value** store. | -| `ILookup` | `M` | Will treat the `ILookup` as a **Key-Values** store. | -| `ISet` | `NS` | | -| `ISet` | `NS` | | -| `ISet` | `SS` | | -| `ISet` | `NS` | | -| `ISet` | `NS` | | -| `T[]` | `L` | | - -### Custom types - -Types not listed above will be treated as an object by being assigned to the `M` field - -## Reference Tracker - -As part of the source generation process, two additional types will be mirrored to the provided DTO: - -* A reference tracker that serves as attribute references on DynamoDB side. -* A reference tracker that functions as attribute references for the arguments you provide to DynamoDB. - -These trackers enable you to consistently construct your AttributeExpressions using string interpolation. -For an illustrative example, refer to -the [tests](tests/DynamoDBGenerator.SourceGenerator.Tests/Extensions/ToAttributeExpressionTests.cs). - -## Nullable reference types - -The source-generated code will adapt to your NullableReference types if you have it enabled. - -### Examples - -```csharp -#nullable enable -// The following would be considered to be optional. -public string? MyOptionalString { get; set; } -// The following would be considered required and throw DynamoDBMarshallingException if the value was not provided. -public string MyRequiredString { get; set; } -#nullable disable -// The following does not have nullable enabled and would consider the string to be optional. -public string MyUnknownString { get; set; } -``` - -## Code examples - -### [Initializers](./samples/Initialisation/Program.cs) - -You can instruct the marshaller to use a constructor by applying the `[DynamoDBMarshallerConstructor]` attribute ontop -of the desired constructor. -Or use the object Initializer syntax. - -```csharp -_ = new Constructor(id: "123", count: 10); -_ = new Initializer { Id = "123", Count = 10 }; - -[DynamoDBMarshaller] -public partial class Constructor -{ - [DynamoDBMarshallerConstructor] - public Constructor(string id, int count) - { - Count = count; - Id = id; - } - - public int Count { get; } - public string Id { get; } -} - -[DynamoDBMarshaller] -public partial class Initializer -{ - public string Id { get; set; } - public int Count { get; set; } -} -``` - -### [Type support](./samples/TypeSupport) - -The functionality can be applied to more than classes: - -```csharp -[DynamoDBMarshaller] -public partial record Record([property: DynamoDBHashKey] string Id); - -[DynamoDBMarshaller] -public partial class Class -{ - [DynamoDBHashKey] - public string Id { get; init; } -} - -[DynamoDBMarshaller] -public partial struct Struct -{ - [DynamoDBHashKey] - public string Id { get; init; } -} - -[DynamoDBMarshaller] -public readonly partial struct ReadOnlyStruct -{ - [DynamoDBHashKey] - public string Id { get; init; } -} - -[DynamoDBMarshaller] -public readonly partial record struct ReadOnlyRecordStruct([property: DynamoDBHashKey] string Id); -``` - -### [DTO sample](./samples/RequestAndResponseObjects/Person.cs) - -An example DTO class could look like the one below. - -**The following request examples will reuse this DTO.** - -```csharp -// A typical scenario would be that you would use multiple DynamoDBMarshaller and describe your operations via AccessName. -// If you do not specify an ArgumentType it will use your main entity Type instead which is typically useful for PUT operations. -[DynamoDBMarshaller] -[DynamoDBMarshaller(ArgumentType = typeof((string PersonId, string Firstname)), AccessName = "UpdateFirstName")] -[DynamoDBMarshaller(ArgumentType = typeof(string), AccessName = "GetById")] -public partial class Person -{ - // Will be included as 'PK' in DynamoDB. - [DynamoDBHashKey("PK")] - public string Id { get; set; } - - // Will be included as 'Firstname' in DynamoDB. - public string Firstname { get; set; } - - // Will be included as 'Contact' in DynamoDB. - [DynamoDBProperty("Contact")] - public Contact ContactInfo { get; set; } - - // Wont be included in DynamoDB. - [DynamoDBIgnore] - public string FirstNameLowercase => Firstname.ToLower(); - - public class Contact - { - // Will be included as 'Email' in DynamoDB. - public string Email { get; set; } - } -} -``` - -### Creating request objects - -#### [Put request](./samples/RequestAndResponseObjects/Program.cs) - -```csharp -static PutItemRequest PutPerson() -{ - return new PutItemRequest - { - TableName = "MyTable", - Item = Person.PersonMarshaller.Marshall(new Person - { - Firstname = "John", - Id = Guid.NewGuid().ToString(), - ContactInfo = new Person.Contact { Email = "john@test.com" } - }) - }; -} -``` - -#### [Get Request & Response](./samples/RequestAndResponseObjects/Program.cs) - -```csharp - -static GetItemRequest CreateGetItemRequest() -{ - return new GetItemRequest - { - Key = Person.GetById.PrimaryKeyMarshaller.PartitionKey("123"), - TableName = "MyTable" - }; -} - -static Person DeserializeResponse(GetItemResponse response) -{ - if (response.HttpStatusCode != HttpStatusCode.OK) - throw new NotImplementedException(); - - return Person.GetById.Unmarshall(response.Item); -} - -``` - -#### [Update request without providing the DTO](./samples/RequestAndResponseObjects/Program.cs) - -```csharp -static UpdateItemRequest UpdateFirstName() -{ - // Creating an AttributeExpression can be done through string interpolation where the source generator will mimic your DTO types and give you an consistent API to build the attributeExpressions. - var attributeExpression = Person.UpdateFirstName.ToAttributeExpression( - ("personId", "John"), - (dbRef, argRef) => $"{dbRef.Id} = {argRef.PersonId}", // The condition - (dbRef, argRef) => $"SET {dbRef.Firstname} = {argRef.Firstname}" // The update operation - ); - - // the index can be used to retrieve the expressions in the same order as you provide the string interpolations in the method call above. - var condition = attributeExpression.Expressions[0]; - var update = attributeExpression.Expressions[1]; - var keys = Person.UpdateFirstName.PrimaryKeyMarshaller.PartitionKey("personId"); - - return new UpdateItemRequest - { - ConditionExpression = condition, - UpdateExpression = update, - ExpressionAttributeNames = attributeExpression.Names, - ExpressionAttributeValues = attributeExpression.Values, - Key = keys, - TableName = "MyTable" - }; -} -``` - -### [Key conversion](./samples/KeyConversion/Program.cs) - -The key marshallers contain three methods based on your intent. -The source generator will internally validate your object arguments. So if you pass a `int` but the actual key is -represented as a `string`, then you will get an `exception`. - -* `Keys(object partitionKey, object rangeKey)` - * Used when you want convert both a partition key and a range key. -* `PartitionKey(object key)` - * Used when you only want to only convert a partition key without a range key. -* `RangeKey(object key)` - * Used when you only want to only convert a range key without a partition key. - -```csharp -// PrimaryKeyMarshaller is used to convert the keys obtained from the [DynamoDBHashKey] and [DynamoDBRangeKey] attributes. -var keyMarshaller = EntityDTO.KeyMarshallerSample.PrimaryKeyMarshaller; - -// IndexKeyMarshaller requires an argument that is the index name so it can provide you with the correct conversion based on the indexes you may have. -// It works the same way for both LocalSecondaryIndex and GlobalSecondaryIndex attributes. -var GSIKeyMarshaller = EntityDTO.KeyMarshallerSample.IndexKeyMarshaller("GSI"); -var LSIKeyMarshaller = EntityDTO.KeyMarshallerSample.IndexKeyMarshaller("LSI"); - -[DynamoDBMarshaller(AccessName = "KeyMarshallerSample")] -public partial class EntityDTO -{ - [DynamoDBHashKey("PK")] - public string Id { get; set; } - - [DynamoDBRangeKey("RK")] - public string RangeKey { get; set; } - - [DynamoDBLocalSecondaryIndexRangeKey("LSI")] - public string SecondaryRangeKey { get; set; } - - [DynamoDBGlobalSecondaryIndexHashKey("GSI")] - public string GlobalSecondaryIndexId { get; set; } - - [DynamoDBGlobalSecondaryIndexRangeKey("GSI")] - public string GlobalSecondaryIndexRangeKey { get; set; } -} -``` - -### Configuring marshalling behaviour - -By applying the DynamoDbMarshallerOptions you're able to configure all DynamoDBMarshallers that's declared on the same -type. - -#### [Custom converters](./samples/Configuration/Program.cs) - -```csharp -[DynamoDbMarshallerOptions(Converters = typeof(MyCustomConverters))] -[DynamoDBMarshaller] -public partial record OverriddenConverter([property: DynamoDBHashKey] string Id, DateTime Timestamp); - -// Implement a converter, there's also an IReferenceTypeConverter available for ReferenceTypes. -public class UnixEpochDateTimeConverter : IValueTypeConverter -{ - public UnixEpochDateTimeConverter() - { - } - - // Convert the AttributeValue into a .NET type. - public DateTime? Read(AttributeValue attributeValue) - { - return long.TryParse(attributeValue.N, out var epoch) - ? DateTimeOffset.FromUnixTimeSeconds(epoch).DateTime - : null; - } - - // Convert the .NET type into an AttributeValue. - public AttributeValue Write(DateTime element) - { - return new AttributeValue { N = new DateTimeOffset(element).ToUnixTimeSeconds().ToString() }; - } -} - -// Create a new Converters class -// You don't have to inherit from AttributeValueConverters if you do not want to use the default converters provided. -public class MyCustomConverters : AttributeValueConverters -{ - // If you take constructor parameters, the source generator will recongnize it and change the way you access it into an method. - // It's recommended to call the method once and save it into a class member. - public MyCustomConverters() - { - // Override the default behaviour. - DateTimeConverter = new UnixEpochDateTimeConverter(); - } - // You could add more converter DataMembers as fields or properties to add your own custom conversions. -} -``` - -#### [Enum conversion](./samples/Configuration/EnumBehaviour.cs) - -```csharp -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.Name)] -[DynamoDBMarshaller] -public partial record EnumBehaviour([property: DynamoDBHashKey] string Id, DayOfWeek Enum); -``` - -## Project structure - -The `DynamoDBGenerator` assembly contains functionality that the `DynamoDBGenerator.SourceGenerator` rely on such as -the [attribute](src/DynamoDBGenerator/Attributes/DynamoDBMarshallerAttribute.cs) that will trigger the source -generation. -In other words both assemblies needs to be installed in order for the source generator to work as expected. diff --git a/benchmarks/marshalling/collection/data.js b/benchmarks/marshalling/collection/data.js new file mode 100644 index 00000000..5d2facf5 --- /dev/null +++ b/benchmarks/marshalling/collection/data.js @@ -0,0 +1,6980 @@ +window.BENCHMARK_DATA = { + "lastUpdate": 1783319802051, + "repoUrl": "https://github.com/inputfalken/DynamoDB.SourceGenerator", + "entries": { + "Collection Marshalling": [ + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "51508ea0d44d32efff975ac1720c71df81c479e4", + "message": "Fix name", + "timestamp": "2025-07-06T11:02:10+02:00", + "tree_id": "12816b63c932ef3844c6d14dd2caa5c5c596b4cc", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/51508ea0d44d32efff975ac1720c71df81c479e4" + }, + "date": 1751792764185, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 247.76639080047607, + "unit": "ns", + "range": "± 1.842875463922804" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 343.0571038722992, + "unit": "ns", + "range": "± 2.9984630549490277" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 105.586627749602, + "unit": "ns", + "range": "± 0.5694429335389515" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 129.93836647669474, + "unit": "ns", + "range": "± 1.098286791800682" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 234.02481409219595, + "unit": "ns", + "range": "± 0.3313543688632852" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 359.7079758984702, + "unit": "ns", + "range": "± 1.0963388883272138" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 97.63181342397418, + "unit": "ns", + "range": "± 0.500528655173483" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 118.859036224229, + "unit": "ns", + "range": "± 0.7023777791902913" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 358.0000470968393, + "unit": "ns", + "range": "± 0.46924101222804393" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 708.5133732386997, + "unit": "ns", + "range": "± 4.018466458994179" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e4cf211c856bad79a8af270bf113a043e1503ac", + "message": "Add benchmark github action (#97)", + "timestamp": "2025-07-06T11:13:04+02:00", + "tree_id": "59b1eacf6ef887ab70119b01fdf3733cdb0aa06a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3e4cf211c856bad79a8af270bf113a043e1503ac" + }, + "date": 1751793413068, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 239.43583609507635, + "unit": "ns", + "range": "± 2.84736796154351" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 310.53954522950306, + "unit": "ns", + "range": "± 3.410033508083946" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 96.04228910378048, + "unit": "ns", + "range": "± 0.5221729905767656" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 116.20106531778971, + "unit": "ns", + "range": "± 1.5559858338897616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 275.0989014625549, + "unit": "ns", + "range": "± 1.9254523897940885" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 327.9858126004537, + "unit": "ns", + "range": "± 1.1880569170851694" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 94.35842897341801, + "unit": "ns", + "range": "± 0.2579371127996655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 108.39797325929005, + "unit": "ns", + "range": "± 0.5251581319961759" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 335.1856677348797, + "unit": "ns", + "range": "± 0.7287977636057261" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 695.3100171407063, + "unit": "ns", + "range": "± 7.341540686557562" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "652408e60979e43d780b8fec3bbc8cb49235612a", + "message": "Remove TODO", + "timestamp": "2025-07-06T11:14:02+02:00", + "tree_id": "b356b9b77a605722e1878e989f788c0821b9f407", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/652408e60979e43d780b8fec3bbc8cb49235612a" + }, + "date": 1751793510964, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 251.4910955599376, + "unit": "ns", + "range": "± 7.106762427729896" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 329.7198479934172, + "unit": "ns", + "range": "± 12.287776253467188" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 106.66811137994131, + "unit": "ns", + "range": "± 0.9880806138047741" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 124.11458792686463, + "unit": "ns", + "range": "± 1.2058322458354842" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 242.76828139623007, + "unit": "ns", + "range": "± 1.080257082167489" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 353.6915797551473, + "unit": "ns", + "range": "± 3.9524853539142044" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 93.03260378042857, + "unit": "ns", + "range": "± 1.7813715540633193" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 105.58087841669719, + "unit": "ns", + "range": "± 0.7246303639778665" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 333.29180918421065, + "unit": "ns", + "range": "± 1.9645416195868617" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 676.1620309829711, + "unit": "ns", + "range": "± 8.808106414357031" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "cdc04be30f7e95c257ea0332209799b7872847a2", + "message": "Add comparison benchmarking", + "timestamp": "2025-07-06T11:35:00+02:00", + "tree_id": "383faabab4139ecb8d3b6fbcc497319002482717", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/cdc04be30f7e95c257ea0332209799b7872847a2" + }, + "date": 1751794753825, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 243.99277998271742, + "unit": "ns", + "range": "± 5.390432306819372" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 312.46494884490966, + "unit": "ns", + "range": "± 3.5469605147892973" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 99.5014231113287, + "unit": "ns", + "range": "± 0.3963897219097943" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 119.41609455744425, + "unit": "ns", + "range": "± 1.0790123881662308" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 229.11445810244635, + "unit": "ns", + "range": "± 0.5801111260021647" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 358.72932968820845, + "unit": "ns", + "range": "± 2.9550828344384823" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 89.69250456775937, + "unit": "ns", + "range": "± 0.48122803584623836" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 109.83731383085251, + "unit": "ns", + "range": "± 0.6272127026599142" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 389.07649485270184, + "unit": "ns", + "range": "± 3.64955691230646" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 653.2025663375855, + "unit": "ns", + "range": "± 5.720204731627291" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "14d3ac2802110fb3822130f003ec18074df9bd2b", + "message": "Remove baseline", + "timestamp": "2025-07-06T11:36:20+02:00", + "tree_id": "28ab0c82524619f4213eed3596cb819473d822ac", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/14d3ac2802110fb3822130f003ec18074df9bd2b" + }, + "date": 1751794826525, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 246.67038786411285, + "unit": "ns", + "range": "± 1.987852341112609" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 312.14042809804283, + "unit": "ns", + "range": "± 3.075604690941801" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 97.82164827982585, + "unit": "ns", + "range": "± 0.5390250776112459" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 115.80180105141231, + "unit": "ns", + "range": "± 0.9389621803659709" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 235.46139567238944, + "unit": "ns", + "range": "± 0.9723253464935363" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 332.0841976233891, + "unit": "ns", + "range": "± 2.2319903260792113" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 89.28766897091499, + "unit": "ns", + "range": "± 0.1703922303424823" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 109.66960135300954, + "unit": "ns", + "range": "± 1.268207347688565" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 341.806004183633, + "unit": "ns", + "range": "± 0.6766449195794932" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 690.7716576071347, + "unit": "ns", + "range": "± 13.631376985447803" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "117e9593b1abc9739ba2774eb502fcde06640bbc", + "message": "Fix with hashset", + "timestamp": "2025-07-06T11:41:19+02:00", + "tree_id": "a9513ac8d6f1706b275a69f95fa924a9a558ddba", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/117e9593b1abc9739ba2774eb502fcde06640bbc" + }, + "date": 1751795153166, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 231.59564671913782, + "unit": "ns", + "range": "± 0.7081987952555411" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 305.2910914738973, + "unit": "ns", + "range": "± 0.6324883315658496" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 97.19677018202268, + "unit": "ns", + "range": "± 0.3085939525861155" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 112.87297252813975, + "unit": "ns", + "range": "± 0.17218419755390998" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 230.0204222883497, + "unit": "ns", + "range": "± 0.6347896125630137" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 332.3458773408617, + "unit": "ns", + "range": "± 0.4066535753591688" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 90.54967589378357, + "unit": "ns", + "range": "± 0.2180402236645867" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 105.89471357143842, + "unit": "ns", + "range": "± 0.13341644748634032" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 360.56149428231373, + "unit": "ns", + "range": "± 0.6701046374222944" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 642.722825050354, + "unit": "ns", + "range": "± 3.933498517735861" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "94f92575e66268087fb0c8eef711e391b4cd6348", + "message": "Fix comparison benchmark", + "timestamp": "2025-07-06T11:51:54+02:00", + "tree_id": "d40a90357e34c737f95b683618204fcca8f1eda6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/94f92575e66268087fb0c8eef711e391b4cd6348" + }, + "date": 1751795755670, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 239.18534838358562, + "unit": "ns", + "range": "± 3.7710982069858603" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 316.72715492248534, + "unit": "ns", + "range": "± 5.211378779038525" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 97.71856561899185, + "unit": "ns", + "range": "± 0.7440641820715348" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 119.08119069612943, + "unit": "ns", + "range": "± 0.8492499264579221" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 238.07133067448933, + "unit": "ns", + "range": "± 2.251588337623163" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 343.4660927136739, + "unit": "ns", + "range": "± 4.741565163913469" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 95.11017005551945, + "unit": "ns", + "range": "± 2.383979154534724" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 120.05009775956472, + "unit": "ns", + "range": "± 1.7450409369952071" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 355.80781237284344, + "unit": "ns", + "range": "± 1.260748757072474" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 704.246118148168, + "unit": "ns", + "range": "± 23.16701281220712" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "3977afc7f246a352127b30ece11f09b06c581c61", + "message": "Change order of benchmarks", + "timestamp": "2025-07-06T11:56:25+02:00", + "tree_id": "07b8d2226d320803f32c25e16113218adac49cd8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3977afc7f246a352127b30ece11f09b06c581c61" + }, + "date": 1751796045819, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 226.27446211179097, + "unit": "ns", + "range": "± 2.7594988884418714" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 298.1072647412618, + "unit": "ns", + "range": "± 3.9588698048197855" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 95.43287634054819, + "unit": "ns", + "range": "± 1.27624251499105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 111.61722953716914, + "unit": "ns", + "range": "± 1.1874109397833084" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 248.60965496699015, + "unit": "ns", + "range": "± 4.146000182818431" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 320.9587952931722, + "unit": "ns", + "range": "± 2.580963395343278" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 87.08237375418345, + "unit": "ns", + "range": "± 0.6495799181531497" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 107.21203055977821, + "unit": "ns", + "range": "± 2.0063454055483247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 322.69595527648926, + "unit": "ns", + "range": "± 4.457089169249052" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 677.7206520080566, + "unit": "ns", + "range": "± 6.4402409987181395" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "a9034f9b8d34c15f8bb1ae93f53df7d37c1ecad0", + "message": "Remove Artifacts", + "timestamp": "2025-07-06T11:57:56+02:00", + "tree_id": "ef755862ff9c01d1aa18c8e9b1bf9952de49dbee", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/a9034f9b8d34c15f8bb1ae93f53df7d37c1ecad0" + }, + "date": 1751796114329, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 256.2388613905226, + "unit": "ns", + "range": "± 2.13885913453263" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 345.306001663208, + "unit": "ns", + "range": "± 1.1767599414694465" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 104.93654546567372, + "unit": "ns", + "range": "± 0.42290590942652007" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 126.3070474465688, + "unit": "ns", + "range": "± 0.7369408871867704" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 240.0621465274266, + "unit": "ns", + "range": "± 0.8143154287861477" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 368.61117209706987, + "unit": "ns", + "range": "± 1.7086350979942198" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 95.63618663152059, + "unit": "ns", + "range": "± 0.34125727509631104" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 120.68933966159821, + "unit": "ns", + "range": "± 0.7533722755654874" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 352.16811524118697, + "unit": "ns", + "range": "± 0.4982072815829354" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 704.6574101448059, + "unit": "ns", + "range": "± 3.9352866680861758" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "930d8d7a09da2463d30f3eeb0eb5d6d366e2b801", + "message": "Fix ordering of benchmarks", + "timestamp": "2025-07-06T12:01:00+02:00", + "tree_id": "79e9fbefcc6051267e2164a18ffa59850a1c384a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/930d8d7a09da2463d30f3eeb0eb5d6d366e2b801" + }, + "date": 1751796314724, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 238.28728880201066, + "unit": "ns", + "range": "± 1.6144059952405663" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 307.12634260313854, + "unit": "ns", + "range": "± 2.6335365590467052" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 101.47463812998363, + "unit": "ns", + "range": "± 0.6157489133134196" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 117.87566272112039, + "unit": "ns", + "range": "± 0.4170159811938087" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 238.6905375260573, + "unit": "ns", + "range": "± 0.4731276918302045" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 332.07890089352924, + "unit": "ns", + "range": "± 1.283316761328924" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 91.43607077428273, + "unit": "ns", + "range": "± 0.7603948197018346" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 112.88982018402645, + "unit": "ns", + "range": "± 1.0009842411065146" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 388.44806858471463, + "unit": "ns", + "range": "± 0.871154949280389" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 664.01542263031, + "unit": "ns", + "range": "± 5.4461846701816095" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "2e552c17e9442ab558c4e13c4295a033df473d3c", + "message": "Add early exit on empty arguments", + "timestamp": "2025-07-06T12:48:52+02:00", + "tree_id": "b9039cc3614a11091aed21c4f276a8ec1995ae04", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2e552c17e9442ab558c4e13c4295a033df473d3c" + }, + "date": 1751799191898, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 248.54633951187134, + "unit": "ns", + "range": "± 6.427029329773668" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 325.68410371144614, + "unit": "ns", + "range": "± 5.448353660464174" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 99.62612177644458, + "unit": "ns", + "range": "± 0.6903928938079111" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 119.36768381595611, + "unit": "ns", + "range": "± 2.186473179711635" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 232.69259902409144, + "unit": "ns", + "range": "± 0.9959100356341105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 347.9847964286804, + "unit": "ns", + "range": "± 3.7460729780693933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 92.8473464012146, + "unit": "ns", + "range": "± 1.3334990588048377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 111.12871468067169, + "unit": "ns", + "range": "± 0.9149524413947089" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 358.3329728126526, + "unit": "ns", + "range": "± 1.826520358451512" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 691.6788074374199, + "unit": "ns", + "range": "± 12.992757796208489" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "495d40293f71e191ac9ca1f5d903381d0ad9ecd9", + "message": "Update benchmark results", + "timestamp": "2025-07-06T13:39:24+02:00", + "tree_id": "60e274804e4e23455ff57caadb6abdf5b446fffa", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/495d40293f71e191ac9ca1f5d903381d0ad9ecd9" + }, + "date": 1751802234185, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 238.88339703877767, + "unit": "ns", + "range": "± 3.5397740464225325" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 319.3355716387431, + "unit": "ns", + "range": "± 3.061022327183822" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 98.8364519221442, + "unit": "ns", + "range": "± 0.4487233333327379" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 116.72242619196574, + "unit": "ns", + "range": "± 1.1811267525659728" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 271.3453739973215, + "unit": "ns", + "range": "± 0.9958212920864941" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 339.2345339457194, + "unit": "ns", + "range": "± 1.7230505244801555" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 94.9004309956844, + "unit": "ns", + "range": "± 0.44146884480990056" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 108.43768500487009, + "unit": "ns", + "range": "± 0.8945290943750871" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 383.97254284449986, + "unit": "ns", + "range": "± 12.675884290147676" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 679.6092877021202, + "unit": "ns", + "range": "± 3.516042890921617" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "af22a7a72b610fa301a4dcc4298b9e0f7e6dee15", + "message": "Improve unmarshalling performance (#98)", + "timestamp": "2025-07-06T14:04:16+02:00", + "tree_id": "7ef1150e898e10739b6d6fa41e474856a86bdcf5", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/af22a7a72b610fa301a4dcc4298b9e0f7e6dee15" + }, + "date": 1751803705258, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 230.30482657750449, + "unit": "ns", + "range": "± 2.28775075033403" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 310.3273787498474, + "unit": "ns", + "range": "± 2.2530876769103685" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 95.3624337275823, + "unit": "ns", + "range": "± 0.6783450395452089" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 123.03730226357779, + "unit": "ns", + "range": "± 1.9343069791225" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 232.52075168291728, + "unit": "ns", + "range": "± 0.7494037199030155" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 360.67646844763505, + "unit": "ns", + "range": "± 8.109816878599402" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 90.76344698667526, + "unit": "ns", + "range": "± 1.3615548912258397" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 108.38851211865743, + "unit": "ns", + "range": "± 2.0370966776546253" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 323.59293778737384, + "unit": "ns", + "range": "± 2.6530793995237647" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 673.9856578386747, + "unit": "ns", + "range": "± 9.398254434695325" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d8a8380bf1e80737030d3c497a50d04f00ec1c90", + "message": "Create codeql.yml", + "timestamp": "2025-07-13T21:27:35+02:00", + "tree_id": "4273aa99ffee4c651b8bb6dd8d42a4e5526b4db4", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d8a8380bf1e80737030d3c497a50d04f00ec1c90" + }, + "date": 1752435120081, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 233.70686977250236, + "unit": "ns", + "range": "± 1.6867938150718877" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 310.31061738332113, + "unit": "ns", + "range": "± 2.110239654644105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 98.70794429381688, + "unit": "ns", + "range": "± 0.6536325960050248" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 123.60592201777867, + "unit": "ns", + "range": "± 1.7417183613499483" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 232.4895428498586, + "unit": "ns", + "range": "± 1.7872518970895346" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 357.02435066825467, + "unit": "ns", + "range": "± 7.942205480947933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 95.33502756754557, + "unit": "ns", + "range": "± 1.5167979664805924" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 109.0175057741312, + "unit": "ns", + "range": "± 0.9926347465374193" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 325.6355240345001, + "unit": "ns", + "range": "± 1.1820240450512574" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 659.7505285399301, + "unit": "ns", + "range": "± 4.695641830432527" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5ff3c30d03c514b9b02877f63ce06c783c1e1131", + "message": "Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#99)\n\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>", + "timestamp": "2025-07-13T21:34:56+02:00", + "tree_id": "a9299bac01281ca9c29420f4b98d2d688299aea9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5ff3c30d03c514b9b02877f63ce06c783c1e1131" + }, + "date": 1752435556617, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 239.05266768591744, + "unit": "ns", + "range": "± 1.2825884105201704" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 309.2547133922577, + "unit": "ns", + "range": "± 9.102086403619124" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 102.87284843921661, + "unit": "ns", + "range": "± 0.8084353687579588" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 124.17084476153056, + "unit": "ns", + "range": "± 1.4138614104761333" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 230.23854395548503, + "unit": "ns", + "range": "± 0.7688021774504636" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 338.07230240503947, + "unit": "ns", + "range": "± 2.8878387809465136" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 95.54153073628744, + "unit": "ns", + "range": "± 1.1619622302080455" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 111.48702526489893, + "unit": "ns", + "range": "± 1.4010305357625008" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 325.5932490825653, + "unit": "ns", + "range": "± 0.43155518714853663" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 665.2853288650513, + "unit": "ns", + "range": "± 3.764614295979672" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "09f3e94bc5808c7fd33009f728e81d69253047d6", + "message": "Create dependabot.yml", + "timestamp": "2025-07-14T21:48:36+02:00", + "tree_id": "04c8aab4a5b593a40a4240fe1469a6ff3a58b586", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/09f3e94bc5808c7fd33009f728e81d69253047d6" + }, + "date": 1752522740930, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 250.06757764816285, + "unit": "ns", + "range": "± 4.742967233241933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 327.05742168426514, + "unit": "ns", + "range": "± 4.313608026238752" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 113.01622483332952, + "unit": "ns", + "range": "± 1.4589760451835643" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 127.8969936221838, + "unit": "ns", + "range": "± 2.4892347627105593" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 234.11431040082658, + "unit": "ns", + "range": "± 1.1881352278253288" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 354.4761757214864, + "unit": "ns", + "range": "± 4.070359124875806" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 91.65226207176845, + "unit": "ns", + "range": "± 0.8792638065277322" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 118.78268265724182, + "unit": "ns", + "range": "± 2.7187735120546064" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 319.1008549758366, + "unit": "ns", + "range": "± 0.5005818269264308" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 696.5469455718994, + "unit": "ns", + "range": "± 3.078010756287525" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3b96e0cfe7f1f3d47d2e13bdc833f0ec8c9b3637", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T21:54:01+02:00", + "tree_id": "50cfaf57c1713862a8a6187e61d34f318e7dea77", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3b96e0cfe7f1f3d47d2e13bdc833f0ec8c9b3637" + }, + "date": 1752523092586, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 228.3886320590973, + "unit": "ns", + "range": "± 0.558367930233289" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 302.57629139082775, + "unit": "ns", + "range": "± 1.4927845653931076" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 95.17217579909733, + "unit": "ns", + "range": "± 0.6074689955417252" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 112.22346274455388, + "unit": "ns", + "range": "± 0.5012287935780931" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 241.55022819225604, + "unit": "ns", + "range": "± 0.49398966304278813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 339.91987951596576, + "unit": "ns", + "range": "± 0.8704079111699266" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 85.49047190348307, + "unit": "ns", + "range": "± 0.2732214995299392" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 104.36740349871772, + "unit": "ns", + "range": "± 0.3287655375887749" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 323.46333697636925, + "unit": "ns", + "range": "± 0.637293535783349" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 648.4802016530718, + "unit": "ns", + "range": "± 2.870561513552427" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "01cda5ad909f9eafa6659fafd7b4c153875e50a0", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T21:55:27+02:00", + "tree_id": "2b0786ea9616366ad1d06743371aa6be9495d573", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/01cda5ad909f9eafa6659fafd7b4c153875e50a0" + }, + "date": 1752523171411, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 246.05828498204548, + "unit": "ns", + "range": "± 1.1179688533168173" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 317.55001779964994, + "unit": "ns", + "range": "± 2.5705855745059174" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 96.55601081677845, + "unit": "ns", + "range": "± 0.5627139977776587" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 123.07086908022562, + "unit": "ns", + "range": "± 1.0145029620698869" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 233.9053316797529, + "unit": "ns", + "range": "± 0.9709902177841983" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 347.97786264419557, + "unit": "ns", + "range": "± 1.514627254099493" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 90.65274100120251, + "unit": "ns", + "range": "± 0.6084444506356671" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 109.14420048395793, + "unit": "ns", + "range": "± 0.965171435524359" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 313.51521679071277, + "unit": "ns", + "range": "± 0.46302829287011305" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 642.1598479588827, + "unit": "ns", + "range": "± 6.180692925354001" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "79b16271e251e6e6daa937122507c62d18cdbbfe", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T22:00:08+02:00", + "tree_id": "3631a814e44a99167dfb7f4d2631f6548be840b7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/79b16271e251e6e6daa937122507c62d18cdbbfe" + }, + "date": 1752523465350, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 267.84491930007937, + "unit": "ns", + "range": "± 2.824114914048186" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 353.44430576960247, + "unit": "ns", + "range": "± 3.9572198069256337" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 101.20602395534516, + "unit": "ns", + "range": "± 1.238454717296267" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 132.5227807501088, + "unit": "ns", + "range": "± 3.1196620026541733" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 239.64538075129192, + "unit": "ns", + "range": "± 0.7056702780046945" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 366.17851146062213, + "unit": "ns", + "range": "± 3.902758398416438" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 95.68993817170461, + "unit": "ns", + "range": "± 0.500149924782" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 122.12332989109888, + "unit": "ns", + "range": "± 5.235935204597009" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 339.33843727111815, + "unit": "ns", + "range": "± 1.5134990176642713" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 697.3211559295654, + "unit": "ns", + "range": "± 11.795950631957798" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "e6b5b1276e697ff1726c9884b56f51507745b519", + "message": "Add dependabot", + "timestamp": "2025-07-14T22:01:50+02:00", + "tree_id": "3631a814e44a99167dfb7f4d2631f6548be840b7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e6b5b1276e697ff1726c9884b56f51507745b519" + }, + "date": 1752523601959, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 244.98455679416656, + "unit": "ns", + "range": "± 1.7153652529788428" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 318.74452435970306, + "unit": "ns", + "range": "± 5.919275676420351" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 99.21744346050988, + "unit": "ns", + "range": "± 2.3726956272784063" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 116.06591443220775, + "unit": "ns", + "range": "± 1.5370280555613711" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 234.79107264677683, + "unit": "ns", + "range": "± 1.8969226493650184" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 352.3070358276367, + "unit": "ns", + "range": "± 4.861298768750055" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 93.10633583579745, + "unit": "ns", + "range": "± 0.9082381753574927" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 113.52184111421758, + "unit": "ns", + "range": "± 2.7509775601464055" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 318.8379230181376, + "unit": "ns", + "range": "± 1.485436002592401" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 694.3678661693226, + "unit": "ns", + "range": "± 16.313141412099725" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "c18f85f5cd9414195bd88ffdec6e6f94f557afce", + "message": "Manually point to projects", + "timestamp": "2025-07-14T22:29:14+02:00", + "tree_id": "6b234f2935b20faf6019a4433678c54a87015492", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c18f85f5cd9414195bd88ffdec6e6f94f557afce" + }, + "date": 1752525174672, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 246.1473277727763, + "unit": "ns", + "range": "± 2.3876758953950814" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 319.527932371412, + "unit": "ns", + "range": "± 3.1988823001599784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 100.2363569577535, + "unit": "ns", + "range": "± 0.5582422031346586" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 128.4236628850301, + "unit": "ns", + "range": "± 2.1930561394541943" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 240.10429191589355, + "unit": "ns", + "range": "± 0.7416625627721372" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 355.53482944624767, + "unit": "ns", + "range": "± 2.471281672738311" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 90.27420981441226, + "unit": "ns", + "range": "± 0.6498320935761365" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 114.09166601498922, + "unit": "ns", + "range": "± 1.775556551116564" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 320.75522782252386, + "unit": "ns", + "range": "± 0.6869668290958161" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 714.6513144810995, + "unit": "ns", + "range": "± 3.833251707572114" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d774a56e71466519a8a731cd89c26bc416a1c759", + "message": "Bump AWSSDK.DynamoDBv2 and 7 others (#100)\n\n* Bump AWSSDK.DynamoDBv2 and 7 others\n\nBumps AWSSDK.DynamoDBv2 from 4.0.1 to 4.0.2.2\nBumps BenchmarkDotNet from 0.14.0 to 0.15.2\nBumps FluentAssertions from 7.0.0 to 8.5.0\nBumps Microsoft.CodeAnalysis.Analyzers from 3.11.0 to 4.14.0\nBumps Microsoft.CodeAnalysis.CSharp from 4.10.0 to 4.14.0\nBumps Microsoft.NET.Test.Sdk from 17.14.0 to 17.14.1\nBumps xunit.runner.visualstudio from 3.1.0 to 3.1.2\nBumps xunit.v3 from 2.0.2 to 3.0.0\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.2\n dependency-type: direct:production\n update-type: version-update:semver-minor\n- dependency-name: FluentAssertions\n dependency-version: 8.5.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n- dependency-name: Microsoft.CodeAnalysis.Analyzers\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 17.14.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: xunit.v3\n dependency-version: 3.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \n\n* Update DynamoDBGenerator.SourceGenerator.csproj\n\nSource generator dependencies needs to be manully adjusted. Testing without these depencencies.\n\n* Update DynamoDBGenerator.SourceGenerator.Tests.csproj\n\nAvoid payed version\n\n---------\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-07-14T22:38:26+02:00", + "tree_id": "afec4c7db7dbe86333baaad69b5bdf4184dd28b9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d774a56e71466519a8a731cd89c26bc416a1c759" + }, + "date": 1752525692143, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 247.30845206124442, + "unit": "ns", + "range": "± 3.6208396382204397" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 333.70987089474994, + "unit": "ns", + "range": "± 2.3941283356790874" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 99.04739298820496, + "unit": "ns", + "range": "± 0.7677756974204247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 120.34242866039276, + "unit": "ns", + "range": "± 1.080016333710863" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 226.0688843091329, + "unit": "ns", + "range": "± 0.9870409316582973" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 367.40303877421786, + "unit": "ns", + "range": "± 2.7922760919643004" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 149.99011686642964, + "unit": "ns", + "range": "± 1.4171065253405677" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 110.7583381652832, + "unit": "ns", + "range": "± 1.9905651486008817" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 321.20638966560364, + "unit": "ns", + "range": "± 1.1109207281971971" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 665.0096385819571, + "unit": "ns", + "range": "± 7.638070188617207" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "38a5607bdb39de5515d880bff00228cef3a2db60", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.2.2 to 4.0.3.1 (#110)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.3.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-07-31T19:48:16+02:00", + "tree_id": "b221c370dc94de83ae1ed5a030c16695a6aae912", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/38a5607bdb39de5515d880bff00228cef3a2db60" + }, + "date": 1753984282623, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 242.60865791027362, + "unit": "ns", + "range": "± 1.45071044564638" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 317.1455421080956, + "unit": "ns", + "range": "± 4.393060403111634" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 96.9844829360644, + "unit": "ns", + "range": "± 0.6805014048367374" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 118.786837884358, + "unit": "ns", + "range": "± 1.2358209849004773" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 233.14766978300534, + "unit": "ns", + "range": "± 0.6571253879230681" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 358.25916509628297, + "unit": "ns", + "range": "± 2.740725072797129" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 89.36033307654517, + "unit": "ns", + "range": "± 0.9523368005991132" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 109.02749580939611, + "unit": "ns", + "range": "± 1.4149077304863493" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 327.7869692529951, + "unit": "ns", + "range": "± 1.9347534187167683" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 650.8118534088135, + "unit": "ns", + "range": "± 9.236059719498742" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "19d5868217cdc3deb0bfe352089eae9f276abf06", + "message": "Upgrade source generator (#113)", + "timestamp": "2025-08-05T22:56:15+02:00", + "tree_id": "2f0e23fa230fe3ceb21700b2442ffe5f79364844", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/19d5868217cdc3deb0bfe352089eae9f276abf06" + }, + "date": 1754427587099, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 231.38484392166137, + "unit": "ns", + "range": "± 1.6362964582962276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 297.9201283114297, + "unit": "ns", + "range": "± 1.7425043908910105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 93.42117094198862, + "unit": "ns", + "range": "± 0.7217870578830927" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 123.39282948630196, + "unit": "ns", + "range": "± 1.2892205764727378" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 223.22866309483845, + "unit": "ns", + "range": "± 0.8749979041211706" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 331.3263601889977, + "unit": "ns", + "range": "± 1.2223586359148462" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 85.63041469880513, + "unit": "ns", + "range": "± 0.4742681419709793" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 106.76507845095226, + "unit": "ns", + "range": "± 1.153915674781948" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 314.17526153417737, + "unit": "ns", + "range": "± 0.7563922113403865" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 665.1217775980632, + "unit": "ns", + "range": "± 3.7988854906134133" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "00c067cad1899e429122654d78157dc5d3cc9686", + "message": "Bump xunit.v3 from 3.0.0 to 3.0.1 (#118)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.0.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-08-20T23:22:57+02:00", + "tree_id": "9e996d7c8c7cdb98dcb1c2d6ba4d90bdec140e31", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/00c067cad1899e429122654d78157dc5d3cc9686" + }, + "date": 1755725158136, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 256.87779787608554, + "unit": "ns", + "range": "± 2.8769403908159186" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 331.1666120399128, + "unit": "ns", + "range": "± 8.192467457653743" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 104.5996908375195, + "unit": "ns", + "range": "± 1.5275735353404425" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 132.68579767545063, + "unit": "ns", + "range": "± 2.2531506887109725" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 249.83791551589965, + "unit": "ns", + "range": "± 2.249750180366292" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 364.278404372079, + "unit": "ns", + "range": "± 2.7104332963329187" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 94.3788786371549, + "unit": "ns", + "range": "± 0.9546798665856642" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 118.60508926709493, + "unit": "ns", + "range": "± 1.8240703794199011" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 332.84361505508423, + "unit": "ns", + "range": "± 2.262168881821491" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 681.7777488572257, + "unit": "ns", + "range": "± 10.459471099820776" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fe931f7d7b7cd25d9017f3b81420266fa1e8dd49", + "message": "Bump xunit.runner.visualstudio from 3.1.2 to 3.1.4 (#117)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-08-20T23:24:28+02:00", + "tree_id": "a75caed3f9676667f8142a1f85f147a48e351bc8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/fe931f7d7b7cd25d9017f3b81420266fa1e8dd49" + }, + "date": 1755725272210, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 229.775175009455, + "unit": "ns", + "range": "± 2.505749140472593" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 303.07216000556946, + "unit": "ns", + "range": "± 1.8766126860260413" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 96.23235640923183, + "unit": "ns", + "range": "± 0.48029284736609995" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 112.99253497123718, + "unit": "ns", + "range": "± 0.5534533640185991" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 230.11070925455826, + "unit": "ns", + "range": "± 1.2992130423717871" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 330.7711566411532, + "unit": "ns", + "range": "± 1.5867424938600814" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 88.77268505096436, + "unit": "ns", + "range": "± 0.8012424797478638" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 110.16214892069499, + "unit": "ns", + "range": "± 1.4584986757156304" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 325.0486969629923, + "unit": "ns", + "range": "± 2.5653764928308327" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 646.2437325159709, + "unit": "ns", + "range": "± 5.416370385822853" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8a5066623940e3adccb76ded2bf5838f2769471e", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.3.1 to 4.0.4.1 (#114)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.4.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-08-21T21:04:33+02:00", + "tree_id": "1685fe9f1111f80c937e5590b646eb38f82a1020", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8a5066623940e3adccb76ded2bf5838f2769471e" + }, + "date": 1755803267763, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 232.84455765210666, + "unit": "ns", + "range": "± 1.0469163947213858" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 310.5577225049337, + "unit": "ns", + "range": "± 3.54301882610359" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 93.85919905560357, + "unit": "ns", + "range": "± 0.4280619509904509" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 118.53844785690308, + "unit": "ns", + "range": "± 1.101167698944461" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 223.80612543651037, + "unit": "ns", + "range": "± 0.6807590852413038" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 332.99366893087114, + "unit": "ns", + "range": "± 1.489607668139936" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 87.65191041231155, + "unit": "ns", + "range": "± 0.4481650572559324" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 108.41096070210139, + "unit": "ns", + "range": "± 0.582654981312018" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 311.9490701968853, + "unit": "ns", + "range": "± 0.5801483468882241" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 626.5317860330854, + "unit": "ns", + "range": "± 2.4224340720299113" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ce316d04a4f68c1aea0d8bbb7e87f9190653d1f2", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.4.1 to 4.0.5.1 (#119)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.5.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-08-29T15:57:53+02:00", + "tree_id": "57ac539535b8df1a1c61b9d1d251f2ea79715f94", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/ce316d04a4f68c1aea0d8bbb7e87f9190653d1f2" + }, + "date": 1756476102952, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 238.51101268132527, + "unit": "ns", + "range": "± 3.833630895774767" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 338.25299494607106, + "unit": "ns", + "range": "± 5.007665593543861" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 101.50417588438306, + "unit": "ns", + "range": "± 0.7030444454117898" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 120.25844754378001, + "unit": "ns", + "range": "± 1.3427384295124554" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 238.03461844126383, + "unit": "ns", + "range": "± 1.4988702295248284" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 365.30852663517, + "unit": "ns", + "range": "± 9.40819571265025" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 89.78503895816156, + "unit": "ns", + "range": "± 4.06877196217203" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 111.82946822047234, + "unit": "ns", + "range": "± 2.1939220333931018" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 334.8489616394043, + "unit": "ns", + "range": "± 2.291242077655598" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 667.9225831398597, + "unit": "ns", + "range": "± 6.826175684881334" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2d870770bcecc302b96e1bfbb5240fdfce0b8a97", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.5.1 to 4.0.6.1 (#121)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-09T22:56:05+02:00", + "tree_id": "724e9d80caa4273b6daebdcc934b12260e8e1243", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2d870770bcecc302b96e1bfbb5240fdfce0b8a97" + }, + "date": 1757451560719, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 247.8536767065525, + "unit": "ns", + "range": "± 4.611367713560026" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 332.68976943833485, + "unit": "ns", + "range": "± 4.212531523838738" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 100.5785077293714, + "unit": "ns", + "range": "± 1.264895215523705" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 127.01394662857055, + "unit": "ns", + "range": "± 1.3860834554208397" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 227.69097522099813, + "unit": "ns", + "range": "± 1.418647119582632" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 367.3979464530945, + "unit": "ns", + "range": "± 3.59220582974616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 90.39001643657684, + "unit": "ns", + "range": "± 0.6918768795766491" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 114.7840615734458, + "unit": "ns", + "range": "± 2.2773491344084875" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 325.17786966959636, + "unit": "ns", + "range": "± 2.8164214457066836" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 685.3956314722697, + "unit": "ns", + "range": "± 14.239370723717968" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "96abb525e1c4dab36e7da1502ee88b14e61d6a50", + "message": "Bump BenchmarkDotNet from 0.15.2 to 0.15.3 (#123)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-23T18:43:05+02:00", + "tree_id": "af2c751c2d3508b801f722a4cf1b08c37c5f67a0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/96abb525e1c4dab36e7da1502ee88b14e61d6a50" + }, + "date": 1758646052228, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 246.99871185090808, + "unit": "ns", + "range": "± 6.980466916050415" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 346.79936459859215, + "unit": "ns", + "range": "± 3.8248710130938743" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 99.9490514572929, + "unit": "ns", + "range": "± 1.9866103429543929" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 120.48453780851867, + "unit": "ns", + "range": "± 2.756273662408847" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 228.07481404940287, + "unit": "ns", + "range": "± 1.8162247876659552" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 357.8090805709362, + "unit": "ns", + "range": "± 6.812972133778063" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 92.07613906065623, + "unit": "ns", + "range": "± 1.1929340717463846" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 126.80175272056034, + "unit": "ns", + "range": "± 2.108627512493191" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 322.0578516960144, + "unit": "ns", + "range": "± 1.3884085626183078" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 651.2072832743327, + "unit": "ns", + "range": "± 10.838350271274408" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9f740062393e8f9f3dbd527630a7254f72ade665", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.1 to 4.0.6.2 (#122)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-28T21:11:13+02:00", + "tree_id": "99cbe789635404cf4396c3e45c05a833342058ad", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9f740062393e8f9f3dbd527630a7254f72ade665" + }, + "date": 1759086930893, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 240.8813588778178, + "unit": "ns", + "range": "± 3.18586254802653" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 318.2024456659953, + "unit": "ns", + "range": "± 5.811034175108926" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 95.73551636082786, + "unit": "ns", + "range": "± 1.0839568150152508" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 119.45229091246922, + "unit": "ns", + "range": "± 1.1054810160283577" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 227.902551817894, + "unit": "ns", + "range": "± 1.4867100911101456" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 345.95636024475095, + "unit": "ns", + "range": "± 5.445387459339042" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 85.72035945378818, + "unit": "ns", + "range": "± 0.49230127781639377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 112.5966292142868, + "unit": "ns", + "range": "± 1.5790674702884722" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 311.85373770395915, + "unit": "ns", + "range": "± 1.7035475917206" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 654.045897660432, + "unit": "ns", + "range": "± 18.363760039538754" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f7962292f13b78c0d9aa7d477368748236f2f206", + "message": "Bump xunit.runner.visualstudio from 3.1.4 to 3.1.5 (#126)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-29T18:42:16+02:00", + "tree_id": "4420b501f3874397ced78dcf3811c0c628140602", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f7962292f13b78c0d9aa7d477368748236f2f206" + }, + "date": 1759164398665, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 247.70698687235515, + "unit": "ns", + "range": "± 4.332096040450699" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 321.0131596883138, + "unit": "ns", + "range": "± 3.912979606667065" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 103.6625269373258, + "unit": "ns", + "range": "± 1.193446007729471" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 126.17919395764669, + "unit": "ns", + "range": "± 1.3910523777695507" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 229.47276077951705, + "unit": "ns", + "range": "± 0.7538528912636946" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 347.3577558994293, + "unit": "ns", + "range": "± 7.156814304489061" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 90.425362162292, + "unit": "ns", + "range": "± 1.7739569606565675" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 113.38521177428109, + "unit": "ns", + "range": "± 1.310115252208014" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 324.7917433125632, + "unit": "ns", + "range": "± 2.0840693988500476" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 657.8366896947225, + "unit": "ns", + "range": "± 11.420146511638768" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5f09be7fd187626f6411a27cdc42f11b6a97333d", + "message": "Bump BenchmarkDotNet from 0.15.3 to 0.15.4 (#125)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-29T18:45:05+02:00", + "tree_id": "000203a66299953d80ca61dd605bc0a146bdb5a2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5f09be7fd187626f6411a27cdc42f11b6a97333d" + }, + "date": 1759164543326, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 251.84458940369743, + "unit": "ns", + "range": "± 3.7201843763305638" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 318.1385794003805, + "unit": "ns", + "range": "± 4.701898486712887" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 98.42678542137146, + "unit": "ns", + "range": "± 1.0732660042592093" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 122.70775313675404, + "unit": "ns", + "range": "± 2.3532182801476154" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 231.40483282407124, + "unit": "ns", + "range": "± 0.4746081458237293" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 348.9956617037455, + "unit": "ns", + "range": "± 6.29465218002" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 90.22212171554565, + "unit": "ns", + "range": "± 0.962847356861757" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 115.05387519200643, + "unit": "ns", + "range": "± 1.3017399058011718" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 327.5771992683411, + "unit": "ns", + "range": "± 0.9391405486248755" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 773.3420240538461, + "unit": "ns", + "range": "± 5.535366384927975" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "cad37d37c8639fe72f5afcdaef84e6fd4e689343", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.2 to 4.0.6.3 (#124)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-29T18:51:12+02:00", + "tree_id": "81561588a97de010155dc2d9fb92c90aef79c7e9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/cad37d37c8639fe72f5afcdaef84e6fd4e689343" + }, + "date": 1759164940052, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 231.20452774365742, + "unit": "ns", + "range": "± 4.164446675390918" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 310.68989806426197, + "unit": "ns", + "range": "± 6.629902460781163" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 95.05334708690643, + "unit": "ns", + "range": "± 0.33506275646374295" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 118.47482696601323, + "unit": "ns", + "range": "± 0.7848196882791145" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 223.76999298163824, + "unit": "ns", + "range": "± 0.530843538719113" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 341.3432668958391, + "unit": "ns", + "range": "± 1.2025093591794862" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 85.72982801596324, + "unit": "ns", + "range": "± 0.18350594547018806" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 105.44945743450752, + "unit": "ns", + "range": "± 0.6968127925220136" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 316.0074267727988, + "unit": "ns", + "range": "± 2.042650355555038" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 675.6527880350749, + "unit": "ns", + "range": "± 4.375689102211483" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2f0dbd68aff2f79e7c584cc7a34e570c59fb270d", + "message": "Bump xunit.v3 from 3.0.1 to 3.1.0 (#129)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.1.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-07T19:48:39+02:00", + "tree_id": "eb4f54d4632242a42c5cccc0e8549a351c83ccb2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2f0dbd68aff2f79e7c584cc7a34e570c59fb270d" + }, + "date": 1759859564184, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 244.77928806606093, + "unit": "ns", + "range": "± 5.34011855837768" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 347.6206506192684, + "unit": "ns", + "range": "± 6.851958130323526" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 102.2376505235831, + "unit": "ns", + "range": "± 0.3583320591368217" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 122.46974227978633, + "unit": "ns", + "range": "± 2.1239348669831335" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 186.36308101812998, + "unit": "ns", + "range": "± 1.5605981959450481" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 313.121160920461, + "unit": "ns", + "range": "± 3.167436247169376" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 83.21771138447981, + "unit": "ns", + "range": "± 0.5603474361514064" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 109.61446499029795, + "unit": "ns", + "range": "± 0.7143931803132948" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 274.60965299606323, + "unit": "ns", + "range": "± 1.9968607342887899" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 666.9262391408284, + "unit": "ns", + "range": "± 5.678807678756922" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8b9a2a2eab1916b4e63e5c3d3f9b758ed9c5971a", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.3 to 4.0.7 (#127)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-10-07T20:29:21+02:00", + "tree_id": "2d6cacb7fa190c58af882e58ac79682e536fecd9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8b9a2a2eab1916b4e63e5c3d3f9b758ed9c5971a" + }, + "date": 1759861982809, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 244.16229883829752, + "unit": "ns", + "range": "± 2.4289556632850187" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 324.8699119091034, + "unit": "ns", + "range": "± 3.241285267298102" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 98.5735724568367, + "unit": "ns", + "range": "± 0.3673095873431111" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 118.50194614728292, + "unit": "ns", + "range": "± 0.9925045617428171" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 234.8361961364746, + "unit": "ns", + "range": "± 1.0360501495184613" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 361.39841111501056, + "unit": "ns", + "range": "± 3.3129807027773053" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 91.80007371732167, + "unit": "ns", + "range": "± 0.48616007451480986" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 120.05046706994375, + "unit": "ns", + "range": "± 1.9891387039570376" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 325.4978775024414, + "unit": "ns", + "range": "± 0.5078728781245837" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 667.2743319193522, + "unit": "ns", + "range": "± 4.406069222068655" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "60ad1782e3851f657c35bd1cded8f94c209cd624", + "message": "Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 (#128)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-10-07T20:29:43+02:00", + "tree_id": "7560295ef00e888de67a120634539b39fc1578eb", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/60ad1782e3851f657c35bd1cded8f94c209cd624" + }, + "date": 1759862070099, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 227.05528943879264, + "unit": "ns", + "range": "± 0.6163591618984973" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 324.630895955222, + "unit": "ns", + "range": "± 1.687896047397" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 94.17643736600876, + "unit": "ns", + "range": "± 0.37072208462354234" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 115.43513561884562, + "unit": "ns", + "range": "± 0.5171032267316745" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 225.32515694544867, + "unit": "ns", + "range": "± 0.35166086663995344" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 334.5575124667241, + "unit": "ns", + "range": "± 0.5341229015208613" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 86.9598588517734, + "unit": "ns", + "range": "± 0.7192751461892852" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 108.90278981561246, + "unit": "ns", + "range": "± 2.6614895149138746" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 313.7404889693627, + "unit": "ns", + "range": "± 1.3997055820404236" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 674.8003889083863, + "unit": "ns", + "range": "± 6.886733234276673" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8302c04cffeaeae2c845e3d79104ac1e8fc8b47f", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.7 to 4.0.7.2 (#131)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.7.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-16T21:59:04+02:00", + "tree_id": "1d7fd0914252f2a82d725dc28d937599653c2133", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8302c04cffeaeae2c845e3d79104ac1e8fc8b47f" + }, + "date": 1760645265491, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 290.19131567526836, + "unit": "ns", + "range": "± 17.11277761380699" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 421.6718991831729, + "unit": "ns", + "range": "± 24.445569117459815" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 113.87750142415365, + "unit": "ns", + "range": "± 2.1346784568871993" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 156.04544339895247, + "unit": "ns", + "range": "± 10.00113733112759" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 199.52663373947144, + "unit": "ns", + "range": "± 1.9062843023378346" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 361.1582027435303, + "unit": "ns", + "range": "± 6.767806893444512" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 100.94854659725118, + "unit": "ns", + "range": "± 4.428694172585232" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 149.3839767054906, + "unit": "ns", + "range": "± 7.090082842988273" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 284.5638055460794, + "unit": "ns", + "range": "± 4.812355195494229" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 823.6294461886088, + "unit": "ns", + "range": "± 38.94525033955018" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "128761419c5c2d1a9bc590a9fafefbbd36465227", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.7.2 to 4.0.9.1 (#133)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-27T18:27:58+01:00", + "tree_id": "b43948769fa400f4632f2c980a24fdc39aa04ef0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/128761419c5c2d1a9bc590a9fafefbbd36465227" + }, + "date": 1761586332621, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 239.70219895044963, + "unit": "ns", + "range": "± 3.0307075879026146" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 313.0204929987589, + "unit": "ns", + "range": "± 5.048382010061115" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 97.86252896785736, + "unit": "ns", + "range": "± 0.5934901073373458" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 122.97205252306802, + "unit": "ns", + "range": "± 3.349634367406914" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 240.63031450907388, + "unit": "ns", + "range": "± 1.0322887108519851" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 352.8604484875997, + "unit": "ns", + "range": "± 3.8166611582372014" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 89.55367957353592, + "unit": "ns", + "range": "± 0.8297702855891494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 111.71238224903742, + "unit": "ns", + "range": "± 1.4021369516292632" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 325.0963401158651, + "unit": "ns", + "range": "± 1.104081546764365" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 657.4470733642578, + "unit": "ns", + "range": "± 10.430735040421661" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "041bd7855ddcaa8426cd9958938044ac1a5c2f4b", + "message": "Bump BenchmarkDotNet from 0.15.4 to 0.15.5 (#136)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-04T21:58:11+01:00", + "tree_id": "a6617d74c84f149ad6aa4d3fd205938f008b42bf", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/041bd7855ddcaa8426cd9958938044ac1a5c2f4b" + }, + "date": 1762290140941, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 241.5015434197017, + "unit": "ns", + "range": "± 3.5166122940913667" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 317.031633070537, + "unit": "ns", + "range": "± 3.503668549722614" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 97.9287142583302, + "unit": "ns", + "range": "± 1.130310173206526" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 124.23724622726441, + "unit": "ns", + "range": "± 1.4681170655648041" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 230.9707572221756, + "unit": "ns", + "range": "± 2.2828495060157272" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 372.6076200167338, + "unit": "ns", + "range": "± 3.5816171639381986" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 93.36482584476471, + "unit": "ns", + "range": "± 0.40926812801565016" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 124.04573269844055, + "unit": "ns", + "range": "± 3.309799467565113" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 328.31238394517163, + "unit": "ns", + "range": "± 0.45966423824263397" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 652.6484599113464, + "unit": "ns", + "range": "± 10.727789999629813" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "830d832fe53ef9ece4ca84bfda6c494955d7b527", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.1 to 4.0.9.3 (#134)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-04T21:57:39+01:00", + "tree_id": "44357edb3ed68b66576f1ada9e66dd64282ef591", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/830d832fe53ef9ece4ca84bfda6c494955d7b527" + }, + "date": 1762290168747, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 268.30683359732996, + "unit": "ns", + "range": "± 2.5012331245050867" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 352.9082086245219, + "unit": "ns", + "range": "± 5.715886798781878" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 105.90832055182685, + "unit": "ns", + "range": "± 3.933416728981472" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 151.28588870855478, + "unit": "ns", + "range": "± 1.5518198280552946" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 245.606489108159, + "unit": "ns", + "range": "± 0.5601079056731236" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 367.56763880593434, + "unit": "ns", + "range": "± 0.5556687629172739" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 96.42012802912639, + "unit": "ns", + "range": "± 0.36566518830319905" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 125.93774482182094, + "unit": "ns", + "range": "± 0.7364150872733753" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 330.6537575403849, + "unit": "ns", + "range": "± 1.7808671752815683" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 700.3708100545974, + "unit": "ns", + "range": "± 31.861758727872296" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c4ecb6e6198e1e31f1e82456d985cdc017d3b066", + "message": "Bump xunit.v3 from 3.1.0 to 3.2.0 (#135)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-06T23:29:02+01:00", + "tree_id": "6b42bda464a9e11a414b309d567dca3909e3372c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c4ecb6e6198e1e31f1e82456d985cdc017d3b066" + }, + "date": 1762468391220, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 233.75019867079598, + "unit": "ns", + "range": "± 2.974164177585697" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 310.5857776959737, + "unit": "ns", + "range": "± 5.554507041092281" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 97.45761963923772, + "unit": "ns", + "range": "± 0.5208060897664224" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 121.75440225601196, + "unit": "ns", + "range": "± 0.9446165707541193" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 234.24810538973128, + "unit": "ns", + "range": "± 0.30989580981401216" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 366.40338448115756, + "unit": "ns", + "range": "± 1.8743684941617251" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 93.73149252732595, + "unit": "ns", + "range": "± 0.80052288867245" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 106.05281348625819, + "unit": "ns", + "range": "± 0.6681110542124968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 310.94444986752103, + "unit": "ns", + "range": "± 0.7385294719794754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 624.093949171213, + "unit": "ns", + "range": "± 2.3790722265739634" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "dbc864c41e38c296ed90fbbc259dd9213d99e35b", + "message": "Bump BenchmarkDotNet from 0.15.5 to 0.15.6 (#138)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-15T11:29:30+01:00", + "tree_id": "35d3d8417081c666c1be9c0c092451b6479113be", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/dbc864c41e38c296ed90fbbc259dd9213d99e35b" + }, + "date": 1763202813470, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 249.68429831096105, + "unit": "ns", + "range": "± 2.8470999986791226" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 349.65323505903547, + "unit": "ns", + "range": "± 6.455633717602596" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 100.67554882367452, + "unit": "ns", + "range": "± 0.8297225483387158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 122.50634692509969, + "unit": "ns", + "range": "± 1.3278168976603517" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 230.95868028913225, + "unit": "ns", + "range": "± 0.569856790175673" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 365.45368127822877, + "unit": "ns", + "range": "± 2.517605085041434" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 95.61359097957612, + "unit": "ns", + "range": "± 1.000190869951147" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 117.68598056634268, + "unit": "ns", + "range": "± 1.3854774058547359" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 324.39420187473297, + "unit": "ns", + "range": "± 0.8190562230064741" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 661.1087788263957, + "unit": "ns", + "range": "± 10.045034008634124" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6f99cb576bdae8a84f4b37bd960b24c25158f514", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.3 to 4.0.9.5 (#137)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-15T11:29:47+01:00", + "tree_id": "03753cc1c4b570563fc04e88778ad032b59e4b9d", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/6f99cb576bdae8a84f4b37bd960b24c25158f514" + }, + "date": 1763202861418, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 237.5495205777032, + "unit": "ns", + "range": "± 2.0053957286447193" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 318.05930115381875, + "unit": "ns", + "range": "± 3.918144120117702" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 96.60268257459005, + "unit": "ns", + "range": "± 0.6493591979821045" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 119.11880363821983, + "unit": "ns", + "range": "± 2.6895100076198784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 246.4769048055013, + "unit": "ns", + "range": "± 1.155106659774224" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 351.424507522583, + "unit": "ns", + "range": "± 2.201013519845335" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 87.16141331195831, + "unit": "ns", + "range": "± 0.7810370380405932" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 110.54444262186686, + "unit": "ns", + "range": "± 1.2457368358821392" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 334.6609929891733, + "unit": "ns", + "range": "± 0.8027611692753404" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 647.7442626317342, + "unit": "ns", + "range": "± 5.688894508101016" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5e8a4945300f4d62dd0cc870380c58c45fc14d5b", + "message": "Bump to dotnet 10 (#139)\n\n* Bump version to .NET 10\n\n* Bump pipelines", + "timestamp": "2025-11-17T17:29:25+01:00", + "tree_id": "ce81a98a7c938f9082e88677ba686b857d934550", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5e8a4945300f4d62dd0cc870380c58c45fc14d5b" + }, + "date": 1763397202020, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 231.6511751138247, + "unit": "ns", + "range": "± 1.2848324308691128" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 276.84849681854246, + "unit": "ns", + "range": "± 2.6000902007914592" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 93.36296910506029, + "unit": "ns", + "range": "± 0.20279300779739895" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 83.66546645334789, + "unit": "ns", + "range": "± 0.38236032322146846" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 172.99959194660187, + "unit": "ns", + "range": "± 0.5124361757211895" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 325.62761321434607, + "unit": "ns", + "range": "± 0.694287900001967" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 77.17389629681905, + "unit": "ns", + "range": "± 0.3355551276616144" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 82.09960113366445, + "unit": "ns", + "range": "± 0.5415596198153673" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 243.25618241383478, + "unit": "ns", + "range": "± 0.37094851480417707" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 509.7949301401774, + "unit": "ns", + "range": "± 3.0219194862062766" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "b1a78478f07dc48d4a89ec39e26f60102d8f394a", + "message": "Update benchmark examples", + "timestamp": "2025-11-17T17:46:45+01:00", + "tree_id": "23a11a10a16ce747697b16556954a5eb385a94d8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/b1a78478f07dc48d4a89ec39e26f60102d8f394a" + }, + "date": 1763398229045, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 217.40068757534027, + "unit": "ns", + "range": "± 1.0123288076772907" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 271.1254504067557, + "unit": "ns", + "range": "± 1.965405114952183" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 93.67774525710514, + "unit": "ns", + "range": "± 0.5239152266366939" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 85.649897646904, + "unit": "ns", + "range": "± 1.4481516391641232" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.15602821509043, + "unit": "ns", + "range": "± 1.5547275229205388" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 286.35366681643893, + "unit": "ns", + "range": "± 2.8467016081281895" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 77.88862143754959, + "unit": "ns", + "range": "± 1.2272199142462699" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 84.96300436854362, + "unit": "ns", + "range": "± 1.9521030905375212" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 250.78691479137964, + "unit": "ns", + "range": "± 1.3206863594987752" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 507.12030461629234, + "unit": "ns", + "range": "± 7.03469808864782" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0d61ce390d70f860decb831e48baeba90a9a27b0", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 4.11.0 to 4.14.0 (#130)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-19T19:37:15+01:00", + "tree_id": "b2418fad53be6cbc14088bc8a8c65067c50601a2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0d61ce390d70f860decb831e48baeba90a9a27b0" + }, + "date": 1763577709007, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 238.62253783543903, + "unit": "ns", + "range": "± 3.4015056295550155" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 294.21853260371995, + "unit": "ns", + "range": "± 7.317768880476025" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 93.66565228303274, + "unit": "ns", + "range": "± 0.9894399517056739" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 94.52817436910811, + "unit": "ns", + "range": "± 2.3358279051484194" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 177.66590762138367, + "unit": "ns", + "range": "± 1.1983413894186126" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 366.11422472000123, + "unit": "ns", + "range": "± 8.487758955486553" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 83.89705257232373, + "unit": "ns", + "range": "± 0.6465912822532712" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 93.2115702788035, + "unit": "ns", + "range": "± 1.4881540318162696" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 255.91830904143197, + "unit": "ns", + "range": "± 1.7543857056226242" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 629.1846664065406, + "unit": "ns", + "range": "± 14.580173710450872" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "70d20c81fe252691dbefba74ac344faf641d04f2", + "message": "Bump Microsoft.NET.Test.Sdk from 18.0.0 to 18.0.1 (#142)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.0.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-25T22:08:47+01:00", + "tree_id": "12f0de4ca9ec4edbd39e4fbcc5ce0c566e3d9fde", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/70d20c81fe252691dbefba74ac344faf641d04f2" + }, + "date": 1764105179659, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 219.15954798918503, + "unit": "ns", + "range": "± 2.326121295546251" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 268.75822636286415, + "unit": "ns", + "range": "± 1.370275731372093" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 87.443563580513, + "unit": "ns", + "range": "± 1.0346711073856238" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 82.95500023798509, + "unit": "ns", + "range": "± 1.7992418552450569" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 172.96793332099915, + "unit": "ns", + "range": "± 2.951971890406024" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 284.5672422296861, + "unit": "ns", + "range": "± 5.548216262288409" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 81.29172016041619, + "unit": "ns", + "range": "± 1.381245506119754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 85.7562196413676, + "unit": "ns", + "range": "± 1.6256624793313788" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 251.29977703094482, + "unit": "ns", + "range": "± 0.6426475643679176" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 496.86442680358886, + "unit": "ns", + "range": "± 9.281216645097594" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "676bff83ac85ec348411de09d95fb1d6b3259161", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 4.14.0 to 5.0.0 (#141)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-25T22:10:06+01:00", + "tree_id": "6b603c1d361508a8ffec0369b72b51e7f9f3fa3e", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/676bff83ac85ec348411de09d95fb1d6b3259161" + }, + "date": 1764105240890, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 217.85592208589827, + "unit": "ns", + "range": "± 0.9271143791388813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 270.28698191275964, + "unit": "ns", + "range": "± 0.5267915229684529" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 87.41021061738333, + "unit": "ns", + "range": "± 0.5103197993117268" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 86.93895479043324, + "unit": "ns", + "range": "± 0.47615932681701445" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 169.78014746079077, + "unit": "ns", + "range": "± 0.16654801109839054" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 274.56059752191817, + "unit": "ns", + "range": "± 0.6653560341547301" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 75.97426884514945, + "unit": "ns", + "range": "± 0.1558362350252396" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 80.05252243791308, + "unit": "ns", + "range": "± 0.25315690612998604" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 242.99067429133825, + "unit": "ns", + "range": "± 1.0714422974704367" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 516.6754987716674, + "unit": "ns", + "range": "± 2.4850057400589916" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d2b5b490dfd716f3a6af35a7adf2a63222766e13", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.5 to 4.0.10.1 (#140)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-25T22:11:53+01:00", + "tree_id": "c623acbf219b02f51631e87bcb3717044850a98c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d2b5b490dfd716f3a6af35a7adf2a63222766e13" + }, + "date": 1764105364113, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 226.17657764752707, + "unit": "ns", + "range": "± 1.4899113301719704" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 304.19286715189617, + "unit": "ns", + "range": "± 3.5024339826258823" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 92.31113020976385, + "unit": "ns", + "range": "± 0.7363191471404394" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 92.07159450848897, + "unit": "ns", + "range": "± 1.5670933640008724" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 179.2788759810584, + "unit": "ns", + "range": "± 0.7750075175837511" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 300.2091051101685, + "unit": "ns", + "range": "± 2.5050872782414157" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 86.66955002546311, + "unit": "ns", + "range": "± 0.4941888087853077" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 91.22163276672363, + "unit": "ns", + "range": "± 0.8429139262712178" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 255.82701914127057, + "unit": "ns", + "range": "± 1.1148157407091535" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 545.27734375, + "unit": "ns", + "range": "± 5.420142108641884" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f024941eb95e357d2ba0c311adbbfc38324bd8ce", + "message": "Bump BenchmarkDotNet from 0.15.6 to 0.15.8 (#144)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-03T21:32:55+01:00", + "tree_id": "87bf7f4eb46fe67bdec8cd274bbec4cca5ce53c0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f024941eb95e357d2ba0c311adbbfc38324bd8ce" + }, + "date": 1764794222713, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 209.95988529523214, + "unit": "ns", + "range": "± 3.484682138289215" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 275.7020152807236, + "unit": "ns", + "range": "± 7.828029855026489" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 103.18333906597562, + "unit": "ns", + "range": "± 2.1761494741113387" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 89.17239212195078, + "unit": "ns", + "range": "± 1.5065875129726034" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 176.76220246950786, + "unit": "ns", + "range": "± 2.859610798411328" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 282.9550086430141, + "unit": "ns", + "range": "± 1.8653917925372037" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 77.07385121924537, + "unit": "ns", + "range": "± 0.2687179148460915" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 82.72273001273473, + "unit": "ns", + "range": "± 0.8470400739966435" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 255.78408482869466, + "unit": "ns", + "range": "± 1.5624864889353138" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 496.15320355551586, + "unit": "ns", + "range": "± 4.517627039146323" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a9aa033c019d2b30568999e027a40c7e11ac4d33", + "message": "Bump xunit.v3 from 3.2.0 to 3.2.1 (#143)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-12-03T21:33:14+01:00", + "tree_id": "2f86553a382cecc87801a032d09d5a4ab03863a6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/a9aa033c019d2b30568999e027a40c7e11ac4d33" + }, + "date": 1764794245082, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 215.60082655747732, + "unit": "ns", + "range": "± 2.120246954394446" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 281.6609810511271, + "unit": "ns", + "range": "± 2.330744897399417" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 86.67574107646942, + "unit": "ns", + "range": "± 0.5043630897455219" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 82.83063750664392, + "unit": "ns", + "range": "± 0.8602733645800537" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 173.0547125498454, + "unit": "ns", + "range": "± 0.8775443080268214" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 282.06053031285603, + "unit": "ns", + "range": "± 2.39570547177229" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 82.445330063502, + "unit": "ns", + "range": "± 0.4032685883842342" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 82.79626380999883, + "unit": "ns", + "range": "± 0.49889545968327054" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 249.4607410797706, + "unit": "ns", + "range": "± 0.6866996020201324" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 515.7425003687541, + "unit": "ns", + "range": "± 4.701120981050653" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0e06c6a3f110d1272f37377e21f98e30bdfb0aa3", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.1 to 4.0.10.2 (#145)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-08T19:37:58+01:00", + "tree_id": "5c1e110629c4af80c6dac1cc98726a3380e5cfc3", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0e06c6a3f110d1272f37377e21f98e30bdfb0aa3" + }, + "date": 1765219312555, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 211.0356329679489, + "unit": "ns", + "range": "± 1.6785165103409878" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 267.736746934744, + "unit": "ns", + "range": "± 0.8408695591561381" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 92.48091013828913, + "unit": "ns", + "range": "± 0.3393427130125078" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 83.6311052782195, + "unit": "ns", + "range": "± 0.43616222035128516" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 171.33321402867634, + "unit": "ns", + "range": "± 0.6306603938197249" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 278.7483375469844, + "unit": "ns", + "range": "± 0.8352871689845439" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 79.01655148267746, + "unit": "ns", + "range": "± 0.4222782489518825" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 80.94488942623138, + "unit": "ns", + "range": "± 0.20801759588578475" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 241.60332953135173, + "unit": "ns", + "range": "± 1.0435607143813366" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 509.3304763207069, + "unit": "ns", + "range": "± 3.213153368194121" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6d276403bae447fb27760d0871cf74f1e890d386", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.2 to 4.0.10.4 (#146)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-15T19:47:07+01:00", + "tree_id": "042c0cff0f5e3810799ca0c2fa21d65aaf8074dd", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/6d276403bae447fb27760d0871cf74f1e890d386" + }, + "date": 1765824680868, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 220.0991949263741, + "unit": "ns", + "range": "± 4.375151503719492" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 270.346495951925, + "unit": "ns", + "range": "± 7.84488672539404" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 100.89179861942927, + "unit": "ns", + "range": "± 1.270585454170989" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 89.12702234302249, + "unit": "ns", + "range": "± 1.4333640987065202" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.71400153636932, + "unit": "ns", + "range": "± 1.7683575126054973" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 280.045823542277, + "unit": "ns", + "range": "± 1.4891238878255624" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 81.01398171583811, + "unit": "ns", + "range": "± 0.7154316616820616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 82.78672233422597, + "unit": "ns", + "range": "± 0.7477681115504363" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 254.26654914220174, + "unit": "ns", + "range": "± 1.0865268350675175" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 495.9416860580444, + "unit": "ns", + "range": "± 3.520132005152904" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e796b408df191de1a49254ff7512233699a27e81", + "message": "Support both dotnet 8 and 10 (#147)\n\n\n* remove benchmark files", + "timestamp": "2025-12-15T20:15:54+01:00", + "tree_id": "ec1d266ba443890ffd40e26b9871e0224b27b687", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e796b408df191de1a49254ff7512233699a27e81" + }, + "date": 1765826389551, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 203.66075507232122, + "unit": "ns", + "range": "± 1.0406096696358433" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 272.6665366590023, + "unit": "ns", + "range": "± 5.038417018083697" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 98.42202205260595, + "unit": "ns", + "range": "± 0.4703017984851634" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 79.2684240426336, + "unit": "ns", + "range": "± 0.5751314322917053" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 171.9865689277649, + "unit": "ns", + "range": "± 0.4306344855164543" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 273.92095960889543, + "unit": "ns", + "range": "± 0.8733954653814432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 77.5445350488027, + "unit": "ns", + "range": "± 0.3064563727141589" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 80.9763963648251, + "unit": "ns", + "range": "± 0.816252940045698" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 279.7821427981059, + "unit": "ns", + "range": "± 2.086317643381153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 506.49537963867186, + "unit": "ns", + "range": "± 1.1433703797842716" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "1fa98ca55a11ab87636f4bb77ce6b4a69adafac8", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.4 to 4.0.10.5 (#149)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-06T21:09:53+01:00", + "tree_id": "b8412797e78fead403456d9c87a96824efa548d7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/1fa98ca55a11ab87636f4bb77ce6b4a69adafac8" + }, + "date": 1767730511239, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 216.52383131640298, + "unit": "ns", + "range": "± 3.047862156355637" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 301.51957114537555, + "unit": "ns", + "range": "± 7.246945771938056" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 99.48401962916056, + "unit": "ns", + "range": "± 1.0066070300411385" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 91.27930426895618, + "unit": "ns", + "range": "± 3.3110789459403507" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 181.383185227712, + "unit": "ns", + "range": "± 0.9125297033416241" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 302.07151838143665, + "unit": "ns", + "range": "± 6.618235330102532" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 85.20142151117325, + "unit": "ns", + "range": "± 1.5853455147090598" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 88.06347372495767, + "unit": "ns", + "range": "± 2.8937815897754637" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 400.2833554267883, + "unit": "ns", + "range": "± 1.1477514770424304" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 562.0461755845605, + "unit": "ns", + "range": "± 20.164507132170552" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3416372ec96eac27fb57b620f18a017d324cb39b", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.5 to 4.0.10.7 (#150)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-12T23:23:11+01:00", + "tree_id": "bdac973c5d947c461d44a4307cd1234fa09ec328", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3416372ec96eac27fb57b620f18a017d324cb39b" + }, + "date": 1768256846340, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 220.42960846424103, + "unit": "ns", + "range": "± 2.111939849000404" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 293.0113452339172, + "unit": "ns", + "range": "± 7.9212796554955105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 96.46242475907007, + "unit": "ns", + "range": "± 0.8638613242787424" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 88.80576532681783, + "unit": "ns", + "range": "± 1.178243335054338" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.16313734054566, + "unit": "ns", + "range": "± 1.3667746928355025" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 315.96355028152465, + "unit": "ns", + "range": "± 4.24320386423636" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 82.30137931108474, + "unit": "ns", + "range": "± 1.3183433744695432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 87.40171478075139, + "unit": "ns", + "range": "± 1.7900576164497866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 249.9299018042428, + "unit": "ns", + "range": "± 1.2038224205326886" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 559.0932659573025, + "unit": "ns", + "range": "± 11.273139650956475" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d11d79360ab749248da0be405b4445330b2a857b", + "message": "Bump xunit.v3 from 3.2.1 to 3.2.2 (#152)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-20T18:58:11+01:00", + "tree_id": "46f0c5d8efafc035394bf2f41fe3543406babf76", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d11d79360ab749248da0be405b4445330b2a857b" + }, + "date": 1768932148716, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 212.32508778572083, + "unit": "ns", + "range": "± 1.8239328554336105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 264.86465711593627, + "unit": "ns", + "range": "± 3.585518538062937" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 90.83725924094519, + "unit": "ns", + "range": "± 0.8150989457029553" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 81.69053201492017, + "unit": "ns", + "range": "± 1.9425798392466929" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 167.78928489685057, + "unit": "ns", + "range": "± 2.560730181636309" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 266.83879912694294, + "unit": "ns", + "range": "± 3.140698370891452" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 77.14808152119319, + "unit": "ns", + "range": "± 0.6915613952836728" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 78.63195546070735, + "unit": "ns", + "range": "± 0.9333695067102247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 237.22364592552185, + "unit": "ns", + "range": "± 2.416421993594057" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 480.2866437775748, + "unit": "ns", + "range": "± 6.642967295600166" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "16fd768caec892238f03d79fea639afb555b6d46", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.7 to 4.0.10.8 (#151)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-01-20T18:58:33+01:00", + "tree_id": "b4010be73dd32f8d152afaa0de4a1e38cbb35499", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/16fd768caec892238f03d79fea639afb555b6d46" + }, + "date": 1768932152855, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 218.22288275559742, + "unit": "ns", + "range": "± 2.5946633884050976" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 284.8720992406209, + "unit": "ns", + "range": "± 4.426244698808065" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 89.3102402528127, + "unit": "ns", + "range": "± 1.1279093382959384" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 86.08763760678909, + "unit": "ns", + "range": "± 1.603426953555717" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.87073197364808, + "unit": "ns", + "range": "± 1.7143943578324616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 289.32276368141174, + "unit": "ns", + "range": "± 3.769583962092185" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 81.55280550320943, + "unit": "ns", + "range": "± 0.7221089989375368" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 83.68088170687358, + "unit": "ns", + "range": "± 1.490623679111311" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 249.22935905456544, + "unit": "ns", + "range": "± 1.9510974949836186" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 625.8619045893352, + "unit": "ns", + "range": "± 6.311001457873699" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5135f67fe1e7577652c77d17711cb0f16cdc7ab2", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.8 to 4.0.11 (#153)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-29T21:30:15+01:00", + "tree_id": "315991da7966aa7b121b5272d4db2f757a0ac70b", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5135f67fe1e7577652c77d17711cb0f16cdc7ab2" + }, + "date": 1769718990650, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 224.05583531326718, + "unit": "ns", + "range": "± 7.520380166654514" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 290.4929572922843, + "unit": "ns", + "range": "± 14.292499185719722" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 104.15793232917785, + "unit": "ns", + "range": "± 1.8610631097318504" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 91.29245233222058, + "unit": "ns", + "range": "± 2.0835183984049026" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 181.6268410852977, + "unit": "ns", + "range": "± 1.4485052944053058" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 289.8209547066107, + "unit": "ns", + "range": "± 10.43811720638091" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 81.25124286827834, + "unit": "ns", + "range": "± 2.053090168304862" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 89.04596342911591, + "unit": "ns", + "range": "± 4.6081026325403425" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 254.47096881866455, + "unit": "ns", + "range": "± 2.0651506486687063" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 543.9467712938786, + "unit": "ns", + "range": "± 15.46054649056446" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e5982829b7409737277eddb5a9076dc422f5f4e", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.11 to 4.0.14 (#155)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.14\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-02-09T10:56:44+01:00", + "tree_id": "46da6da1762f2b2d4d17689cd6d3f557052d9c1f", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3e5982829b7409737277eddb5a9076dc422f5f4e" + }, + "date": 1770631262282, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 232.06121660868328, + "unit": "ns", + "range": "± 3.1662118928831573" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 293.3948708852132, + "unit": "ns", + "range": "± 4.153869047936343" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 98.3652529487243, + "unit": "ns", + "range": "± 0.3685716857961377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 92.45410906473795, + "unit": "ns", + "range": "± 1.2298239451221127" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 186.41393632888793, + "unit": "ns", + "range": "± 0.8291433248815526" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 312.666547196252, + "unit": "ns", + "range": "± 2.5725199179158715" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 85.22182026276222, + "unit": "ns", + "range": "± 0.8526448569499848" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 93.60174795596495, + "unit": "ns", + "range": "± 2.3779852321940784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 252.59878103549664, + "unit": "ns", + "range": "± 0.35815968747423205" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 586.6356536229451, + "unit": "ns", + "range": "± 6.005906280701328" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f81c10588869561783cc8cf73f3bbac9473e4dd1", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.14 to 4.0.14.1 (#156)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.14.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-02-26T22:55:02+01:00", + "tree_id": "12c801ee41a03ea637c86e6f02f1458eed322d35", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f81c10588869561783cc8cf73f3bbac9473e4dd1" + }, + "date": 1772143161709, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 217.69381947517394, + "unit": "ns", + "range": "± 3.9404078302499697" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 280.360147857666, + "unit": "ns", + "range": "± 3.2950815325685707" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 87.9849088412744, + "unit": "ns", + "range": "± 2.5370292087383346" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 84.99748596350352, + "unit": "ns", + "range": "± 0.9812332030779053" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.51194500923157, + "unit": "ns", + "range": "± 1.437274622605152" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 288.2858812650045, + "unit": "ns", + "range": "± 5.170231655761029" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 78.09949382146199, + "unit": "ns", + "range": "± 1.4564807955990038" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 83.6121863424778, + "unit": "ns", + "range": "± 1.2760055224409244" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 249.03098929723103, + "unit": "ns", + "range": "± 2.0694938173424924" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 544.5955226580302, + "unit": "ns", + "range": "± 16.061777581101534" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9bb231b7f7acd559c7098e4de4f47387b1bf883c", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.14.1 to 4.0.15 (#157)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.15\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-03-06T22:17:10+01:00", + "tree_id": "bddaf78376ad6e4c90970d0c710e0ece6231ad6a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9bb231b7f7acd559c7098e4de4f47387b1bf883c" + }, + "date": 1772832077353, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 240.36615104675292, + "unit": "ns", + "range": "± 4.059789767530902" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 299.66458759307864, + "unit": "ns", + "range": "± 5.072537570622052" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 90.27054712772369, + "unit": "ns", + "range": "± 1.5152972729801817" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 93.01070357286014, + "unit": "ns", + "range": "± 2.6183949229438683" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.7940991560618, + "unit": "ns", + "range": "± 2.325171414360446" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 311.9666619618734, + "unit": "ns", + "range": "± 4.087786477494885" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 83.99945334877286, + "unit": "ns", + "range": "± 1.0967467011818908" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 93.69227775505611, + "unit": "ns", + "range": "± 1.209515842163787" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 252.12879852148203, + "unit": "ns", + "range": "± 0.9250229041669673" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 519.3926923274994, + "unit": "ns", + "range": "± 13.410268940017842" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "96b220ccd5644fd656ed779e2aec90a3f4837498", + "message": "Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0 (#158)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.3.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-06T22:16:48+01:00", + "tree_id": "bd4f5c1c74016257f22fe6be5d6fdb37a9e8e5b3", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/96b220ccd5644fd656ed779e2aec90a3f4837498" + }, + "date": 1772832079771, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 217.4281937122345, + "unit": "ns", + "range": "± 2.187613300747315" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 278.81189483006796, + "unit": "ns", + "range": "± 2.9908039158911" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 94.51920719146729, + "unit": "ns", + "range": "± 0.8743844314131807" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 86.5211660583814, + "unit": "ns", + "range": "± 1.4858037710754635" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.6453720887502, + "unit": "ns", + "range": "± 1.2806493055268628" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 291.78712304433185, + "unit": "ns", + "range": "± 2.4886137260212444" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 80.877481396993, + "unit": "ns", + "range": "± 0.9171671621175745" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 84.66601498524348, + "unit": "ns", + "range": "± 0.8672740768310694" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 253.8180664698283, + "unit": "ns", + "range": "± 2.1317072333132194" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 530.2767906337976, + "unit": "ns", + "range": "± 24.52244703582966" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9551a1cbbd6be0bdc08075646b342e03326ddc43", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.15 to 4.0.15.2 (#159)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.15.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-17T20:32:09+01:00", + "tree_id": "d593cc44e6dfeda92130757e4dc88780ed74c4aa", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9551a1cbbd6be0bdc08075646b342e03326ddc43" + }, + "date": 1773776179395, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 226.78612716574418, + "unit": "ns", + "range": "± 4.923103675668867" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 285.0410096804301, + "unit": "ns", + "range": "± 3.8241737136836456" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 101.70795314311981, + "unit": "ns", + "range": "± 0.9270536519113889" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 84.99140808582305, + "unit": "ns", + "range": "± 1.2106200296213823" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.6956996122996, + "unit": "ns", + "range": "± 1.4710110164126968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 295.898188940684, + "unit": "ns", + "range": "± 2.2532403582740637" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 78.94895927508672, + "unit": "ns", + "range": "± 0.577890813507824" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 89.27102902730306, + "unit": "ns", + "range": "± 1.62165960998144" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 247.64167857170105, + "unit": "ns", + "range": "± 0.6476242791746043" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 523.7095713933309, + "unit": "ns", + "range": "± 5.7569166723507035" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "eae8876ad5a9ff623e0007cf1e0be237ff731ce2", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 5.0.0 to 5.3.0 (#160)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.3.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-03-17T20:35:24+01:00", + "tree_id": "d08c03cb97d0ea4828e995bca64eaa2ad2348db6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/eae8876ad5a9ff623e0007cf1e0be237ff731ce2" + }, + "date": 1773776368328, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 243.50403371224036, + "unit": "ns", + "range": "± 1.1745086812601424" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 325.40119293757846, + "unit": "ns", + "range": "± 1.5162629823661296" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 94.05471844275793, + "unit": "ns", + "range": "± 0.27746813212030375" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 96.91373728116353, + "unit": "ns", + "range": "± 1.1223143572628869" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 179.864919368426, + "unit": "ns", + "range": "± 0.2929287843801671" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 293.47770181069006, + "unit": "ns", + "range": "± 0.540797456169516" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 86.15756534678596, + "unit": "ns", + "range": "± 0.20401214084614325" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 97.74825641087124, + "unit": "ns", + "range": "± 0.6948407561172433" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 239.23733035723367, + "unit": "ns", + "range": "± 0.5119198437591492" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 578.530383682251, + "unit": "ns", + "range": "± 2.779175588361218" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "35603596a56f31a01e2c0ab99181a7092ba367f9", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.15.2 to 4.0.17.3 (#162)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-31T22:54:22+02:00", + "tree_id": "a9294311c6f8a04b3171f79d139f55d7416cc6ec", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/35603596a56f31a01e2c0ab99181a7092ba367f9" + }, + "date": 1774990723697, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 231.01302981376648, + "unit": "ns", + "range": "± 1.8962678130540997" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 382.0751839319865, + "unit": "ns", + "range": "± 3.137351138606968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 91.15697872241338, + "unit": "ns", + "range": "± 0.2371300807621841" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 94.53976049423218, + "unit": "ns", + "range": "± 0.762556190670357" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.85057498727525, + "unit": "ns", + "range": "± 0.26658537268747695" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 305.29244902928673, + "unit": "ns", + "range": "± 2.204840753334272" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 85.23967303037644, + "unit": "ns", + "range": "± 0.43844055512315905" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 99.86036729812622, + "unit": "ns", + "range": "± 0.5857367378492183" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 253.1891597679683, + "unit": "ns", + "range": "± 0.6383703963501265" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 600.3817167282104, + "unit": "ns", + "range": "± 2.534635344382658" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e51851f8e32eaaa1bcc476fef75d9f526adde69d", + "message": "Bump Microsoft.NET.Test.Sdk from 18.3.0 to 18.4.0 (#165)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.4.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-13T08:41:15+02:00", + "tree_id": "987da05a5f1fc70a6b3f23a7ca94fb2de8459d49", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e51851f8e32eaaa1bcc476fef75d9f526adde69d" + }, + "date": 1776062710049, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 214.57656131471907, + "unit": "ns", + "range": "± 1.8746496691616188" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 281.7238352457682, + "unit": "ns", + "range": "± 3.4971850120262795" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 85.54856108427047, + "unit": "ns", + "range": "± 0.26277257488309624" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 91.89572006861368, + "unit": "ns", + "range": "± 1.1613845712973787" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 170.64116291816418, + "unit": "ns", + "range": "± 0.5139973357605144" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 344.0303244223961, + "unit": "ns", + "range": "± 1.9902606430490994" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 78.1552579164505, + "unit": "ns", + "range": "± 0.4027747234976004" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 86.93374001979828, + "unit": "ns", + "range": "± 0.6641405435532782" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 236.5578101021903, + "unit": "ns", + "range": "± 0.5705491290658335" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 599.108052889506, + "unit": "ns", + "range": "± 9.610645136110586" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c585d6c5747d64661695a8602da68d8da3cd7455", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.3 to 4.0.17.8 (#164)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-04-13T08:43:32+02:00", + "tree_id": "4059579b9744decc3d6337658a4f6dbe596da1ae", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c585d6c5747d64661695a8602da68d8da3cd7455" + }, + "date": 1776062848573, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 194.48594399860926, + "unit": "ns", + "range": "± 0.9830705255233548" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 260.54857006439795, + "unit": "ns", + "range": "± 0.9690499768086082" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 90.0902782862003, + "unit": "ns", + "range": "± 0.19103700379001484" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 86.85909830331802, + "unit": "ns", + "range": "± 0.48567922773594" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 168.26734142644065, + "unit": "ns", + "range": "± 0.6156219230440041" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 370.2724707285563, + "unit": "ns", + "range": "± 2.147088421341388" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 75.98883425272427, + "unit": "ns", + "range": "± 0.201216020683878" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 84.11283135414124, + "unit": "ns", + "range": "± 0.20440980969052636" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 242.19513968058996, + "unit": "ns", + "range": "± 1.655921955491549" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 557.5786042580238, + "unit": "ns", + "range": "± 2.262788101272286" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "191f38e1817e5d8be8ee93fb2f0931a3fb605cce", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.8 to 4.0.17.9 (#166)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.9\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-21T22:03:20+02:00", + "tree_id": "592a926476855a3d3ba97033bda98268586c8128", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/191f38e1817e5d8be8ee93fb2f0931a3fb605cce" + }, + "date": 1776802038415, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 155.73026356330286, + "unit": "ns", + "range": "± 0.7725776694139196" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 206.54871359666188, + "unit": "ns", + "range": "± 0.45114779787033793" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 67.33122347593307, + "unit": "ns", + "range": "± 0.2878438303024986" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 67.98690464666912, + "unit": "ns", + "range": "± 0.524987320000339" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 135.98669401236944, + "unit": "ns", + "range": "± 0.8629447663651794" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 264.6433890024821, + "unit": "ns", + "range": "± 0.8596486789967388" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 59.79040064982006, + "unit": "ns", + "range": "± 0.28629873655423366" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 69.40481428589139, + "unit": "ns", + "range": "± 0.7933390200001519" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 189.67948807988847, + "unit": "ns", + "range": "± 0.4394985305045315" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 454.9744965689523, + "unit": "ns", + "range": "± 2.280561317098897" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "320b572fd8a6775423d53f107b4c8130289ebd80", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.9 to 4.0.17.11 (#167)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-27T21:31:21+02:00", + "tree_id": "d8c461273b57e9432651dd2c0c9b594f4a00df99", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/320b572fd8a6775423d53f107b4c8130289ebd80" + }, + "date": 1777318531634, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 208.46105330330985, + "unit": "ns", + "range": "± 1.1592421347376551" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 283.03523518244424, + "unit": "ns", + "range": "± 3.1345565190220666" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 85.44521402517954, + "unit": "ns", + "range": "± 1.0542699871090997" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 87.37133156061172, + "unit": "ns", + "range": "± 1.6487273962379299" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.19451367060344, + "unit": "ns", + "range": "± 2.1216461547093655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 297.53193305333457, + "unit": "ns", + "range": "± 3.199038275706494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 83.02969984213512, + "unit": "ns", + "range": "± 1.3738976389982354" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 83.68838424342019, + "unit": "ns", + "range": "± 0.9900977987686754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 255.15807710375105, + "unit": "ns", + "range": "± 1.9464350513879343" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 556.9955744171143, + "unit": "ns", + "range": "± 14.443572549971064" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d7706bfc7938c2cb642c6015d4cb7563fdc843b0", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.11 to 4.0.18 (#169)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-09T20:59:15+02:00", + "tree_id": "277499a22aefb990d3568e3834833ba8635fcb34", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d7706bfc7938c2cb642c6015d4cb7563fdc843b0" + }, + "date": 1778353412725, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 242.59487431844076, + "unit": "ns", + "range": "± 1.4875037342117519" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 327.3469990412394, + "unit": "ns", + "range": "± 1.6410220086370468" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 94.21634118556976, + "unit": "ns", + "range": "± 0.4164314215171731" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 97.27274575600258, + "unit": "ns", + "range": "± 0.572289684039026" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 174.67045305569965, + "unit": "ns", + "range": "± 0.5515950523929066" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 305.1954050064087, + "unit": "ns", + "range": "± 0.8800797542399206" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 86.36184301773707, + "unit": "ns", + "range": "± 0.3066328491486153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 100.66626782019934, + "unit": "ns", + "range": "± 0.97241519405292" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 232.33606144360132, + "unit": "ns", + "range": "± 0.8684566446183194" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 620.8169426600139, + "unit": "ns", + "range": "± 5.334008521865715" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0ae4a7f57ce6e27decf8f152492bb80801ac61d5", + "message": "Bump Microsoft.NET.Test.Sdk from 18.4.0 to 18.5.1 (#168)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.5.1\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-05-09T20:59:48+02:00", + "tree_id": "556aca280ff29463987ef80d4d53495b584b95e8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0ae4a7f57ce6e27decf8f152492bb80801ac61d5" + }, + "date": 1778353429681, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 207.92589260737103, + "unit": "ns", + "range": "± 2.5744767428341695" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 271.08713760375974, + "unit": "ns", + "range": "± 4.622379832689491" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 92.26851474321805, + "unit": "ns", + "range": "± 0.23665065654428363" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 85.50117705663045, + "unit": "ns", + "range": "± 0.7771146284573675" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 174.28179114205497, + "unit": "ns", + "range": "± 0.46434293902320717" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 271.2711450372423, + "unit": "ns", + "range": "± 1.1363031094466038" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 78.24243914087613, + "unit": "ns", + "range": "± 0.3293145661409235" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 80.71518119743892, + "unit": "ns", + "range": "± 0.5495894586225932" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 248.68520317077636, + "unit": "ns", + "range": "± 2.2033041958530917" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 510.1172000249227, + "unit": "ns", + "range": "± 9.264018232935191" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "275741c1ecd18d47d3717d1bc346a003eec677a9", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18 to 4.0.18.1 (#170)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-11T18:59:52+02:00", + "tree_id": "c1cba91e11c2c9ffd252abdf1f0ec4d4c895ba55", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/275741c1ecd18d47d3717d1bc346a003eec677a9" + }, + "date": 1778519079369, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 220.7768545781865, + "unit": "ns", + "range": "± 9.09835547843398" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 280.28362961819295, + "unit": "ns", + "range": "± 6.226452450413131" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 93.97033112843832, + "unit": "ns", + "range": "± 0.4909074364911905" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 82.82749631313177, + "unit": "ns", + "range": "± 0.5801241401103813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 216.63115332807814, + "unit": "ns", + "range": "± 0.6581101065798468" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 281.27141771997725, + "unit": "ns", + "range": "± 1.7127538113910483" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 80.01119773387909, + "unit": "ns", + "range": "± 0.82895666681393" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 83.67655923763911, + "unit": "ns", + "range": "± 0.8908243127937522" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 244.66304941177367, + "unit": "ns", + "range": "± 0.7701144949831136" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 509.44732849938526, + "unit": "ns", + "range": "± 3.664728582732482" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "82c77f98f5be05bd2396178c729b0bb3ddcfe84a", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.1 to 4.0.18.4 (#171)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-18T21:08:55+02:00", + "tree_id": "2361192e708579b5bc9fc74c91133424d091327b", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/82c77f98f5be05bd2396178c729b0bb3ddcfe84a" + }, + "date": 1779131565633, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 195.6867463680414, + "unit": "ns", + "range": "± 0.4656505368371843" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 269.473331228892, + "unit": "ns", + "range": "± 1.4920652874816283" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 85.8145549251483, + "unit": "ns", + "range": "± 0.1333309858325447" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 91.56110695997874, + "unit": "ns", + "range": "± 1.273339682933151" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 169.2536558004526, + "unit": "ns", + "range": "± 0.2547339679563363" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 330.56982266108196, + "unit": "ns", + "range": "± 1.1532986000395338" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 77.68169010480246, + "unit": "ns", + "range": "± 0.29076479586451665" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 82.87194029092788, + "unit": "ns", + "range": "± 0.21071141830096132" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 242.43810309682573, + "unit": "ns", + "range": "± 0.5511885377563025" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 558.9026877539499, + "unit": "ns", + "range": "± 1.147733706634154" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9826cb3a7af39e6ea8ebe5cd2f5aef525ebc1a37", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.4 to 4.0.18.6 (#173)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-01T22:07:49+02:00", + "tree_id": "d7d32291af79735f95a1e0cd7cb19cfd44e5043a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9826cb3a7af39e6ea8ebe5cd2f5aef525ebc1a37" + }, + "date": 1780344716158, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 195.5108198438372, + "unit": "ns", + "range": "± 1.0082540606147616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 271.06731235063995, + "unit": "ns", + "range": "± 1.619468187621205" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 85.15341635261264, + "unit": "ns", + "range": "± 0.7481801537862778" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 92.39161689281464, + "unit": "ns", + "range": "± 1.1780184553485433" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 173.50501363618034, + "unit": "ns", + "range": "± 0.28536636202197907" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 338.8416913105891, + "unit": "ns", + "range": "± 1.1348607764453589" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 79.69629445870717, + "unit": "ns", + "range": "± 0.30889508422482737" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 86.0925534917758, + "unit": "ns", + "range": "± 0.6939846293168305" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 232.49153029001675, + "unit": "ns", + "range": "± 0.46057449015118374" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 636.5219842910767, + "unit": "ns", + "range": "± 7.067186610507119" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "085af0d3621ff0c2cb0ee8f16315668b0b9f51f5", + "message": "Bump Microsoft.NET.Test.Sdk from 18.5.1 to 18.6.0 (#174)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.6.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-06-01T22:08:12+02:00", + "tree_id": "cc99b241d492ceea543393e3e17ebe8c07b375ed", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/085af0d3621ff0c2cb0ee8f16315668b0b9f51f5" + }, + "date": 1780344966585, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 238.4532928353264, + "unit": "ns", + "range": "± 8.72340838145592" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 338.44525933265686, + "unit": "ns", + "range": "± 13.736058544505651" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 106.12366247177124, + "unit": "ns", + "range": "± 1.7245530273200131" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 103.56200394103693, + "unit": "ns", + "range": "± 5.53588528851235" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 194.96122823556263, + "unit": "ns", + "range": "± 1.2593306469147039" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 316.2951249758402, + "unit": "ns", + "range": "± 5.42857780727797" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 94.14368460973104, + "unit": "ns", + "range": "± 1.2993262666421166" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 101.06921110033988, + "unit": "ns", + "range": "± 8.387683459101993" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 268.45012378692627, + "unit": "ns", + "range": "± 1.3117637003830818" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 578.1165948925596, + "unit": "ns", + "range": "± 18.35557102065325" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ff994bc67c2fc5959bd04c4641cd9aacf0477289", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.6 to 4.0.20 (#175)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.20\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-09T21:00:57+02:00", + "tree_id": "c94b6bbc5a19a7c8e76f568b23fcd94a0118efbb", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/ff994bc67c2fc5959bd04c4641cd9aacf0477289" + }, + "date": 1781032003201, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 210.11985947688422, + "unit": "ns", + "range": "± 1.5824286535576646" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 271.5969552312578, + "unit": "ns", + "range": "± 4.119879960917421" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 98.14859971205394, + "unit": "ns", + "range": "± 1.6653587935313103" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 87.64714018225669, + "unit": "ns", + "range": "± 5.437545121469296" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 179.95552393595378, + "unit": "ns", + "range": "± 2.6017403023154095" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 304.1835203511374, + "unit": "ns", + "range": "± 1.9719258493906184" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 79.24105155467987, + "unit": "ns", + "range": "± 0.31510658479830345" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 83.84725662595348, + "unit": "ns", + "range": "± 3.0189981226247564" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 248.9242909749349, + "unit": "ns", + "range": "± 2.093462152858238" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 554.8124971934727, + "unit": "ns", + "range": "± 18.362686306719173" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0cef3578195bb9de911f0264c4fb6d70f1215fdc", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.20 to 4.0.21.6 (#177)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.21.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-22T21:48:14+02:00", + "tree_id": "e8e9c338d1efbebb39ae8beed3547710736b6d1e", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0cef3578195bb9de911f0264c4fb6d70f1215fdc" + }, + "date": 1782157928662, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 210.8373817886625, + "unit": "ns", + "range": "± 1.2868184338316595" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 269.41407544796283, + "unit": "ns", + "range": "± 1.1296025886885526" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 93.10355128049851, + "unit": "ns", + "range": "± 0.4251604214174964" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 82.18690499862035, + "unit": "ns", + "range": "± 0.39265962227845885" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 179.94133045123175, + "unit": "ns", + "range": "± 0.4443539897575372" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 277.06921374003093, + "unit": "ns", + "range": "± 1.4349228555960034" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 81.43844231764476, + "unit": "ns", + "range": "± 0.45533836133306405" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 80.48442931572596, + "unit": "ns", + "range": "± 0.39144158904804494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 246.62676083246868, + "unit": "ns", + "range": "± 1.2517841671347114" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 593.0476070812771, + "unit": "ns", + "range": "± 3.2577069348990877" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "4267453453eab2e2c8dd3f0cc21ea468ce9e4746", + "message": "Bump Microsoft.NET.Test.Sdk from 18.6.0 to 18.7.0 (#179)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.7.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-02T12:17:37+02:00", + "tree_id": "3e86aa2f63c0b74c8bf4302d036e06881c05d69c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/4267453453eab2e2c8dd3f0cc21ea468ce9e4746" + }, + "date": 1782987685659, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 206.77237372738975, + "unit": "ns", + "range": "± 1.3058692358298023" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 270.1900542894999, + "unit": "ns", + "range": "± 0.8599783399148068" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 92.26729731559753, + "unit": "ns", + "range": "± 0.19550958136062901" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 80.43154254555702, + "unit": "ns", + "range": "± 0.27095078160410946" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 180.34027220521654, + "unit": "ns", + "range": "± 0.4256487744334088" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 277.16628078313977, + "unit": "ns", + "range": "± 0.791188533725059" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 77.98484795434135, + "unit": "ns", + "range": "± 0.2963859105418284" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 80.66428465445837, + "unit": "ns", + "range": "± 0.6078061624142265" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 243.29570266178675, + "unit": "ns", + "range": "± 1.3595486545675093" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 504.67707754770913, + "unit": "ns", + "range": "± 4.025919321351648" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8aa78cff1756e770c03fb1f3059ce8e6b076a33d", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.21.6 to 4.0.21.7 (#178)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.21.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-02T12:17:50+02:00", + "tree_id": "c0fc515757c2299f6b85a1e488424250e4bbf037", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8aa78cff1756e770c03fb1f3059ce8e6b076a33d" + }, + "date": 1782987702090, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 228.93066803614298, + "unit": "ns", + "range": "± 1.994608439036191" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 287.8086269242423, + "unit": "ns", + "range": "± 2.394223625928866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 95.70392884526935, + "unit": "ns", + "range": "± 0.8038048481046668" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 88.39454890886942, + "unit": "ns", + "range": "± 1.4823929654184784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 178.46376003424328, + "unit": "ns", + "range": "± 1.2154782207878465" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 282.91715784072875, + "unit": "ns", + "range": "± 3.379865560066022" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 83.39789129679019, + "unit": "ns", + "range": "± 0.7394299178168061" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 86.27958758274714, + "unit": "ns", + "range": "± 1.1002517757839723" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 250.06803345680237, + "unit": "ns", + "range": "± 1.90118302110185" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 530.9053082466125, + "unit": "ns", + "range": "± 5.968904573017527" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "57692c5db2aef93dc9085a3f1603de03713d3904", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.21.7 to 4.0.100.2 (#180)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.100.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-06T08:32:44+02:00", + "tree_id": "56d5ab706d6703926e09a91f01f900adc871df21", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/57692c5db2aef93dc9085a3f1603de03713d3904" + }, + "date": 1783319800046, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 239.11270647782547, + "unit": "ns", + "range": "± 1.1279726809942028" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 306.88849455969677, + "unit": "ns", + "range": "± 4.0648076579300465" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 97.21351466008595, + "unit": "ns", + "range": "± 0.32099191907174923" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 90.82302329173454, + "unit": "ns", + "range": "± 0.8604747143406486" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 184.54185523986817, + "unit": "ns", + "range": "± 0.5972328254938568" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 305.04590937296547, + "unit": "ns", + "range": "± 2.9364170860857364" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 84.8384952885764, + "unit": "ns", + "range": "± 0.4482813892878708" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 91.1142989595731, + "unit": "ns", + "range": "± 0.8200563724753611" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 253.58410160882133, + "unit": "ns", + "range": "± 0.5113597579474812" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 578.8384724934896, + "unit": "ns", + "range": "± 3.7092722845808748" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c9b990b7d4ba58681148987db27f744e9e13c349", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 5.3.0 to 5.6.0 (#181)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.6.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-06T08:32:34+02:00", + "tree_id": "ccb308e034954138aaac5c49b6eeb905e4702738", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c9b990b7d4ba58681148987db27f744e9e13c349" + }, + "date": 1783319800078, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_Dictionary", + "value": 205.96261535372054, + "unit": "ns", + "range": "± 1.5614755533487283" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_Dictionary", + "value": 283.4694663365682, + "unit": "ns", + "range": "± 4.295796746057718" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringHashSet", + "value": 88.49211813722339, + "unit": "ns", + "range": "± 0.2485318045586866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringHashSet", + "value": 95.51164446427272, + "unit": "ns", + "range": "± 0.4757833240476747" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_StringList", + "value": 170.43058189061972, + "unit": "ns", + "range": "± 0.8116165066474447" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_StringList", + "value": 338.9215278966086, + "unit": "ns", + "range": "± 2.3272721489926655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_IntHashSet", + "value": 80.70386887391409, + "unit": "ns", + "range": "± 0.6425417921237494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_IntHashSet", + "value": 88.76691899299621, + "unit": "ns", + "range": "± 0.9719019594770657" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Unmarshall_KeyValuePairList", + "value": 316.757588895162, + "unit": "ns", + "range": "± 0.4971605695862293" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.CollectionBenchmarks.Marshall_KeyValuePairList", + "value": 622.3991205851237, + "unit": "ns", + "range": "± 3.4349503102012027" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/benchmarks/marshalling/collection/index.html b/benchmarks/marshalling/collection/index.html new file mode 100644 index 00000000..6c887805 --- /dev/null +++ b/benchmarks/marshalling/collection/index.html @@ -0,0 +1,281 @@ + + + + + + + Benchmarks + + + + +
+ + + + + + + diff --git a/benchmarks/marshalling/comparison/data.js b/benchmarks/marshalling/comparison/data.js new file mode 100644 index 00000000..6fa710a6 --- /dev/null +++ b/benchmarks/marshalling/comparison/data.js @@ -0,0 +1,3656 @@ +window.BENCHMARK_DATA = { + "lastUpdate": 1783319673759, + "repoUrl": "https://github.com/inputfalken/DynamoDB.SourceGenerator", + "entries": { + "Comparison Marshalling": [ + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "3977afc7f246a352127b30ece11f09b06c581c61", + "message": "Change order of benchmarks", + "timestamp": "2025-07-06T11:56:25+02:00", + "tree_id": "07b8d2226d320803f32c25e16113218adac49cd8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3977afc7f246a352127b30ece11f09b06c581c61" + }, + "date": 1751795896788, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1635.3654059001378, + "unit": "ns", + "range": "± 5.033207216902051" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13347.22516305106, + "unit": "ns", + "range": "± 67.37644764810707" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1479.8897932688394, + "unit": "ns", + "range": "± 13.418593179740876" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11271.735316975912, + "unit": "ns", + "range": "± 85.24968488990449" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "a9034f9b8d34c15f8bb1ae93f53df7d37c1ecad0", + "message": "Remove Artifacts", + "timestamp": "2025-07-06T11:57:56+02:00", + "tree_id": "ef755862ff9c01d1aa18c8e9b1bf9952de49dbee", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/a9034f9b8d34c15f8bb1ae93f53df7d37c1ecad0" + }, + "date": 1751795992858, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1659.9186900002617, + "unit": "ns", + "range": "± 6.309732445183379" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13619.224263509115, + "unit": "ns", + "range": "± 78.2710707221475" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1428.9868203571864, + "unit": "ns", + "range": "± 8.264891274328109" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11385.227649943034, + "unit": "ns", + "range": "± 125.82659933408499" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "930d8d7a09da2463d30f3eeb0eb5d6d366e2b801", + "message": "Fix ordering of benchmarks", + "timestamp": "2025-07-06T12:01:00+02:00", + "tree_id": "79e9fbefcc6051267e2164a18ffa59850a1c384a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/930d8d7a09da2463d30f3eeb0eb5d6d366e2b801" + }, + "date": 1751796185915, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1653.871855190822, + "unit": "ns", + "range": "± 10.810638705986042" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13658.541813441685, + "unit": "ns", + "range": "± 48.633513676538314" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1377.5248742784772, + "unit": "ns", + "range": "± 7.264950240641856" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11438.320731608073, + "unit": "ns", + "range": "± 58.57580664048689" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "2e552c17e9442ab558c4e13c4295a033df473d3c", + "message": "Add early exit on empty arguments", + "timestamp": "2025-07-06T12:48:52+02:00", + "tree_id": "b9039cc3614a11091aed21c4f276a8ec1995ae04", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2e552c17e9442ab558c4e13c4295a033df473d3c" + }, + "date": 1751799046334, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1676.6082384926933, + "unit": "ns", + "range": "± 11.044317501546253" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13840.323518880208, + "unit": "ns", + "range": "± 87.67000050110468" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1504.0048734029135, + "unit": "ns", + "range": "± 18.25234862770556" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 12136.207479623648, + "unit": "ns", + "range": "± 41.44170240210181" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "495d40293f71e191ac9ca1f5d903381d0ad9ecd9", + "message": "Update benchmark results", + "timestamp": "2025-07-06T13:39:24+02:00", + "tree_id": "60e274804e4e23455ff57caadb6abdf5b446fffa", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/495d40293f71e191ac9ca1f5d903381d0ad9ecd9" + }, + "date": 1751802094106, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1674.9294705024133, + "unit": "ns", + "range": "± 6.229682923949511" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14057.434111531575, + "unit": "ns", + "range": "± 32.46895189673704" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1476.1374559402466, + "unit": "ns", + "range": "± 5.099252503526126" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11908.194082641601, + "unit": "ns", + "range": "± 117.80155995658569" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "af22a7a72b610fa301a4dcc4298b9e0f7e6dee15", + "message": "Improve unmarshalling performance (#98)", + "timestamp": "2025-07-06T14:04:16+02:00", + "tree_id": "7ef1150e898e10739b6d6fa41e474856a86bdcf5", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/af22a7a72b610fa301a4dcc4298b9e0f7e6dee15" + }, + "date": 1751803562917, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1526.3151375452678, + "unit": "ns", + "range": "± 3.241114992100693" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13847.629732572115, + "unit": "ns", + "range": "± 53.08194864005092" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1353.8198137919107, + "unit": "ns", + "range": "± 2.7123193170974385" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10939.243040818434, + "unit": "ns", + "range": "± 8.125315329263188" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d8a8380bf1e80737030d3c497a50d04f00ec1c90", + "message": "Create codeql.yml", + "timestamp": "2025-07-13T21:27:35+02:00", + "tree_id": "4273aa99ffee4c651b8bb6dd8d42a4e5526b4db4", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d8a8380bf1e80737030d3c497a50d04f00ec1c90" + }, + "date": 1752434970071, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1537.5348108609517, + "unit": "ns", + "range": "± 3.2691735139647196" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13990.740291341146, + "unit": "ns", + "range": "± 90.35456800857479" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1533.9840936024984, + "unit": "ns", + "range": "± 28.137035718642913" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11607.705971854073, + "unit": "ns", + "range": "± 96.48426925578592" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5ff3c30d03c514b9b02877f63ce06c783c1e1131", + "message": "Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#99)\n\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>", + "timestamp": "2025-07-13T21:34:56+02:00", + "tree_id": "a9299bac01281ca9c29420f4b98d2d688299aea9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5ff3c30d03c514b9b02877f63ce06c783c1e1131" + }, + "date": 1752435389781, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1544.877239227295, + "unit": "ns", + "range": "± 11.991803779713445" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13426.03564453125, + "unit": "ns", + "range": "± 131.87325091252922" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1393.7181654612223, + "unit": "ns", + "range": "± 9.266092680822295" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11104.071925571987, + "unit": "ns", + "range": "± 67.94345646912289" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "09f3e94bc5808c7fd33009f728e81d69253047d6", + "message": "Create dependabot.yml", + "timestamp": "2025-07-14T21:48:36+02:00", + "tree_id": "04c8aab4a5b593a40a4240fe1469a6ff3a58b586", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/09f3e94bc5808c7fd33009f728e81d69253047d6" + }, + "date": 1752522632696, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1580.6143816312153, + "unit": "ns", + "range": "± 6.421784925345586" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13811.813606770833, + "unit": "ns", + "range": "± 52.971923843580925" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1484.577308400472, + "unit": "ns", + "range": "± 9.955810790454738" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11764.640481567383, + "unit": "ns", + "range": "± 79.8727551263186" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3b96e0cfe7f1f3d47d2e13bdc833f0ec8c9b3637", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T21:54:01+02:00", + "tree_id": "50cfaf57c1713862a8a6187e61d34f318e7dea77", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3b96e0cfe7f1f3d47d2e13bdc833f0ec8c9b3637" + }, + "date": 1752522958588, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1531.2448024749756, + "unit": "ns", + "range": "± 5.701655679728606" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13842.313332693917, + "unit": "ns", + "range": "± 28.77057411752214" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1443.9535039755015, + "unit": "ns", + "range": "± 5.813386944788789" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11092.571037801106, + "unit": "ns", + "range": "± 50.23105474537487" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "01cda5ad909f9eafa6659fafd7b4c153875e50a0", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T21:55:27+02:00", + "tree_id": "2b0786ea9616366ad1d06743371aa6be9495d573", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/01cda5ad909f9eafa6659fafd7b4c153875e50a0" + }, + "date": 1752523038178, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1537.2796792250413, + "unit": "ns", + "range": "± 8.98268374173649" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13845.336173502605, + "unit": "ns", + "range": "± 104.41883888049831" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1409.415892537435, + "unit": "ns", + "range": "± 8.842140652979792" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11228.158310953777, + "unit": "ns", + "range": "± 60.22766756527823" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "79b16271e251e6e6daa937122507c62d18cdbbfe", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T22:00:08+02:00", + "tree_id": "3631a814e44a99167dfb7f4d2631f6548be840b7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/79b16271e251e6e6daa937122507c62d18cdbbfe" + }, + "date": 1752523334402, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1701.5523413144624, + "unit": "ns", + "range": "± 2.104712168697265" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13802.01899937221, + "unit": "ns", + "range": "± 108.02772154162425" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1447.5591609661396, + "unit": "ns", + "range": "± 14.358339647232052" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11966.777683003744, + "unit": "ns", + "range": "± 97.41973604379429" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "e6b5b1276e697ff1726c9884b56f51507745b519", + "message": "Add dependabot", + "timestamp": "2025-07-14T22:01:50+02:00", + "tree_id": "3631a814e44a99167dfb7f4d2631f6548be840b7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e6b5b1276e697ff1726c9884b56f51507745b519" + }, + "date": 1752523402883, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1600.5787146250407, + "unit": "ns", + "range": "± 23.09359208017102" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13019.40311050415, + "unit": "ns", + "range": "± 230.33773394171786" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1334.298074086507, + "unit": "ns", + "range": "± 15.30476149696537" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10948.96141764323, + "unit": "ns", + "range": "± 135.9794153158182" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "c18f85f5cd9414195bd88ffdec6e6f94f557afce", + "message": "Manually point to projects", + "timestamp": "2025-07-14T22:29:14+02:00", + "tree_id": "6b234f2935b20faf6019a4433678c54a87015492", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c18f85f5cd9414195bd88ffdec6e6f94f557afce" + }, + "date": 1752525091175, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1595.378577709198, + "unit": "ns", + "range": "± 2.5177605123000872" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14109.19834391276, + "unit": "ns", + "range": "± 65.17290356449236" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1430.6326107612024, + "unit": "ns", + "range": "± 23.546381937848327" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11499.815702311198, + "unit": "ns", + "range": "± 139.73321635919396" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d774a56e71466519a8a731cd89c26bc416a1c759", + "message": "Bump AWSSDK.DynamoDBv2 and 7 others (#100)\n\n* Bump AWSSDK.DynamoDBv2 and 7 others\n\nBumps AWSSDK.DynamoDBv2 from 4.0.1 to 4.0.2.2\nBumps BenchmarkDotNet from 0.14.0 to 0.15.2\nBumps FluentAssertions from 7.0.0 to 8.5.0\nBumps Microsoft.CodeAnalysis.Analyzers from 3.11.0 to 4.14.0\nBumps Microsoft.CodeAnalysis.CSharp from 4.10.0 to 4.14.0\nBumps Microsoft.NET.Test.Sdk from 17.14.0 to 17.14.1\nBumps xunit.runner.visualstudio from 3.1.0 to 3.1.2\nBumps xunit.v3 from 2.0.2 to 3.0.0\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.2\n dependency-type: direct:production\n update-type: version-update:semver-minor\n- dependency-name: FluentAssertions\n dependency-version: 8.5.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n- dependency-name: Microsoft.CodeAnalysis.Analyzers\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 17.14.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: xunit.v3\n dependency-version: 3.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \n\n* Update DynamoDBGenerator.SourceGenerator.csproj\n\nSource generator dependencies needs to be manully adjusted. Testing without these depencencies.\n\n* Update DynamoDBGenerator.SourceGenerator.Tests.csproj\n\nAvoid payed version\n\n---------\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-07-14T22:38:26+02:00", + "tree_id": "afec4c7db7dbe86333baaad69b5bdf4184dd28b9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d774a56e71466519a8a731cd89c26bc416a1c759" + }, + "date": 1752525609140, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1548.2272420247396, + "unit": "ns", + "range": "± 15.698867761151137" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13577.748349870953, + "unit": "ns", + "range": "± 108.8167079963272" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1420.836091177804, + "unit": "ns", + "range": "± 13.513342453933058" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11302.868064880371, + "unit": "ns", + "range": "± 66.76661180663648" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "38a5607bdb39de5515d880bff00228cef3a2db60", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.2.2 to 4.0.3.1 (#110)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.3.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-07-31T19:48:16+02:00", + "tree_id": "b221c370dc94de83ae1ed5a030c16695a6aae912", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/38a5607bdb39de5515d880bff00228cef3a2db60" + }, + "date": 1753984197817, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1515.3567136617808, + "unit": "ns", + "range": "± 7.127190391150939" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13498.531490325928, + "unit": "ns", + "range": "± 20.589814258611092" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1396.7465635446401, + "unit": "ns", + "range": "± 2.1865514741389096" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10767.158765157064, + "unit": "ns", + "range": "± 14.789636714766036" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "19d5868217cdc3deb0bfe352089eae9f276abf06", + "message": "Upgrade source generator (#113)", + "timestamp": "2025-08-05T22:56:15+02:00", + "tree_id": "2f0e23fa230fe3ceb21700b2442ffe5f79364844", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/19d5868217cdc3deb0bfe352089eae9f276abf06" + }, + "date": 1754427489880, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1575.5237293243408, + "unit": "ns", + "range": "± 4.211094388524882" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13930.129111656775, + "unit": "ns", + "range": "± 56.047175913083706" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1462.704689025879, + "unit": "ns", + "range": "± 7.859932052369417" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 12134.540575154622, + "unit": "ns", + "range": "± 126.20812883337764" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "00c067cad1899e429122654d78157dc5d3cc9686", + "message": "Bump xunit.v3 from 3.0.0 to 3.0.1 (#118)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.0.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-08-20T23:22:57+02:00", + "tree_id": "9e996d7c8c7cdb98dcb1c2d6ba4d90bdec140e31", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/00c067cad1899e429122654d78157dc5d3cc9686" + }, + "date": 1755725080462, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1609.5579020636421, + "unit": "ns", + "range": "± 13.69583460426093" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14883.937784830729, + "unit": "ns", + "range": "± 201.05842446113684" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1469.5333395004272, + "unit": "ns", + "range": "± 9.513688458490961" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 12351.6474802653, + "unit": "ns", + "range": "± 165.80272137880243" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fe931f7d7b7cd25d9017f3b81420266fa1e8dd49", + "message": "Bump xunit.runner.visualstudio from 3.1.2 to 3.1.4 (#117)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-08-20T23:24:28+02:00", + "tree_id": "a75caed3f9676667f8142a1f85f147a48e351bc8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/fe931f7d7b7cd25d9017f3b81420266fa1e8dd49" + }, + "date": 1755725178345, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1516.1580273946126, + "unit": "ns", + "range": "± 5.5037358425517855" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13841.66987101237, + "unit": "ns", + "range": "± 102.9627187300996" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1443.6430653163366, + "unit": "ns", + "range": "± 13.647566373899258" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11697.575228009906, + "unit": "ns", + "range": "± 81.10957340775342" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8a5066623940e3adccb76ded2bf5838f2769471e", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.3.1 to 4.0.4.1 (#114)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.4.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-08-21T21:04:33+02:00", + "tree_id": "1685fe9f1111f80c937e5590b646eb38f82a1020", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8a5066623940e3adccb76ded2bf5838f2769471e" + }, + "date": 1755803183696, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1547.5441736857097, + "unit": "ns", + "range": "± 9.351019215076454" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13939.197151770959, + "unit": "ns", + "range": "± 44.47091115311052" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1428.9122671763103, + "unit": "ns", + "range": "± 8.92955244727897" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11736.702102661133, + "unit": "ns", + "range": "± 58.86691919255274" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ce316d04a4f68c1aea0d8bbb7e87f9190653d1f2", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.4.1 to 4.0.5.1 (#119)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.5.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-08-29T15:57:53+02:00", + "tree_id": "57ac539535b8df1a1c61b9d1d251f2ea79715f94", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/ce316d04a4f68c1aea0d8bbb7e87f9190653d1f2" + }, + "date": 1756475973624, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1545.1473405020577, + "unit": "ns", + "range": "± 6.43899350127115" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13847.33976158729, + "unit": "ns", + "range": "± 45.50186537011115" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1460.3529352823894, + "unit": "ns", + "range": "± 10.84945021413608" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11461.121637980143, + "unit": "ns", + "range": "± 60.921326865740944" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2d870770bcecc302b96e1bfbb5240fdfce0b8a97", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.5.1 to 4.0.6.1 (#121)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-09T22:56:05+02:00", + "tree_id": "724e9d80caa4273b6daebdcc934b12260e8e1243", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2d870770bcecc302b96e1bfbb5240fdfce0b8a97" + }, + "date": 1757451471420, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1496.5317847912129, + "unit": "ns", + "range": "± 3.6315262825074703" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13695.752386474609, + "unit": "ns", + "range": "± 165.35169994266468" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1429.8175984700522, + "unit": "ns", + "range": "± 12.27076160581917" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11176.007992084209, + "unit": "ns", + "range": "± 45.85180342012219" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "96abb525e1c4dab36e7da1502ee88b14e61d6a50", + "message": "Bump BenchmarkDotNet from 0.15.2 to 0.15.3 (#123)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-23T18:43:05+02:00", + "tree_id": "af2c751c2d3508b801f722a4cf1b08c37c5f67a0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/96abb525e1c4dab36e7da1502ee88b14e61d6a50" + }, + "date": 1758645900495, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1508.8338147481284, + "unit": "ns", + "range": "± 24.41200011846877" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13609.302091471354, + "unit": "ns", + "range": "± 180.49462922816753" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1407.8584378106254, + "unit": "ns", + "range": "± 14.508353227677324" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11142.206086222332, + "unit": "ns", + "range": "± 123.99856507099854" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9f740062393e8f9f3dbd527630a7254f72ade665", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.1 to 4.0.6.2 (#122)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-28T21:11:13+02:00", + "tree_id": "99cbe789635404cf4396c3e45c05a833342058ad", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9f740062393e8f9f3dbd527630a7254f72ade665" + }, + "date": 1759086783832, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1506.522710641225, + "unit": "ns", + "range": "± 5.161724315028588" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14319.068551199776, + "unit": "ns", + "range": "± 125.70906641528471" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1404.9623434702555, + "unit": "ns", + "range": "± 6.806094001534471" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11224.93813680013, + "unit": "ns", + "range": "± 51.416977357319574" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f7962292f13b78c0d9aa7d477368748236f2f206", + "message": "Bump xunit.runner.visualstudio from 3.1.4 to 3.1.5 (#126)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-29T18:42:16+02:00", + "tree_id": "4420b501f3874397ced78dcf3811c0c628140602", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f7962292f13b78c0d9aa7d477368748236f2f206" + }, + "date": 1759164256209, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1515.9481823784965, + "unit": "ns", + "range": "± 7.567418269877493" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13940.035919189453, + "unit": "ns", + "range": "± 78.70615057270281" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1401.7671219961983, + "unit": "ns", + "range": "± 7.3815005501179005" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11175.875463867187, + "unit": "ns", + "range": "± 64.01464021723203" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5f09be7fd187626f6411a27cdc42f11b6a97333d", + "message": "Bump BenchmarkDotNet from 0.15.3 to 0.15.4 (#125)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-29T18:45:05+02:00", + "tree_id": "000203a66299953d80ca61dd605bc0a146bdb5a2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5f09be7fd187626f6411a27cdc42f11b6a97333d" + }, + "date": 1759164457444, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1546.2177840641566, + "unit": "ns", + "range": "± 4.51264721325386" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14065.763379610502, + "unit": "ns", + "range": "± 48.03149984171938" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1532.4933731896538, + "unit": "ns", + "range": "± 9.4348834096481" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11933.541616821289, + "unit": "ns", + "range": "± 108.09557261251027" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "cad37d37c8639fe72f5afcdaef84e6fd4e689343", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.2 to 4.0.6.3 (#124)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-29T18:51:12+02:00", + "tree_id": "81561588a97de010155dc2d9fb92c90aef79c7e9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/cad37d37c8639fe72f5afcdaef84e6fd4e689343" + }, + "date": 1759164808374, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1506.1760200772967, + "unit": "ns", + "range": "± 4.1974480549098425" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13521.051421029228, + "unit": "ns", + "range": "± 40.163784464029106" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1460.7426415761313, + "unit": "ns", + "range": "± 10.751994003999346" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11273.486263020834, + "unit": "ns", + "range": "± 46.530643741996926" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2f0dbd68aff2f79e7c584cc7a34e570c59fb270d", + "message": "Bump xunit.v3 from 3.0.1 to 3.1.0 (#129)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.1.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-07T19:48:39+02:00", + "tree_id": "eb4f54d4632242a42c5cccc0e8549a351c83ccb2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2f0dbd68aff2f79e7c584cc7a34e570c59fb270d" + }, + "date": 1759859427773, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1532.8240671891433, + "unit": "ns", + "range": "± 6.965512076719526" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13793.102675217848, + "unit": "ns", + "range": "± 108.96795113922538" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1441.3101030985515, + "unit": "ns", + "range": "± 11.817223581144862" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11392.805472237724, + "unit": "ns", + "range": "± 72.93435389935061" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8b9a2a2eab1916b4e63e5c3d3f9b758ed9c5971a", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.3 to 4.0.7 (#127)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-10-07T20:29:21+02:00", + "tree_id": "2d6cacb7fa190c58af882e58ac79682e536fecd9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8b9a2a2eab1916b4e63e5c3d3f9b758ed9c5971a" + }, + "date": 1759861878477, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1566.0870616619404, + "unit": "ns", + "range": "± 2.567347550473702" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13953.459437779018, + "unit": "ns", + "range": "± 126.07464880845507" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1463.7243865966798, + "unit": "ns", + "range": "± 14.376015770690886" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11390.378692626953, + "unit": "ns", + "range": "± 66.94044816207206" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "60ad1782e3851f657c35bd1cded8f94c209cd624", + "message": "Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 (#128)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-10-07T20:29:43+02:00", + "tree_id": "7560295ef00e888de67a120634539b39fc1578eb", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/60ad1782e3851f657c35bd1cded8f94c209cd624" + }, + "date": 1759861900679, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1538.8489911215645, + "unit": "ns", + "range": "± 5.815102558035828" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14443.90518798828, + "unit": "ns", + "range": "± 139.18126828970424" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1478.3039185841878, + "unit": "ns", + "range": "± 14.368051494599241" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11742.978384399414, + "unit": "ns", + "range": "± 164.89511733682636" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8302c04cffeaeae2c845e3d79104ac1e8fc8b47f", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.7 to 4.0.7.2 (#131)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.7.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-16T21:59:04+02:00", + "tree_id": "1d7fd0914252f2a82d725dc28d937599653c2133", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8302c04cffeaeae2c845e3d79104ac1e8fc8b47f" + }, + "date": 1760644862855, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1487.202316792806, + "unit": "ns", + "range": "± 7.220090755283159" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13777.71607853816, + "unit": "ns", + "range": "± 68.27746428794333" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1421.9829665592738, + "unit": "ns", + "range": "± 15.840962213580386" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11425.246918741863, + "unit": "ns", + "range": "± 41.01282674849437" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "128761419c5c2d1a9bc590a9fafefbbd36465227", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.7.2 to 4.0.9.1 (#133)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-27T18:27:58+01:00", + "tree_id": "b43948769fa400f4632f2c980a24fdc39aa04ef0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/128761419c5c2d1a9bc590a9fafefbbd36465227" + }, + "date": 1761586203692, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1358.2442004864033, + "unit": "ns", + "range": "± 2.314326681907074" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 12896.500211275541, + "unit": "ns", + "range": "± 49.988824362558276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1490.8404553731282, + "unit": "ns", + "range": "± 7.283006506419865" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11834.078588213239, + "unit": "ns", + "range": "± 36.663611448775946" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "830d832fe53ef9ece4ca84bfda6c494955d7b527", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.1 to 4.0.9.3 (#134)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-04T21:57:39+01:00", + "tree_id": "44357edb3ed68b66576f1ada9e66dd64282ef591", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/830d832fe53ef9ece4ca84bfda6c494955d7b527" + }, + "date": 1762289969857, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1355.8860383714948, + "unit": "ns", + "range": "± 3.7479715713189385" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 12921.784012858074, + "unit": "ns", + "range": "± 63.183076663119856" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1405.3268589019776, + "unit": "ns", + "range": "± 18.999754043494864" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11555.826505533854, + "unit": "ns", + "range": "± 126.51240704422129" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "041bd7855ddcaa8426cd9958938044ac1a5c2f4b", + "message": "Bump BenchmarkDotNet from 0.15.4 to 0.15.5 (#136)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-04T21:58:11+01:00", + "tree_id": "a6617d74c84f149ad6aa4d3fd205938f008b42bf", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/041bd7855ddcaa8426cd9958938044ac1a5c2f4b" + }, + "date": 1762290033231, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1530.4978630359356, + "unit": "ns", + "range": "± 4.275094789232155" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14030.789526367187, + "unit": "ns", + "range": "± 96.16442861473477" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1479.2896785736084, + "unit": "ns", + "range": "± 41.69258502767883" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 12067.052652110224, + "unit": "ns", + "range": "± 296.4692962356954" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c4ecb6e6198e1e31f1e82456d985cdc017d3b066", + "message": "Bump xunit.v3 from 3.1.0 to 3.2.0 (#135)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-06T23:29:02+01:00", + "tree_id": "6b42bda464a9e11a414b309d567dca3909e3372c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c4ecb6e6198e1e31f1e82456d985cdc017d3b066" + }, + "date": 1762468275129, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1543.4934244791666, + "unit": "ns", + "range": "± 12.157937886329352" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14112.541048177083, + "unit": "ns", + "range": "± 108.12364519714765" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1524.2308044433594, + "unit": "ns", + "range": "± 20.081959147433665" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11997.202027540941, + "unit": "ns", + "range": "± 107.20585453650277" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "dbc864c41e38c296ed90fbbc259dd9213d99e35b", + "message": "Bump BenchmarkDotNet from 0.15.5 to 0.15.6 (#138)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-15T11:29:30+01:00", + "tree_id": "35d3d8417081c666c1be9c0c092451b6479113be", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/dbc864c41e38c296ed90fbbc259dd9213d99e35b" + }, + "date": 1763202703172, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1520.4437407175699, + "unit": "ns", + "range": "± 15.258999246686301" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 13889.799300130207, + "unit": "ns", + "range": "± 51.77241387952233" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1502.739953994751, + "unit": "ns", + "range": "± 10.388735751358311" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 12049.732975260416, + "unit": "ns", + "range": "± 90.40643180665894" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6f99cb576bdae8a84f4b37bd960b24c25158f514", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.3 to 4.0.9.5 (#137)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-15T11:29:47+01:00", + "tree_id": "03753cc1c4b570563fc04e88778ad032b59e4b9d", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/6f99cb576bdae8a84f4b37bd960b24c25158f514" + }, + "date": 1763202723510, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1512.7584253038679, + "unit": "ns", + "range": "± 6.401202674329634" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 14455.722222464425, + "unit": "ns", + "range": "± 87.52480019553606" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1428.530059678214, + "unit": "ns", + "range": "± 20.427450644812158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 11920.324382781982, + "unit": "ns", + "range": "± 57.33575551278884" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5e8a4945300f4d62dd0cc870380c58c45fc14d5b", + "message": "Bump to dotnet 10 (#139)\n\n* Bump version to .NET 10\n\n* Bump pipelines", + "timestamp": "2025-11-17T17:29:25+01:00", + "tree_id": "ce81a98a7c938f9082e88677ba686b857d934550", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5e8a4945300f4d62dd0cc870380c58c45fc14d5b" + }, + "date": 1763397087708, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1402.4539894376483, + "unit": "ns", + "range": "± 5.041594967303263" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11366.982741219657, + "unit": "ns", + "range": "± 51.83976792530422" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1163.8719642473304, + "unit": "ns", + "range": "± 28.804928054809555" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10170.179330444336, + "unit": "ns", + "range": "± 111.02714645412036" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "b1a78478f07dc48d4a89ec39e26f60102d8f394a", + "message": "Update benchmark examples", + "timestamp": "2025-11-17T17:46:45+01:00", + "tree_id": "23a11a10a16ce747697b16556954a5eb385a94d8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/b1a78478f07dc48d4a89ec39e26f60102d8f394a" + }, + "date": 1763398107020, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1446.7819155179536, + "unit": "ns", + "range": "± 2.5424665328409697" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11953.239988054547, + "unit": "ns", + "range": "± 53.295782564730395" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1220.7680483500162, + "unit": "ns", + "range": "± 14.966503292376752" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10198.751637776693, + "unit": "ns", + "range": "± 171.88834505233234" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0d61ce390d70f860decb831e48baeba90a9a27b0", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 4.11.0 to 4.14.0 (#130)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-19T19:37:15+01:00", + "tree_id": "b2418fad53be6cbc14088bc8a8c65067c50601a2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0d61ce390d70f860decb831e48baeba90a9a27b0" + }, + "date": 1763577556152, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1438.7043639591761, + "unit": "ns", + "range": "± 5.971727203022434" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11974.826245117187, + "unit": "ns", + "range": "± 57.46275938244395" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1168.8616456349691, + "unit": "ns", + "range": "± 16.85209172993632" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10443.724770100911, + "unit": "ns", + "range": "± 99.59273142953106" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "70d20c81fe252691dbefba74ac344faf641d04f2", + "message": "Bump Microsoft.NET.Test.Sdk from 18.0.0 to 18.0.1 (#142)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.0.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-25T22:08:47+01:00", + "tree_id": "12f0de4ca9ec4edbd39e4fbcc5ce0c566e3d9fde", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/70d20c81fe252691dbefba74ac344faf641d04f2" + }, + "date": 1764105054217, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1563.00533921378, + "unit": "ns", + "range": "± 4.4688407568035515" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11825.790798732212, + "unit": "ns", + "range": "± 92.54648834956754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1207.8629458109538, + "unit": "ns", + "range": "± 13.832032097394345" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10479.525701904297, + "unit": "ns", + "range": "± 64.86783303656634" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "676bff83ac85ec348411de09d95fb1d6b3259161", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 4.14.0 to 5.0.0 (#141)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-25T22:10:06+01:00", + "tree_id": "6b603c1d361508a8ffec0369b72b51e7f9f3fa3e", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/676bff83ac85ec348411de09d95fb1d6b3259161" + }, + "date": 1764105125462, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1410.37127832266, + "unit": "ns", + "range": "± 7.956858263147786" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11645.123966471354, + "unit": "ns", + "range": "± 54.607199743497816" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1132.8152877807618, + "unit": "ns", + "range": "± 12.79165524082682" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9954.292932128907, + "unit": "ns", + "range": "± 92.96392198018036" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d2b5b490dfd716f3a6af35a7adf2a63222766e13", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.5 to 4.0.10.1 (#140)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-25T22:11:53+01:00", + "tree_id": "c623acbf219b02f51631e87bcb3717044850a98c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d2b5b490dfd716f3a6af35a7adf2a63222766e13" + }, + "date": 1764105226031, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1459.6543228442852, + "unit": "ns", + "range": "± 5.645782979720073" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11817.857780965169, + "unit": "ns", + "range": "± 43.663445654135394" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1149.7625890096028, + "unit": "ns", + "range": "± 10.353395179598442" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10162.759096418109, + "unit": "ns", + "range": "± 98.85328141497658" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f024941eb95e357d2ba0c311adbbfc38324bd8ce", + "message": "Bump BenchmarkDotNet from 0.15.6 to 0.15.8 (#144)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-03T21:32:55+01:00", + "tree_id": "87bf7f4eb46fe67bdec8cd274bbec4cca5ce53c0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f024941eb95e357d2ba0c311adbbfc38324bd8ce" + }, + "date": 1764794107648, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1418.3844616753715, + "unit": "ns", + "range": "± 6.414373901220978" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 12158.161381312779, + "unit": "ns", + "range": "± 74.0287229712455" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1186.5766771861486, + "unit": "ns", + "range": "± 33.883265869376714" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10269.705138142903, + "unit": "ns", + "range": "± 158.50808343849886" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a9aa033c019d2b30568999e027a40c7e11ac4d33", + "message": "Bump xunit.v3 from 3.2.0 to 3.2.1 (#143)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-12-03T21:33:14+01:00", + "tree_id": "2f86553a382cecc87801a032d09d5a4ab03863a6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/a9aa033c019d2b30568999e027a40c7e11ac4d33" + }, + "date": 1764794109389, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1458.7258417946953, + "unit": "ns", + "range": "± 5.523967094951854" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11688.823419189453, + "unit": "ns", + "range": "± 94.5220781741599" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1099.3074440002442, + "unit": "ns", + "range": "± 10.476610700801052" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10051.781135559082, + "unit": "ns", + "range": "± 103.84230473466702" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0e06c6a3f110d1272f37377e21f98e30bdfb0aa3", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.1 to 4.0.10.2 (#145)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-08T19:37:58+01:00", + "tree_id": "5c1e110629c4af80c6dac1cc98726a3380e5cfc3", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0e06c6a3f110d1272f37377e21f98e30bdfb0aa3" + }, + "date": 1765219205228, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1523.4579277038574, + "unit": "ns", + "range": "± 4.25930506080388" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11751.655875651042, + "unit": "ns", + "range": "± 49.83237681674461" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1129.0641837801252, + "unit": "ns", + "range": "± 13.432913492231194" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10091.540426400992, + "unit": "ns", + "range": "± 55.713838025120246" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6d276403bae447fb27760d0871cf74f1e890d386", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.2 to 4.0.10.4 (#146)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-15T19:47:07+01:00", + "tree_id": "042c0cff0f5e3810799ca0c2fa21d65aaf8074dd", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/6d276403bae447fb27760d0871cf74f1e890d386" + }, + "date": 1765824548494, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1429.2478402455647, + "unit": "ns", + "range": "± 9.81532675555389" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11684.918807983398, + "unit": "ns", + "range": "± 53.573146771271276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1117.2727964841401, + "unit": "ns", + "range": "± 3.797790958620977" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9672.09733581543, + "unit": "ns", + "range": "± 33.39125091621186" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e796b408df191de1a49254ff7512233699a27e81", + "message": "Support both dotnet 8 and 10 (#147)\n\n\n* remove benchmark files", + "timestamp": "2025-12-15T20:15:54+01:00", + "tree_id": "ec1d266ba443890ffd40e26b9871e0224b27b687", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e796b408df191de1a49254ff7512233699a27e81" + }, + "date": 1765826276948, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1409.1569826761881, + "unit": "ns", + "range": "± 5.902452090253738" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11711.86404963902, + "unit": "ns", + "range": "± 65.1346289540874" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1133.23965716362, + "unit": "ns", + "range": "± 21.295039785684075" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10233.962954711915, + "unit": "ns", + "range": "± 97.77278058256817" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "1fa98ca55a11ab87636f4bb77ce6b4a69adafac8", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.4 to 4.0.10.5 (#149)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-06T21:09:53+01:00", + "tree_id": "b8412797e78fead403456d9c87a96824efa548d7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/1fa98ca55a11ab87636f4bb77ce6b4a69adafac8" + }, + "date": 1767730315416, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1444.1466954549153, + "unit": "ns", + "range": "± 2.4570082701585942" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11785.007947794596, + "unit": "ns", + "range": "± 34.484189330547906" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1068.0701555105356, + "unit": "ns", + "range": "± 11.515126667811538" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10133.227085314298, + "unit": "ns", + "range": "± 219.42060241662352" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3416372ec96eac27fb57b620f18a017d324cb39b", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.5 to 4.0.10.7 (#150)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-12T23:23:11+01:00", + "tree_id": "bdac973c5d947c461d44a4307cd1234fa09ec328", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3416372ec96eac27fb57b620f18a017d324cb39b" + }, + "date": 1768256727090, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1431.211408742269, + "unit": "ns", + "range": "± 10.773977551413733" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11533.610565185547, + "unit": "ns", + "range": "± 72.00830581337979" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1100.2158131392105, + "unit": "ns", + "range": "± 42.450775588385625" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9822.486179058369, + "unit": "ns", + "range": "± 99.95603545675392" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d11d79360ab749248da0be405b4445330b2a857b", + "message": "Bump xunit.v3 from 3.2.1 to 3.2.2 (#152)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-20T18:58:11+01:00", + "tree_id": "46f0c5d8efafc035394bf2f41fe3543406babf76", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d11d79360ab749248da0be405b4445330b2a857b" + }, + "date": 1768932028772, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1478.5808382034302, + "unit": "ns", + "range": "± 3.5503908832386504" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11571.35826764788, + "unit": "ns", + "range": "± 54.52788383527323" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1089.9782376970563, + "unit": "ns", + "range": "± 4.384293388272253" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9697.13303551307, + "unit": "ns", + "range": "± 31.733199732312944" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "16fd768caec892238f03d79fea639afb555b6d46", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.7 to 4.0.10.8 (#151)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-01-20T18:58:33+01:00", + "tree_id": "b4010be73dd32f8d152afaa0de4a1e38cbb35499", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/16fd768caec892238f03d79fea639afb555b6d46" + }, + "date": 1768932031001, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1446.5481122823862, + "unit": "ns", + "range": "± 8.514814827684654" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11642.407926432292, + "unit": "ns", + "range": "± 120.56184676409856" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1111.2675882066999, + "unit": "ns", + "range": "± 9.86652248930473" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10045.026717122395, + "unit": "ns", + "range": "± 62.81604471351382" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5135f67fe1e7577652c77d17711cb0f16cdc7ab2", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.8 to 4.0.11 (#153)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-29T21:30:15+01:00", + "tree_id": "315991da7966aa7b121b5272d4db2f757a0ac70b", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5135f67fe1e7577652c77d17711cb0f16cdc7ab2" + }, + "date": 1769718743247, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1424.7959166306716, + "unit": "ns", + "range": "± 2.6711852881930773" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11315.318537394205, + "unit": "ns", + "range": "± 18.591064395234362" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1076.8127643585206, + "unit": "ns", + "range": "± 1.7794126200808182" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9598.25284249442, + "unit": "ns", + "range": "± 11.757054993770039" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e5982829b7409737277eddb5a9076dc422f5f4e", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.11 to 4.0.14 (#155)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.14\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-02-09T10:56:44+01:00", + "tree_id": "46da6da1762f2b2d4d17689cd6d3f557052d9c1f", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3e5982829b7409737277eddb5a9076dc422f5f4e" + }, + "date": 1770631127803, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1420.4414445332118, + "unit": "ns", + "range": "± 5.490850015521563" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11637.738878377279, + "unit": "ns", + "range": "± 68.97669789388591" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1142.0902729034424, + "unit": "ns", + "range": "± 27.162296033473325" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10074.955876668295, + "unit": "ns", + "range": "± 78.35128746371208" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f81c10588869561783cc8cf73f3bbac9473e4dd1", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.14 to 4.0.14.1 (#156)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.14.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-02-26T22:55:02+01:00", + "tree_id": "12c801ee41a03ea637c86e6f02f1458eed322d35", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f81c10588869561783cc8cf73f3bbac9473e4dd1" + }, + "date": 1772143025523, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1432.9993063119741, + "unit": "ns", + "range": "± 4.5415307711075625" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11580.906582423619, + "unit": "ns", + "range": "± 73.96413007317521" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1133.726323699951, + "unit": "ns", + "range": "± 8.242704452844164" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10068.385616847447, + "unit": "ns", + "range": "± 50.90000142392236" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "96b220ccd5644fd656ed779e2aec90a3f4837498", + "message": "Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0 (#158)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.3.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-06T22:16:48+01:00", + "tree_id": "bd4f5c1c74016257f22fe6be5d6fdb37a9e8e5b3", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/96b220ccd5644fd656ed779e2aec90a3f4837498" + }, + "date": 1772831932103, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1533.3611720158503, + "unit": "ns", + "range": "± 5.161805589711977" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11722.444379679362, + "unit": "ns", + "range": "± 34.918331316262844" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1180.3661668141683, + "unit": "ns", + "range": "± 19.707134314605277" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10418.056033543178, + "unit": "ns", + "range": "± 135.07565063672448" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9bb231b7f7acd559c7098e4de4f47387b1bf883c", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.14.1 to 4.0.15 (#157)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.15\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-03-06T22:17:10+01:00", + "tree_id": "bddaf78376ad6e4c90970d0c710e0ece6231ad6a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9bb231b7f7acd559c7098e4de4f47387b1bf883c" + }, + "date": 1772831954259, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1420.7488582317646, + "unit": "ns", + "range": "± 3.6533945116082" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11961.581741333008, + "unit": "ns", + "range": "± 105.06956406804538" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1177.2655499776204, + "unit": "ns", + "range": "± 30.371960156760515" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10468.165397135417, + "unit": "ns", + "range": "± 122.48009414652931" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9551a1cbbd6be0bdc08075646b342e03326ddc43", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.15 to 4.0.15.2 (#159)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.15.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-17T20:32:09+01:00", + "tree_id": "d593cc44e6dfeda92130757e4dc88780ed74c4aa", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9551a1cbbd6be0bdc08075646b342e03326ddc43" + }, + "date": 1773776064539, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1440.4046963282995, + "unit": "ns", + "range": "± 3.7719444193561467" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11712.323626708985, + "unit": "ns", + "range": "± 45.66129222038483" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1125.283040746053, + "unit": "ns", + "range": "± 8.501563431202156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10035.290927124024, + "unit": "ns", + "range": "± 85.40058186240609" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "eae8876ad5a9ff623e0007cf1e0be237ff731ce2", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 5.0.0 to 5.3.0 (#160)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.3.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-03-17T20:35:24+01:00", + "tree_id": "d08c03cb97d0ea4828e995bca64eaa2ad2348db6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/eae8876ad5a9ff623e0007cf1e0be237ff731ce2" + }, + "date": 1773776254236, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1518.8586041586739, + "unit": "ns", + "range": "± 5.556052006774461" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11529.117201741536, + "unit": "ns", + "range": "± 104.28696480454512" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1093.3305908441544, + "unit": "ns", + "range": "± 21.503639845053563" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9802.526186162775, + "unit": "ns", + "range": "± 240.60914643992567" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "35603596a56f31a01e2c0ab99181a7092ba367f9", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.15.2 to 4.0.17.3 (#162)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-31T22:54:22+02:00", + "tree_id": "a9294311c6f8a04b3171f79d139f55d7416cc6ec", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/35603596a56f31a01e2c0ab99181a7092ba367f9" + }, + "date": 1774990585148, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1458.6537286213465, + "unit": "ns", + "range": "± 5.399438867130398" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11652.374635823568, + "unit": "ns", + "range": "± 49.91918067518244" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1156.6065622965496, + "unit": "ns", + "range": "± 20.08927766167829" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10577.486608651969, + "unit": "ns", + "range": "± 29.45340737860061" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e51851f8e32eaaa1bcc476fef75d9f526adde69d", + "message": "Bump Microsoft.NET.Test.Sdk from 18.3.0 to 18.4.0 (#165)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.4.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-13T08:41:15+02:00", + "tree_id": "987da05a5f1fc70a6b3f23a7ca94fb2de8459d49", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e51851f8e32eaaa1bcc476fef75d9f526adde69d" + }, + "date": 1776062586577, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1209.0587134728064, + "unit": "ns", + "range": "± 3.8823992152821742" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 10314.886557358961, + "unit": "ns", + "range": "± 50.94313089746552" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1062.3589266459146, + "unit": "ns", + "range": "± 7.927467729031051" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9250.54615275065, + "unit": "ns", + "range": "± 115.74146631541241" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c585d6c5747d64661695a8602da68d8da3cd7455", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.3 to 4.0.17.8 (#164)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-04-13T08:43:32+02:00", + "tree_id": "4059579b9744decc3d6337658a4f6dbe596da1ae", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c585d6c5747d64661695a8602da68d8da3cd7455" + }, + "date": 1776062734670, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1559.281370299203, + "unit": "ns", + "range": "± 3.463942379483883" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11610.371996198382, + "unit": "ns", + "range": "± 47.61195302705429" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1077.7803946903773, + "unit": "ns", + "range": "± 7.7613101468832095" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9781.066404070172, + "unit": "ns", + "range": "± 43.82082598149418" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "191f38e1817e5d8be8ee93fb2f0931a3fb605cce", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.8 to 4.0.17.9 (#166)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.9\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-21T22:03:20+02:00", + "tree_id": "592a926476855a3d3ba97033bda98268586c8128", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/191f38e1817e5d8be8ee93fb2f0931a3fb605cce" + }, + "date": 1776801923251, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1465.9489481789726, + "unit": "ns", + "range": "± 16.812741130130973" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11899.759189605713, + "unit": "ns", + "range": "± 35.380932797078444" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1153.457982889811, + "unit": "ns", + "range": "± 15.540386137233071" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10329.490772247314, + "unit": "ns", + "range": "± 234.50110873815314" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "320b572fd8a6775423d53f107b4c8130289ebd80", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.9 to 4.0.17.11 (#167)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-27T21:31:21+02:00", + "tree_id": "d8c461273b57e9432651dd2c0c9b594f4a00df99", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/320b572fd8a6775423d53f107b4c8130289ebd80" + }, + "date": 1777318397107, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1201.6982531547546, + "unit": "ns", + "range": "± 1.6972232568448073" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 9982.44487108503, + "unit": "ns", + "range": "± 70.5375040524694" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 995.8543548583984, + "unit": "ns", + "range": "± 1.28684047052708" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 8581.591483482947, + "unit": "ns", + "range": "± 62.30350156334431" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d7706bfc7938c2cb642c6015d4cb7563fdc843b0", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.11 to 4.0.18 (#169)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-09T20:59:15+02:00", + "tree_id": "277499a22aefb990d3568e3834833ba8635fcb34", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d7706bfc7938c2cb642c6015d4cb7563fdc843b0" + }, + "date": 1778353274101, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1297.1461168924968, + "unit": "ns", + "range": "± 18.62501977227451" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 10504.726040649413, + "unit": "ns", + "range": "± 40.18829591072377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1284.0549399058025, + "unit": "ns", + "range": "± 17.483338618168467" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10339.95016697475, + "unit": "ns", + "range": "± 37.29948542969494" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0ae4a7f57ce6e27decf8f152492bb80801ac61d5", + "message": "Bump Microsoft.NET.Test.Sdk from 18.4.0 to 18.5.1 (#168)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.5.1\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-05-09T20:59:48+02:00", + "tree_id": "556aca280ff29463987ef80d4d53495b584b95e8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0ae4a7f57ce6e27decf8f152492bb80801ac61d5" + }, + "date": 1778353321876, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1447.9746139526367, + "unit": "ns", + "range": "± 18.353240961755006" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11573.297729492188, + "unit": "ns", + "range": "± 75.91435928833864" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1117.5921343485513, + "unit": "ns", + "range": "± 17.36650981935373" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10345.817614746094, + "unit": "ns", + "range": "± 151.77235432224842" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "275741c1ecd18d47d3717d1bc346a003eec677a9", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18 to 4.0.18.1 (#170)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-11T18:59:52+02:00", + "tree_id": "c1cba91e11c2c9ffd252abdf1f0ec4d4c895ba55", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/275741c1ecd18d47d3717d1bc346a003eec677a9" + }, + "date": 1778518925012, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1506.6355422093318, + "unit": "ns", + "range": "± 3.575816038630216" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 12029.6052541097, + "unit": "ns", + "range": "± 69.41785693815265" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1203.2839459737143, + "unit": "ns", + "range": "± 20.899317148600925" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10779.042764516977, + "unit": "ns", + "range": "± 45.32936800636975" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "82c77f98f5be05bd2396178c729b0bb3ddcfe84a", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.1 to 4.0.18.4 (#171)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-18T21:08:55+02:00", + "tree_id": "2361192e708579b5bc9fc74c91133424d091327b", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/82c77f98f5be05bd2396178c729b0bb3ddcfe84a" + }, + "date": 1779131461604, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1451.9911597115654, + "unit": "ns", + "range": "± 7.139870201095866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11535.679205322265, + "unit": "ns", + "range": "± 104.86882228723955" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1100.8071176034432, + "unit": "ns", + "range": "± 30.181527639129392" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10010.832210286459, + "unit": "ns", + "range": "± 115.08776145447453" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9826cb3a7af39e6ea8ebe5cd2f5aef525ebc1a37", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.4 to 4.0.18.6 (#173)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-01T22:07:49+02:00", + "tree_id": "d7d32291af79735f95a1e0cd7cb19cfd44e5043a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9826cb3a7af39e6ea8ebe5cd2f5aef525ebc1a37" + }, + "date": 1780344593023, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1436.8497299466815, + "unit": "ns", + "range": "± 6.440957309841827" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11872.279037475586, + "unit": "ns", + "range": "± 45.3054527972647" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1101.8568337758381, + "unit": "ns", + "range": "± 7.43916791141744" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9911.903260294597, + "unit": "ns", + "range": "± 45.742647808658305" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "085af0d3621ff0c2cb0ee8f16315668b0b9f51f5", + "message": "Bump Microsoft.NET.Test.Sdk from 18.5.1 to 18.6.0 (#174)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.6.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-06-01T22:08:12+02:00", + "tree_id": "cc99b241d492ceea543393e3e17ebe8c07b375ed", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/085af0d3621ff0c2cb0ee8f16315668b0b9f51f5" + }, + "date": 1780344602334, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1193.356830051967, + "unit": "ns", + "range": "± 9.458939961684216" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 9950.266421726772, + "unit": "ns", + "range": "± 33.46290835898462" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 987.854055257944, + "unit": "ns", + "range": "± 1.6725215666727105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 8708.158574785504, + "unit": "ns", + "range": "± 19.96811786570412" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ff994bc67c2fc5959bd04c4641cd9aacf0477289", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.6 to 4.0.20 (#175)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.20\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-09T21:00:57+02:00", + "tree_id": "c94b6bbc5a19a7c8e76f568b23fcd94a0118efbb", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/ff994bc67c2fc5959bd04c4641cd9aacf0477289" + }, + "date": 1781031783318, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1558.0811740557353, + "unit": "ns", + "range": "± 1.5033430619307113" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11543.272860717774, + "unit": "ns", + "range": "± 30.163412191867092" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1058.4675273895264, + "unit": "ns", + "range": "± 3.2419966721281135" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9611.506729125977, + "unit": "ns", + "range": "± 21.87310285871166" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0cef3578195bb9de911f0264c4fb6d70f1215fdc", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.20 to 4.0.21.6 (#177)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.21.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-22T21:48:14+02:00", + "tree_id": "e8e9c338d1efbebb39ae8beed3547710736b6d1e", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0cef3578195bb9de911f0264c4fb6d70f1215fdc" + }, + "date": 1782157814094, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1515.3209642682757, + "unit": "ns", + "range": "± 4.502551178455009" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11442.9771291097, + "unit": "ns", + "range": "± 68.48001074622518" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1116.0072710673014, + "unit": "ns", + "range": "± 10.269190690844834" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10206.54282023112, + "unit": "ns", + "range": "± 107.59218555026663" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "4267453453eab2e2c8dd3f0cc21ea468ce9e4746", + "message": "Bump Microsoft.NET.Test.Sdk from 18.6.0 to 18.7.0 (#179)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.7.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-02T12:17:37+02:00", + "tree_id": "3e86aa2f63c0b74c8bf4302d036e06881c05d69c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/4267453453eab2e2c8dd3f0cc21ea468ce9e4746" + }, + "date": 1782987576929, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1441.6978261130196, + "unit": "ns", + "range": "± 2.9067939540838275" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11577.7609181722, + "unit": "ns", + "range": "± 48.51572519703957" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1066.3942067464193, + "unit": "ns", + "range": "± 5.824281318841129" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9667.573854573568, + "unit": "ns", + "range": "± 25.922967851706503" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8aa78cff1756e770c03fb1f3059ce8e6b076a33d", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.21.6 to 4.0.21.7 (#178)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.21.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-02T12:17:50+02:00", + "tree_id": "c0fc515757c2299f6b85a1e488424250e4bbf037", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8aa78cff1756e770c03fb1f3059ce8e6b076a33d" + }, + "date": 1782987592558, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1400.8751393831694, + "unit": "ns", + "range": "± 6.341075246489554" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11602.866762288411, + "unit": "ns", + "range": "± 81.18218613200607" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1106.5893534747038, + "unit": "ns", + "range": "± 26.580775816711277" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9849.940706380208, + "unit": "ns", + "range": "± 93.27136739581327" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "57692c5db2aef93dc9085a3f1603de03713d3904", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.21.7 to 4.0.100.2 (#180)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.100.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-06T08:32:44+02:00", + "tree_id": "56d5ab706d6703926e09a91f01f900adc871df21", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/57692c5db2aef93dc9085a3f1603de03713d3904" + }, + "date": 1783319670755, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1206.6965911571797, + "unit": "ns", + "range": "± 4.604717682136267" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 10565.732682448168, + "unit": "ns", + "range": "± 62.78208308924731" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1048.769482361643, + "unit": "ns", + "range": "± 23.085695124617104" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 9608.626542154949, + "unit": "ns", + "range": "± 97.41064263828342" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c9b990b7d4ba58681148987db27f744e9e13c349", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 5.3.0 to 5.6.0 (#181)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.6.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-06T08:32:34+02:00", + "tree_id": "ccb308e034954138aaac5c49b6eeb905e4702738", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c9b990b7d4ba58681148987db27f744e9e13c349" + }, + "date": 1783319672253, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Unmarshall_Person_DTO", + "value": 1459.2055668464075, + "unit": "ns", + "range": "± 7.772996300620638" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Unmarshall_Person_DTO", + "value": 11676.528636387417, + "unit": "ns", + "range": "± 40.869760902117235" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Marshall_Person_DTO", + "value": 1128.8183992930822, + "unit": "ns", + "range": "± 6.663123745442867" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.ComparisonBenchmarks.Amazon_Marshall_Person_DTO", + "value": 10215.28840637207, + "unit": "ns", + "range": "± 89.64350939456716" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/benchmarks/marshalling/comparison/index.html b/benchmarks/marshalling/comparison/index.html new file mode 100644 index 00000000..6c887805 --- /dev/null +++ b/benchmarks/marshalling/comparison/index.html @@ -0,0 +1,281 @@ + + + + + + + Benchmarks + + + + +
+ + + + + + + diff --git a/benchmarks/marshalling/primitive/data.js b/benchmarks/marshalling/primitive/data.js new file mode 100644 index 00000000..b53bc2be --- /dev/null +++ b/benchmarks/marshalling/primitive/data.js @@ -0,0 +1,11960 @@ +window.BENCHMARK_DATA = { + "lastUpdate": 1783320175746, + "repoUrl": "https://github.com/inputfalken/DynamoDB.SourceGenerator", + "entries": { + "Primitive Marshalling": [ + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "51508ea0d44d32efff975ac1720c71df81c479e4", + "message": "Fix name", + "timestamp": "2025-07-06T11:02:10+02:00", + "tree_id": "12816b63c932ef3844c6d14dd2caa5c5c596b4cc", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/51508ea0d44d32efff975ac1720c71df81c479e4" + }, + "date": 1751792978146, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.520376040538153, + "unit": "ns", + "range": "± 0.23012295736660465" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.69998539288839, + "unit": "ns", + "range": "± 0.9457474816150259" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 27.586398931841057, + "unit": "ns", + "range": "± 0.06717014263003449" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 73.85333296656609, + "unit": "ns", + "range": "± 0.2326924029384157" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 33.74666531085968, + "unit": "ns", + "range": "± 0.17495339464000265" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 78.41529999176662, + "unit": "ns", + "range": "± 0.45776052248308335" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 31.31051565806071, + "unit": "ns", + "range": "± 0.0531092524352492" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.48561033606529, + "unit": "ns", + "range": "± 1.4723309827695668" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 22.29287724196911, + "unit": "ns", + "range": "± 0.04935890930323872" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 69.95558951909726, + "unit": "ns", + "range": "± 0.1912751692984908" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 34.2022980372111, + "unit": "ns", + "range": "± 0.12563428487732414" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 71.11601606210073, + "unit": "ns", + "range": "± 1.3823753489442434" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.638357708087334, + "unit": "ns", + "range": "± 0.10462014488471948" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 74.8305001940046, + "unit": "ns", + "range": "± 0.707032648519783" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 66.27589477811541, + "unit": "ns", + "range": "± 0.30477435951523596" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 83.47699138522148, + "unit": "ns", + "range": "± 1.9533431694404875" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.138702818325587, + "unit": "ns", + "range": "± 0.08501904515979801" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 70.16955393094283, + "unit": "ns", + "range": "± 0.47044888798544354" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 66.1080179489576, + "unit": "ns", + "range": "± 0.22582231822754112" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 173.8229208389918, + "unit": "ns", + "range": "± 0.4407484199597213" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e4cf211c856bad79a8af270bf113a043e1503ac", + "message": "Add benchmark github action (#97)", + "timestamp": "2025-07-06T11:13:04+02:00", + "tree_id": "59b1eacf6ef887ab70119b01fdf3733cdb0aa06a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3e4cf211c856bad79a8af270bf113a043e1503ac" + }, + "date": 1751793604269, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.26003098487854, + "unit": "ns", + "range": "± 0.10696789940950242" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 55.87797710725239, + "unit": "ns", + "range": "± 0.21422228737196625" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 33.71296888164112, + "unit": "ns", + "range": "± 0.17755222280005967" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 74.12605074246724, + "unit": "ns", + "range": "± 0.5697908589879304" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.01269307732582, + "unit": "ns", + "range": "± 0.14991211386401931" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 72.56570824782054, + "unit": "ns", + "range": "± 0.4134455567062343" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 29.381335333983102, + "unit": "ns", + "range": "± 0.050168285011448994" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.58251576764243, + "unit": "ns", + "range": "± 0.6671657580418221" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.28116444349289, + "unit": "ns", + "range": "± 0.10029358877452767" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 68.30664744774501, + "unit": "ns", + "range": "± 0.5696072980229269" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 31.950082817247935, + "unit": "ns", + "range": "± 0.07590500344695641" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 75.60168727238973, + "unit": "ns", + "range": "± 0.4344858755818017" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.248002886772156, + "unit": "ns", + "range": "± 0.05719959772677231" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.65695917606354, + "unit": "ns", + "range": "± 0.6479304319548918" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 67.54916644096375, + "unit": "ns", + "range": "± 0.20334497767131252" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 82.05128026008606, + "unit": "ns", + "range": "± 0.6030158986573928" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.051371899934914, + "unit": "ns", + "range": "± 0.049916588491799724" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 70.92526293595633, + "unit": "ns", + "range": "± 0.45576131100271583" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 66.06804482142131, + "unit": "ns", + "range": "± 0.10274242744898485" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 175.31392623697008, + "unit": "ns", + "range": "± 0.875895244919311" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "652408e60979e43d780b8fec3bbc8cb49235612a", + "message": "Remove TODO", + "timestamp": "2025-07-06T11:14:02+02:00", + "tree_id": "b356b9b77a605722e1878e989f788c0821b9f407", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/652408e60979e43d780b8fec3bbc8cb49235612a" + }, + "date": 1751793676278, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.398209154605865, + "unit": "ns", + "range": "± 0.09830075738002919" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 50.57321813503901, + "unit": "ns", + "range": "± 0.2484363111299638" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 33.77029154698054, + "unit": "ns", + "range": "± 0.08140842252591524" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.5097838640213, + "unit": "ns", + "range": "± 0.5871509947786203" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 33.954770505428314, + "unit": "ns", + "range": "± 0.07407482616583436" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 71.73818295001983, + "unit": "ns", + "range": "± 0.46821277140668716" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 31.361778871218362, + "unit": "ns", + "range": "± 0.17654514083433276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.5944430572646, + "unit": "ns", + "range": "± 0.26072998038316403" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.42802858352661, + "unit": "ns", + "range": "± 0.10876072094981643" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 67.9397844672203, + "unit": "ns", + "range": "± 0.46219412825961276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 36.6148018360138, + "unit": "ns", + "range": "± 0.08261219522711248" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.12275658448537, + "unit": "ns", + "range": "± 0.5173493859871595" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 30.772543558052607, + "unit": "ns", + "range": "± 0.08693307869112282" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 72.99398289521535, + "unit": "ns", + "range": "± 0.3544004452133068" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 67.91718357801437, + "unit": "ns", + "range": "± 0.18597362322735242" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 82.02845052381356, + "unit": "ns", + "range": "± 2.162945093490343" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.124987681706745, + "unit": "ns", + "range": "± 0.057262184599387984" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 72.56377487977346, + "unit": "ns", + "range": "± 0.8132615652590358" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 67.6702048274187, + "unit": "ns", + "range": "± 0.15144566093621434" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 171.67774643103283, + "unit": "ns", + "range": "± 1.683383491380393" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "cdc04be30f7e95c257ea0332209799b7872847a2", + "message": "Add comparison benchmarking", + "timestamp": "2025-07-06T11:35:00+02:00", + "tree_id": "383faabab4139ecb8d3b6fbcc497319002482717", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/cdc04be30f7e95c257ea0332209799b7872847a2" + }, + "date": 1751794918682, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.441956157867725, + "unit": "ns", + "range": "± 0.17701475261902044" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.268476128578186, + "unit": "ns", + "range": "± 1.1163645107767408" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 33.722758097308024, + "unit": "ns", + "range": "± 0.11632919493034122" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.32121362594458, + "unit": "ns", + "range": "± 0.48146217381650025" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 31.758637897173564, + "unit": "ns", + "range": "± 0.08913290390688579" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.1632816195488, + "unit": "ns", + "range": "± 1.6823902843115188" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 29.408651121457417, + "unit": "ns", + "range": "± 0.13184278498340982" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 71.45658962329229, + "unit": "ns", + "range": "± 0.7539997519678934" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.266670190371, + "unit": "ns", + "range": "± 0.07483075972674784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 67.86578665460858, + "unit": "ns", + "range": "± 0.3734376742141165" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 35.55160983403524, + "unit": "ns", + "range": "± 0.14590345499458596" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 70.59503930012384, + "unit": "ns", + "range": "± 0.8309918558180728" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.15466908613841, + "unit": "ns", + "range": "± 0.0902299178581969" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 79.8827775021394, + "unit": "ns", + "range": "± 0.20193014435173226" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 66.3289386510849, + "unit": "ns", + "range": "± 0.2026595486330947" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 81.31467378934225, + "unit": "ns", + "range": "± 0.5861971712707218" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.10174536705017, + "unit": "ns", + "range": "± 0.10083369502891075" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 69.80648627678553, + "unit": "ns", + "range": "± 0.4748178193255197" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 65.42201123918805, + "unit": "ns", + "range": "± 0.14254246835865375" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 197.86080317837852, + "unit": "ns", + "range": "± 0.40359666610934547" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "14d3ac2802110fb3822130f003ec18074df9bd2b", + "message": "Remove baseline", + "timestamp": "2025-07-06T11:36:20+02:00", + "tree_id": "28ab0c82524619f4213eed3596cb819473d822ac", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/14d3ac2802110fb3822130f003ec18074df9bd2b" + }, + "date": 1751795005030, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.9879454099215, + "unit": "ns", + "range": "± 0.1251450716944998" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 54.38292167442186, + "unit": "ns", + "range": "± 0.5707712780554878" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 34.54538838778223, + "unit": "ns", + "range": "± 0.12154819465126149" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 81.4393466591835, + "unit": "ns", + "range": "± 0.6840934070615713" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.52293926051685, + "unit": "ns", + "range": "± 0.12258516619755015" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 77.45030656258265, + "unit": "ns", + "range": "± 0.6418624956921211" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 31.07711436656805, + "unit": "ns", + "range": "± 0.10944326011797299" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 78.35534787575403, + "unit": "ns", + "range": "± 0.8328898866343396" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 28.858720793173863, + "unit": "ns", + "range": "± 0.06115508717024344" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 73.9743085861206, + "unit": "ns", + "range": "± 1.21449803894766" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 35.758978216087115, + "unit": "ns", + "range": "± 0.7493406570763925" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 79.70614134470621, + "unit": "ns", + "range": "± 0.5317936297471819" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.809861468417303, + "unit": "ns", + "range": "± 0.1585894962536972" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 76.80284773111343, + "unit": "ns", + "range": "± 0.32896440828850826" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 66.496941447258, + "unit": "ns", + "range": "± 0.2122789013537434" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 91.67308704455694, + "unit": "ns", + "range": "± 0.8850310431933812" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.87589962085088, + "unit": "ns", + "range": "± 0.12743237140840466" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 77.35169761578241, + "unit": "ns", + "range": "± 0.7896471353096901" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 71.40906062920888, + "unit": "ns", + "range": "± 0.1318930975487647" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 179.36288216908773, + "unit": "ns", + "range": "± 0.9212122775767333" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "117e9593b1abc9739ba2774eb502fcde06640bbc", + "message": "Fix with hashset", + "timestamp": "2025-07-06T11:41:19+02:00", + "tree_id": "a9513ac8d6f1706b275a69f95fa924a9a558ddba", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/117e9593b1abc9739ba2774eb502fcde06640bbc" + }, + "date": 1751795283472, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.63324328110768, + "unit": "ns", + "range": "± 0.17212339259527207" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 60.78318132559458, + "unit": "ns", + "range": "± 0.7000610645542734" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 34.232700018088025, + "unit": "ns", + "range": "± 0.23542061831095087" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 76.30860229900905, + "unit": "ns", + "range": "± 0.6330764898475739" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.12752346481596, + "unit": "ns", + "range": "± 0.10439562124519615" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 73.43298476017438, + "unit": "ns", + "range": "± 0.4387923341919915" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 30.726539679368337, + "unit": "ns", + "range": "± 0.15251244881467524" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 73.89307802915573, + "unit": "ns", + "range": "± 0.444062675014664" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.383964514732362, + "unit": "ns", + "range": "± 0.107802576004408" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.1102388381958, + "unit": "ns", + "range": "± 0.6107584787483789" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 36.67421565850576, + "unit": "ns", + "range": "± 0.15632533774961696" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.35142030886242, + "unit": "ns", + "range": "± 0.5744409073649596" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.1383629487111, + "unit": "ns", + "range": "± 0.0711933938942609" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 73.92550158500671, + "unit": "ns", + "range": "± 0.47131549629880437" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 66.75926389864513, + "unit": "ns", + "range": "± 0.19931540115296187" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 84.23278032541275, + "unit": "ns", + "range": "± 1.1702981606074536" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.42086552296366, + "unit": "ns", + "range": "± 0.09144759880907727" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 72.92675205071767, + "unit": "ns", + "range": "± 0.5912357442607695" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 67.253970682621, + "unit": "ns", + "range": "± 0.10956216277555832" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 179.90114567961012, + "unit": "ns", + "range": "± 0.5070478909083439" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "94f92575e66268087fb0c8eef711e391b4cd6348", + "message": "Fix comparison benchmark", + "timestamp": "2025-07-06T11:51:54+02:00", + "tree_id": "d40a90357e34c737f95b683618204fcca8f1eda6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/94f92575e66268087fb0c8eef711e391b4cd6348" + }, + "date": 1751795939896, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.80304617377428, + "unit": "ns", + "range": "± 0.12333515177643516" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.843475946358275, + "unit": "ns", + "range": "± 0.4310700711286249" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 34.25035257424627, + "unit": "ns", + "range": "± 0.11513428622750933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 77.75411842266719, + "unit": "ns", + "range": "± 1.3370440989045453" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.57338443398476, + "unit": "ns", + "range": "± 0.11773952645894036" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 75.09491975307465, + "unit": "ns", + "range": "± 1.0449396402348552" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 31.797961048285167, + "unit": "ns", + "range": "± 0.12685314570595407" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 73.09715712070465, + "unit": "ns", + "range": "± 0.6474701024956673" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.93439181248347, + "unit": "ns", + "range": "± 0.11860549430454694" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 71.28946268161138, + "unit": "ns", + "range": "± 0.8230588593826156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 39.25031284185556, + "unit": "ns", + "range": "± 0.06232296567103222" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 76.41988605260849, + "unit": "ns", + "range": "± 0.9341547371131274" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.751362616817158, + "unit": "ns", + "range": "± 0.07460413718824219" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 74.53017864056996, + "unit": "ns", + "range": "± 0.5067756509634782" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 69.164336340768, + "unit": "ns", + "range": "± 0.18620558356382544" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 87.65627895196279, + "unit": "ns", + "range": "± 1.1819663083158813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.695329229036968, + "unit": "ns", + "range": "± 0.1300111063850414" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 73.29867746035258, + "unit": "ns", + "range": "± 1.0111740470524602" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.97806516715458, + "unit": "ns", + "range": "± 0.09989654654450637" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 173.49908634821574, + "unit": "ns", + "range": "± 1.774853863387657" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "3977afc7f246a352127b30ece11f09b06c581c61", + "message": "Change order of benchmarks", + "timestamp": "2025-07-06T11:56:25+02:00", + "tree_id": "07b8d2226d320803f32c25e16113218adac49cd8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3977afc7f246a352127b30ece11f09b06c581c61" + }, + "date": 1751796207170, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.849860402670775, + "unit": "ns", + "range": "± 0.6199496614640952" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.441525876522064, + "unit": "ns", + "range": "± 0.6633088911793138" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 34.71124055981636, + "unit": "ns", + "range": "± 0.1369581213575845" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 73.0991405248642, + "unit": "ns", + "range": "± 0.2530010592268225" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 33.29921325047811, + "unit": "ns", + "range": "± 0.05592557731305295" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 71.78473855440433, + "unit": "ns", + "range": "± 0.3010186700978414" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 31.083912257637298, + "unit": "ns", + "range": "± 0.07374910683392401" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 70.94871966327939, + "unit": "ns", + "range": "± 0.6884281397525117" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.12805899289938, + "unit": "ns", + "range": "± 0.07758843158167161" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 69.8973685332707, + "unit": "ns", + "range": "± 0.6589933389281085" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 35.262987214785355, + "unit": "ns", + "range": "± 0.054892020632805086" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 70.81180962494442, + "unit": "ns", + "range": "± 0.38997997543004326" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 30.797642183303832, + "unit": "ns", + "range": "± 0.11275403933741068" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.5226212484496, + "unit": "ns", + "range": "± 0.345706561800943" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 66.3043702329908, + "unit": "ns", + "range": "± 0.8256517443697264" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 81.73279743535178, + "unit": "ns", + "range": "± 0.22384162938334" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.536794458116805, + "unit": "ns", + "range": "± 0.09533904458197351" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 69.36799909387317, + "unit": "ns", + "range": "± 0.19375547786651323" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 70.74140434081738, + "unit": "ns", + "range": "± 0.07372015934916114" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 172.70489490032196, + "unit": "ns", + "range": "± 1.119332715003698" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "a9034f9b8d34c15f8bb1ae93f53df7d37c1ecad0", + "message": "Remove Artifacts", + "timestamp": "2025-07-06T11:57:56+02:00", + "tree_id": "ef755862ff9c01d1aa18c8e9b1bf9952de49dbee", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/a9034f9b8d34c15f8bb1ae93f53df7d37c1ecad0" + }, + "date": 1751796295327, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.65614485511413, + "unit": "ns", + "range": "± 0.12300306157614951" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.129507541656494, + "unit": "ns", + "range": "± 0.6198707861764952" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 34.274452869097395, + "unit": "ns", + "range": "± 0.11352497153530547" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.38323554992675, + "unit": "ns", + "range": "± 0.6205811251866523" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.248931646347046, + "unit": "ns", + "range": "± 0.11657612427129849" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 73.36221931378047, + "unit": "ns", + "range": "± 0.7114955455714513" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 31.70832764307658, + "unit": "ns", + "range": "± 0.20278403007345977" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 73.57789183060328, + "unit": "ns", + "range": "± 0.5073177176097824" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.536705599381374, + "unit": "ns", + "range": "± 0.12890631887708598" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 69.92914357355663, + "unit": "ns", + "range": "± 0.8316020157429166" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 35.81804160888378, + "unit": "ns", + "range": "± 0.07485655607113202" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.0319773554802, + "unit": "ns", + "range": "± 0.7688682094836479" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.523054707050324, + "unit": "ns", + "range": "± 0.16300073398085943" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 72.16531073130093, + "unit": "ns", + "range": "± 0.5671181179262804" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 66.65970350163323, + "unit": "ns", + "range": "± 0.15851272406936018" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 84.82917717297872, + "unit": "ns", + "range": "± 0.7929142373130693" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.490577952067056, + "unit": "ns", + "range": "± 0.14057237218121474" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 73.01173637594495, + "unit": "ns", + "range": "± 0.7293164430662352" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 64.80033090284893, + "unit": "ns", + "range": "± 0.3811205033644585" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 166.9276830514272, + "unit": "ns", + "range": "± 1.352123724806118" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "930d8d7a09da2463d30f3eeb0eb5d6d366e2b801", + "message": "Fix ordering of benchmarks", + "timestamp": "2025-07-06T12:01:00+02:00", + "tree_id": "79e9fbefcc6051267e2164a18ffa59850a1c384a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/930d8d7a09da2463d30f3eeb0eb5d6d366e2b801" + }, + "date": 1751796563838, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.559302008577756, + "unit": "ns", + "range": "± 0.06910004204511588" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.62280861934026, + "unit": "ns", + "range": "± 0.3169336069186165" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 34.758955526351926, + "unit": "ns", + "range": "± 0.14093340483960878" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 76.26712104172077, + "unit": "ns", + "range": "± 3.341340099750322" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.282137175401054, + "unit": "ns", + "range": "± 0.28389363854923716" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 73.71976696252823, + "unit": "ns", + "range": "± 0.8212586945311768" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 30.633525162935257, + "unit": "ns", + "range": "± 0.10497845418071697" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 74.93944969442155, + "unit": "ns", + "range": "± 2.6212665310253525" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.82869600057602, + "unit": "ns", + "range": "± 0.20280374693080389" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.1483175198237, + "unit": "ns", + "range": "± 0.6769393524278782" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 35.91202706495921, + "unit": "ns", + "range": "± 0.19730207815279432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 73.12629260619481, + "unit": "ns", + "range": "± 0.4975407848322553" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.858361985002244, + "unit": "ns", + "range": "± 0.09058782579127762" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 73.37904566175797, + "unit": "ns", + "range": "± 1.0785358426948828" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 66.45198076566061, + "unit": "ns", + "range": "± 0.46734746070646777" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 86.31008045781742, + "unit": "ns", + "range": "± 3.3368574752884688" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.52517867088318, + "unit": "ns", + "range": "± 0.07104202912355453" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 70.27361969153087, + "unit": "ns", + "range": "± 0.5727971679700654" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 64.30092971665519, + "unit": "ns", + "range": "± 0.08861692892388817" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 170.67925419807435, + "unit": "ns", + "range": "± 2.5737599061429037" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "2e552c17e9442ab558c4e13c4295a033df473d3c", + "message": "Add early exit on empty arguments", + "timestamp": "2025-07-06T12:48:52+02:00", + "tree_id": "b9039cc3614a11091aed21c4f276a8ec1995ae04", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2e552c17e9442ab558c4e13c4295a033df473d3c" + }, + "date": 1751799342500, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.734846180677415, + "unit": "ns", + "range": "± 0.17822473162520996" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.77459875174931, + "unit": "ns", + "range": "± 0.39883713613236216" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 34.08251439332962, + "unit": "ns", + "range": "± 0.13853658933202379" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.42201952536901, + "unit": "ns", + "range": "± 0.7432844741495109" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.02321662108103, + "unit": "ns", + "range": "± 0.1633217342783525" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.50362770898002, + "unit": "ns", + "range": "± 0.7644879479200303" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 30.716438605235172, + "unit": "ns", + "range": "± 0.074846371011711" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.49406347824977, + "unit": "ns", + "range": "± 0.3436725687819831" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.80004436969757, + "unit": "ns", + "range": "± 0.14700102683494404" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 69.07277175982793, + "unit": "ns", + "range": "± 0.7725810062360344" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 36.43228718439738, + "unit": "ns", + "range": "± 0.14752057720544226" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.96119313637415, + "unit": "ns", + "range": "± 0.5277375364070892" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 30.672745129891805, + "unit": "ns", + "range": "± 0.12002215046727377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 72.60777847766876, + "unit": "ns", + "range": "± 0.6145867888541752" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 67.29403634582248, + "unit": "ns", + "range": "± 0.2104202655866006" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 88.51782347361247, + "unit": "ns", + "range": "± 1.7192641825226178" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.563905835151672, + "unit": "ns", + "range": "± 0.16105910266605122" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.74243668147496, + "unit": "ns", + "range": "± 0.57055495900617" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 68.83304809606992, + "unit": "ns", + "range": "± 0.1279493018016623" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 176.66921056906384, + "unit": "ns", + "range": "± 1.131232389466205" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "495d40293f71e191ac9ca1f5d903381d0ad9ecd9", + "message": "Update benchmark results", + "timestamp": "2025-07-06T13:39:24+02:00", + "tree_id": "60e274804e4e23455ff57caadb6abdf5b446fffa", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/495d40293f71e191ac9ca1f5d903381d0ad9ecd9" + }, + "date": 1751802388099, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.59532996614774, + "unit": "ns", + "range": "± 0.3417938707862307" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 50.83966295994245, + "unit": "ns", + "range": "± 0.1604400424281457" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 33.65028448899587, + "unit": "ns", + "range": "± 0.12570201360161035" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 73.70479900638263, + "unit": "ns", + "range": "± 0.1698011099057091" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 31.652798680464425, + "unit": "ns", + "range": "± 0.06354983197732181" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.55826578821454, + "unit": "ns", + "range": "± 0.32627473246311184" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 30.616435757705144, + "unit": "ns", + "range": "± 0.16122029160275128" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.9241842230161, + "unit": "ns", + "range": "± 0.5393019154698917" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 31.246658209959666, + "unit": "ns", + "range": "± 0.07931800424713761" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 67.86668802499771, + "unit": "ns", + "range": "± 0.5231342027319799" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 34.757036813667845, + "unit": "ns", + "range": "± 0.09452852267037022" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.31168282826742, + "unit": "ns", + "range": "± 0.4175869473875992" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.27963545322418, + "unit": "ns", + "range": "± 0.06643365041559628" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.3553757412093, + "unit": "ns", + "range": "± 0.4261212248530543" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 65.99471073491233, + "unit": "ns", + "range": "± 0.08671254896046138" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 81.66909911632538, + "unit": "ns", + "range": "± 0.8601874569934059" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 28.15718546083995, + "unit": "ns", + "range": "± 0.08662124395599996" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 69.91957891838891, + "unit": "ns", + "range": "± 0.399165467615633" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 67.09931679169337, + "unit": "ns", + "range": "± 0.3941510578927744" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 171.6825110401426, + "unit": "ns", + "range": "± 1.0189173762525683" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "af22a7a72b610fa301a4dcc4298b9e0f7e6dee15", + "message": "Improve unmarshalling performance (#98)", + "timestamp": "2025-07-06T14:04:16+02:00", + "tree_id": "7ef1150e898e10739b6d6fa41e474856a86bdcf5", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/af22a7a72b610fa301a4dcc4298b9e0f7e6dee15" + }, + "date": 1751803877204, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.636098352762367, + "unit": "ns", + "range": "± 0.06116895384092186" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 56.34255833285196, + "unit": "ns", + "range": "± 0.4365702483891217" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.43060312313693, + "unit": "ns", + "range": "± 0.02947128949981187" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 79.66340081049846, + "unit": "ns", + "range": "± 0.36185998262927843" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 31.1047332127889, + "unit": "ns", + "range": "± 0.033769867146201116" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.61304605801901, + "unit": "ns", + "range": "± 0.8444347430741563" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.687652016679447, + "unit": "ns", + "range": "± 0.04546105566685505" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 75.8026878674825, + "unit": "ns", + "range": "± 0.4319685459278508" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.34118439008792, + "unit": "ns", + "range": "± 0.04258351848368166" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 73.34179068406424, + "unit": "ns", + "range": "± 0.7478969730821234" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 33.38426026503245, + "unit": "ns", + "range": "± 0.06271574111076315" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 75.21192185367856, + "unit": "ns", + "range": "± 0.33965018983411316" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.592732152768544, + "unit": "ns", + "range": "± 0.08876155146753031" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 75.47110735518592, + "unit": "ns", + "range": "± 0.6110047269179228" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 65.63425702651342, + "unit": "ns", + "range": "± 0.18498493746029465" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 88.11372403303783, + "unit": "ns", + "range": "± 0.7079016007145142" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.491191550095877, + "unit": "ns", + "range": "± 0.16300296426105024" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 75.6905487815539, + "unit": "ns", + "range": "± 0.4752306901783646" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 62.8531220129558, + "unit": "ns", + "range": "± 0.15408724253556844" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 192.55584575448717, + "unit": "ns", + "range": "± 0.8031589989262562" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d8a8380bf1e80737030d3c497a50d04f00ec1c90", + "message": "Create codeql.yml", + "timestamp": "2025-07-13T21:27:35+02:00", + "tree_id": "4273aa99ffee4c651b8bb6dd8d42a4e5526b4db4", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d8a8380bf1e80737030d3c497a50d04f00ec1c90" + }, + "date": 1752435286286, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.483634120651654, + "unit": "ns", + "range": "± 0.24714864846287368" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.45437757968902, + "unit": "ns", + "range": "± 0.5296800178387514" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 25.19091829856237, + "unit": "ns", + "range": "± 0.12085169337298109" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 74.8832169345447, + "unit": "ns", + "range": "± 0.41563593920009306" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 31.224322199821472, + "unit": "ns", + "range": "± 0.058310823034233766" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 71.78892190181293, + "unit": "ns", + "range": "± 0.30108876772991877" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.46722582181295, + "unit": "ns", + "range": "± 0.07860428153645725" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 73.36887841499768, + "unit": "ns", + "range": "± 0.7010914439279805" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.73755730344699, + "unit": "ns", + "range": "± 0.04833127801252828" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.41004829681836, + "unit": "ns", + "range": "± 0.31699200238994213" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.842157912254336, + "unit": "ns", + "range": "± 0.17852900088130672" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 75.12809642723629, + "unit": "ns", + "range": "± 0.6110458133291821" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.763803585370383, + "unit": "ns", + "range": "± 0.3255802130522228" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 72.43146571091243, + "unit": "ns", + "range": "± 0.5387825239238696" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.4602764527003, + "unit": "ns", + "range": "± 0.1929548675984035" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 87.04192938804627, + "unit": "ns", + "range": "± 0.5193859634503917" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.23517147394327, + "unit": "ns", + "range": "± 0.053043666504964566" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 79.64454797903697, + "unit": "ns", + "range": "± 0.9110752926321495" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.435434208466454, + "unit": "ns", + "range": "± 0.15661049726487694" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 174.1795452741476, + "unit": "ns", + "range": "± 0.4769086304295344" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5ff3c30d03c514b9b02877f63ce06c783c1e1131", + "message": "Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#99)\n\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>", + "timestamp": "2025-07-13T21:34:56+02:00", + "tree_id": "a9299bac01281ca9c29420f4b98d2d688299aea9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5ff3c30d03c514b9b02877f63ce06c783c1e1131" + }, + "date": 1752435734441, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.457325709717615, + "unit": "ns", + "range": "± 0.20573401596344157" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.47761161390104, + "unit": "ns", + "range": "± 1.1026025493818694" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.265436788400013, + "unit": "ns", + "range": "± 0.11634271062546636" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.73478452975934, + "unit": "ns", + "range": "± 0.8547708136813318" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.636949654420217, + "unit": "ns", + "range": "± 0.2022417994966431" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 72.68054332903453, + "unit": "ns", + "range": "± 1.152756692074833" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.43948263724645, + "unit": "ns", + "range": "± 0.08844334298853199" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.14918512105942, + "unit": "ns", + "range": "± 1.1967944934983596" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.43381777803103, + "unit": "ns", + "range": "± 0.15633467556386654" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 69.7866462469101, + "unit": "ns", + "range": "± 1.0635767244762337" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.78026074171066, + "unit": "ns", + "range": "± 0.1711946654177794" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 74.09693476557732, + "unit": "ns", + "range": "± 1.0543988443143728" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.667198900381724, + "unit": "ns", + "range": "± 0.18632363680012465" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 75.61957633972168, + "unit": "ns", + "range": "± 2.0906395771473183" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 62.44789610306422, + "unit": "ns", + "range": "± 0.8936211089713645" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 83.49969786405563, + "unit": "ns", + "range": "± 1.2325298934014675" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.44548498392105, + "unit": "ns", + "range": "± 0.2937210838071392" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.88107212100711, + "unit": "ns", + "range": "± 0.6677691191828591" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 65.10194158156713, + "unit": "ns", + "range": "± 0.19937722514570222" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 166.70043258666993, + "unit": "ns", + "range": "± 1.3081646959105802" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "09f3e94bc5808c7fd33009f728e81d69253047d6", + "message": "Create dependabot.yml", + "timestamp": "2025-07-14T21:48:36+02:00", + "tree_id": "04c8aab4a5b593a40a4240fe1469a6ff3a58b586", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/09f3e94bc5808c7fd33009f728e81d69253047d6" + }, + "date": 1752522975414, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.217111932379858, + "unit": "ns", + "range": "± 0.2891179200219043" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 56.312801309426625, + "unit": "ns", + "range": "± 0.598011285250043" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.02971864938736, + "unit": "ns", + "range": "± 0.24132945701128433" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 74.08830937941869, + "unit": "ns", + "range": "± 0.6265106387284342" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.836238916714986, + "unit": "ns", + "range": "± 0.09481539712628634" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 71.6876110296983, + "unit": "ns", + "range": "± 0.852375131449135" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.685627643551147, + "unit": "ns", + "range": "± 0.10973696777613468" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 77.02161988417308, + "unit": "ns", + "range": "± 1.2955024199544631" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.59202476143837, + "unit": "ns", + "range": "± 0.16225358040271137" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.46786321060998, + "unit": "ns", + "range": "± 0.9547888980350678" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 33.3907091149262, + "unit": "ns", + "range": "± 0.2179236759121408" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 74.88508659601212, + "unit": "ns", + "range": "± 1.2220958319390174" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 31.390594855944315, + "unit": "ns", + "range": "± 0.4678349549395028" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 75.94548223018646, + "unit": "ns", + "range": "± 0.8599430965094492" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 64.0683048248291, + "unit": "ns", + "range": "± 0.16899202505102617" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 90.39585152467092, + "unit": "ns", + "range": "± 1.1763959884041022" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 27.271977521975835, + "unit": "ns", + "range": "± 0.07611348263060874" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 75.09718497991562, + "unit": "ns", + "range": "± 0.5265661723980254" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.417518155915396, + "unit": "ns", + "range": "± 0.09445406640380019" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 180.61551319758098, + "unit": "ns", + "range": "± 1.7596968880124362" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3b96e0cfe7f1f3d47d2e13bdc833f0ec8c9b3637", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T21:54:01+02:00", + "tree_id": "50cfaf57c1713862a8a6187e61d34f318e7dea77", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3b96e0cfe7f1f3d47d2e13bdc833f0ec8c9b3637" + }, + "date": 1752523288603, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.541188863913217, + "unit": "ns", + "range": "± 0.23003656292399918" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.62997376124064, + "unit": "ns", + "range": "± 0.4225075189933683" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.162342365582784, + "unit": "ns", + "range": "± 0.2297433605338247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 74.41125251054764, + "unit": "ns", + "range": "± 1.1996922755739914" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.550808723483765, + "unit": "ns", + "range": "± 0.2638126717337819" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.55284701926368, + "unit": "ns", + "range": "± 0.9188541547633927" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.970013099057333, + "unit": "ns", + "range": "± 0.14457526713799296" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 74.00744548638662, + "unit": "ns", + "range": "± 1.2369104830847264" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.443861961364746, + "unit": "ns", + "range": "± 0.09141665844943121" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 72.90175129686084, + "unit": "ns", + "range": "± 0.7975414918690257" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.79656774202983, + "unit": "ns", + "range": "± 0.13892754033428129" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 73.77728150441096, + "unit": "ns", + "range": "± 0.9502392892426136" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.06055849790573, + "unit": "ns", + "range": "± 0.14896286262610153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 75.27484723455028, + "unit": "ns", + "range": "± 1.7385088645470352" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 84.22852954069774, + "unit": "ns", + "range": "± 0.33211337153496545" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 82.1320915392467, + "unit": "ns", + "range": "± 0.7931897107678719" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.055827294077194, + "unit": "ns", + "range": "± 0.15052198172315046" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 80.81126752297084, + "unit": "ns", + "range": "± 0.4334286178926655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 62.634949723879494, + "unit": "ns", + "range": "± 0.13103368434457868" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 170.49231244836534, + "unit": "ns", + "range": "± 0.7215911023260562" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "01cda5ad909f9eafa6659fafd7b4c153875e50a0", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T21:55:27+02:00", + "tree_id": "2b0786ea9616366ad1d06743371aa6be9495d573", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/01cda5ad909f9eafa6659fafd7b4c153875e50a0" + }, + "date": 1752523388140, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.34648759319232, + "unit": "ns", + "range": "± 0.14773902666284675" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 50.96738130648931, + "unit": "ns", + "range": "± 0.30363088810443095" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.16453407406807, + "unit": "ns", + "range": "± 0.05705575847341331" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 73.74717786220404, + "unit": "ns", + "range": "± 1.145714005704518" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.766559104124706, + "unit": "ns", + "range": "± 0.23608368387684203" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 71.44012945890427, + "unit": "ns", + "range": "± 0.4182043939231277" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 27.179483306407928, + "unit": "ns", + "range": "± 0.1003646605345043" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 73.87418766816457, + "unit": "ns", + "range": "± 1.2061387526102725" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.18265728013856, + "unit": "ns", + "range": "± 0.1358024811611611" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 69.41790538628896, + "unit": "ns", + "range": "± 1.214951551362672" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.8034539381663, + "unit": "ns", + "range": "± 0.09949634026064777" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.6311045686404, + "unit": "ns", + "range": "± 0.667976936442498" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.515687350432078, + "unit": "ns", + "range": "± 0.25445441882119196" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 77.07326663335165, + "unit": "ns", + "range": "± 1.2101825808138358" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 62.87860351403554, + "unit": "ns", + "range": "± 0.29712216402268526" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 86.7569734176, + "unit": "ns", + "range": "± 1.356688548311383" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 30.77858624060949, + "unit": "ns", + "range": "± 0.21314438566037375" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 75.10596734104735, + "unit": "ns", + "range": "± 2.483695125596477" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 62.844104597965874, + "unit": "ns", + "range": "± 0.07486797249513738" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 169.24966408411663, + "unit": "ns", + "range": "± 3.1973681071099627" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "79b16271e251e6e6daa937122507c62d18cdbbfe", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T22:00:08+02:00", + "tree_id": "3631a814e44a99167dfb7f4d2631f6548be840b7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/79b16271e251e6e6daa937122507c62d18cdbbfe" + }, + "date": 1752523662625, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.674999048312504, + "unit": "ns", + "range": "± 0.08253003114349611" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 55.023571356137595, + "unit": "ns", + "range": "± 0.596070446218175" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.577921362717948, + "unit": "ns", + "range": "± 0.12597615466664375" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 77.5763149857521, + "unit": "ns", + "range": "± 0.9946347170624621" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 33.3900776888643, + "unit": "ns", + "range": "± 0.06893005654718598" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 76.88907335599264, + "unit": "ns", + "range": "± 1.1737969742146475" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.826127564907075, + "unit": "ns", + "range": "± 0.11535422961514291" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 76.18589278062184, + "unit": "ns", + "range": "± 1.142400754619169" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.673842561244964, + "unit": "ns", + "range": "± 0.09901669653819373" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 75.22073446512222, + "unit": "ns", + "range": "± 1.2738892441958318" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.75584005514781, + "unit": "ns", + "range": "± 0.14336703968721978" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 75.42568162312874, + "unit": "ns", + "range": "± 0.87673049739066" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.064135698477426, + "unit": "ns", + "range": "± 0.11995677186398192" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 75.58386120625904, + "unit": "ns", + "range": "± 1.2239050483076312" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.774154313405354, + "unit": "ns", + "range": "± 0.2560608349365174" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 98.18708957831065, + "unit": "ns", + "range": "± 1.1568421414639072" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.42396328250567, + "unit": "ns", + "range": "± 0.0760458409550172" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 73.42011089457407, + "unit": "ns", + "range": "± 1.6211773636996336" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.824482100350515, + "unit": "ns", + "range": "± 0.07361527235913284" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 177.1492062886556, + "unit": "ns", + "range": "± 1.904239677735514" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "e6b5b1276e697ff1726c9884b56f51507745b519", + "message": "Add dependabot", + "timestamp": "2025-07-14T22:01:50+02:00", + "tree_id": "3631a814e44a99167dfb7f4d2631f6548be840b7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e6b5b1276e697ff1726c9884b56f51507745b519" + }, + "date": 1752523776957, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.7378343297885, + "unit": "ns", + "range": "± 0.11383090755646202" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 56.12468810876211, + "unit": "ns", + "range": "± 0.9508965168321933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.79011422395706, + "unit": "ns", + "range": "± 0.12820149366145753" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 82.68412786006928, + "unit": "ns", + "range": "± 2.2387672852497236" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 31.49627869469779, + "unit": "ns", + "range": "± 0.040581014651749875" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 80.79207793076833, + "unit": "ns", + "range": "± 1.0305365124143306" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 30.657723358699254, + "unit": "ns", + "range": "± 0.0635408556882267" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 78.50041875418495, + "unit": "ns", + "range": "± 1.6678476129631628" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.692942431994847, + "unit": "ns", + "range": "± 0.10116724408584042" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 76.8050355727856, + "unit": "ns", + "range": "± 0.26518676263265284" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 33.31414143528257, + "unit": "ns", + "range": "± 0.057653806242176135" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 81.41757975419362, + "unit": "ns", + "range": "± 1.066437817758559" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.74019904534022, + "unit": "ns", + "range": "± 0.04534162376249428" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 77.3654364903768, + "unit": "ns", + "range": "± 1.39126528372812" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 65.5736890077591, + "unit": "ns", + "range": "± 0.1014546698697062" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 91.13108332157135, + "unit": "ns", + "range": "± 2.12764414267682" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.85273640950521, + "unit": "ns", + "range": "± 0.03802938907044668" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 81.04778482119242, + "unit": "ns", + "range": "± 1.0790275681160915" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 62.03887748718262, + "unit": "ns", + "range": "± 0.08737679416273543" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 182.0012102808271, + "unit": "ns", + "range": "± 1.6305558871143242" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "c18f85f5cd9414195bd88ffdec6e6f94f557afce", + "message": "Manually point to projects", + "timestamp": "2025-07-14T22:29:14+02:00", + "tree_id": "6b234f2935b20faf6019a4433678c54a87015492", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c18f85f5cd9414195bd88ffdec6e6f94f557afce" + }, + "date": 1752525390808, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.98048369373594, + "unit": "ns", + "range": "± 0.12057187924525542" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 60.19485177993774, + "unit": "ns", + "range": "± 0.6792202886606015" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.802450835704803, + "unit": "ns", + "range": "± 0.060205918629943116" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 88.0141827234855, + "unit": "ns", + "range": "± 0.6270956962216082" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.217191210814885, + "unit": "ns", + "range": "± 0.05078956862799018" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 81.85856951872508, + "unit": "ns", + "range": "± 0.6638606506868332" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 29.748493624585016, + "unit": "ns", + "range": "± 0.06546815473213655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 83.53346227010091, + "unit": "ns", + "range": "± 0.8248211932747664" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.982016718387605, + "unit": "ns", + "range": "± 0.04989403874593189" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 73.94095469656445, + "unit": "ns", + "range": "± 1.760699879085337" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.619036348660785, + "unit": "ns", + "range": "± 0.25385316121787366" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 78.06418206691743, + "unit": "ns", + "range": "± 1.3758808689542503" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.393697564091003, + "unit": "ns", + "range": "± 0.18212571391334398" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 72.65275181531906, + "unit": "ns", + "range": "± 1.7527677627751421" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 65.49730576918675, + "unit": "ns", + "range": "± 0.1796613469612168" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 86.46747858707721, + "unit": "ns", + "range": "± 0.7842342721734727" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.5486005118915, + "unit": "ns", + "range": "± 0.040518578999897206" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.10141839583714, + "unit": "ns", + "range": "± 0.7065850236022847" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 62.591528620038716, + "unit": "ns", + "range": "± 0.11203109101167293" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 192.03708926268988, + "unit": "ns", + "range": "± 1.076907986607954" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d774a56e71466519a8a731cd89c26bc416a1c759", + "message": "Bump AWSSDK.DynamoDBv2 and 7 others (#100)\n\n* Bump AWSSDK.DynamoDBv2 and 7 others\n\nBumps AWSSDK.DynamoDBv2 from 4.0.1 to 4.0.2.2\nBumps BenchmarkDotNet from 0.14.0 to 0.15.2\nBumps FluentAssertions from 7.0.0 to 8.5.0\nBumps Microsoft.CodeAnalysis.Analyzers from 3.11.0 to 4.14.0\nBumps Microsoft.CodeAnalysis.CSharp from 4.10.0 to 4.14.0\nBumps Microsoft.NET.Test.Sdk from 17.14.0 to 17.14.1\nBumps xunit.runner.visualstudio from 3.1.0 to 3.1.2\nBumps xunit.v3 from 2.0.2 to 3.0.0\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.2\n dependency-type: direct:production\n update-type: version-update:semver-minor\n- dependency-name: FluentAssertions\n dependency-version: 8.5.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n- dependency-name: Microsoft.CodeAnalysis.Analyzers\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 17.14.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: xunit.v3\n dependency-version: 3.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \n\n* Update DynamoDBGenerator.SourceGenerator.csproj\n\nSource generator dependencies needs to be manully adjusted. Testing without these depencencies.\n\n* Update DynamoDBGenerator.SourceGenerator.Tests.csproj\n\nAvoid payed version\n\n---------\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-07-14T22:38:26+02:00", + "tree_id": "afec4c7db7dbe86333baaad69b5bdf4184dd28b9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d774a56e71466519a8a731cd89c26bc416a1c759" + }, + "date": 1752525885437, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.853282888730366, + "unit": "ns", + "range": "± 0.2980605615662537" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 59.61550889412562, + "unit": "ns", + "range": "± 0.9785977861328257" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 24.641993655761084, + "unit": "ns", + "range": "± 0.21912253654114686" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 79.83765255582743, + "unit": "ns", + "range": "± 3.346562569681072" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 31.430567610263825, + "unit": "ns", + "range": "± 0.2564682193095715" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.82991736332575, + "unit": "ns", + "range": "± 0.6043040062956494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 27.91002019552084, + "unit": "ns", + "range": "± 0.13782103671927118" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.08479971885681, + "unit": "ns", + "range": "± 0.5988667037662223" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.93623419602712, + "unit": "ns", + "range": "± 0.13007988966528286" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 72.18806077241898, + "unit": "ns", + "range": "± 1.2304925183736108" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 33.96927784170423, + "unit": "ns", + "range": "± 0.12356987458804572" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 73.66044744650523, + "unit": "ns", + "range": "± 0.5741207447481844" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.35824036172458, + "unit": "ns", + "range": "± 0.12079638071435984" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 70.73628919739878, + "unit": "ns", + "range": "± 2.081416075864289" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.2672392981393, + "unit": "ns", + "range": "± 0.4822787413851046" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 83.94291326204936, + "unit": "ns", + "range": "± 1.2858679771792865" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.850458959738415, + "unit": "ns", + "range": "± 0.22927639434800703" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 72.89352128335408, + "unit": "ns", + "range": "± 0.5664743399650023" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 60.92796520675932, + "unit": "ns", + "range": "± 0.3306922200852377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 172.39199226697286, + "unit": "ns", + "range": "± 1.6044400807752588" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "38a5607bdb39de5515d880bff00228cef3a2db60", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.2.2 to 4.0.3.1 (#110)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.3.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-07-31T19:48:16+02:00", + "tree_id": "b221c370dc94de83ae1ed5a030c16695a6aae912", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/38a5607bdb39de5515d880bff00228cef3a2db60" + }, + "date": 1753984466529, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.03515271269358, + "unit": "ns", + "range": "± 0.18330257250222512" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 55.17425444977624, + "unit": "ns", + "range": "± 1.8738903891805807" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.60280321964196, + "unit": "ns", + "range": "± 0.05940254083925935" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 72.94488836710269, + "unit": "ns", + "range": "± 0.43966022480469447" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.782968970445488, + "unit": "ns", + "range": "± 0.07882450446665482" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 71.35897546155113, + "unit": "ns", + "range": "± 0.5519639019613594" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 29.18119175519262, + "unit": "ns", + "range": "± 0.09883254335822318" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 85.08260197639466, + "unit": "ns", + "range": "± 1.6485435756204652" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.36598415034158, + "unit": "ns", + "range": "± 0.05927241793848986" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.06341386692864, + "unit": "ns", + "range": "± 0.43422523889557824" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.70236270626386, + "unit": "ns", + "range": "± 0.024747414736198105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 70.66563763221104, + "unit": "ns", + "range": "± 1.2756808464035487" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.477934420108795, + "unit": "ns", + "range": "± 0.08265196298305193" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 73.86366735185895, + "unit": "ns", + "range": "± 0.6682347151513068" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 64.83490108985167, + "unit": "ns", + "range": "± 0.1094320570079533" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 85.74418170343746, + "unit": "ns", + "range": "± 2.7396312947225994" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.798890275614603, + "unit": "ns", + "range": "± 0.17413935086194296" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 73.88891602937991, + "unit": "ns", + "range": "± 0.7043907092782387" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 60.327391133858605, + "unit": "ns", + "range": "± 0.17544325429536195" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 178.09199214776356, + "unit": "ns", + "range": "± 1.6624860036417772" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "19d5868217cdc3deb0bfe352089eae9f276abf06", + "message": "Upgrade source generator (#113)", + "timestamp": "2025-08-05T22:56:15+02:00", + "tree_id": "2f0e23fa230fe3ceb21700b2442ffe5f79364844", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/19d5868217cdc3deb0bfe352089eae9f276abf06" + }, + "date": 1754427732460, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.741404835994427, + "unit": "ns", + "range": "± 0.08558418816369025" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.571107127836775, + "unit": "ns", + "range": "± 0.6341648784694704" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.744341997163637, + "unit": "ns", + "range": "± 0.07557507634908274" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 74.43828786270959, + "unit": "ns", + "range": "± 0.6418221036737675" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.394709501947677, + "unit": "ns", + "range": "± 0.13691799335587393" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 71.40059540271758, + "unit": "ns", + "range": "± 0.7834572461646433" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.519959283726557, + "unit": "ns", + "range": "± 0.1880897447592967" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 70.42748291095099, + "unit": "ns", + "range": "± 0.6415055444416707" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.911574514848844, + "unit": "ns", + "range": "± 0.1667529368356392" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 68.76318003450122, + "unit": "ns", + "range": "± 0.7136838580330862" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.441925074372975, + "unit": "ns", + "range": "± 0.24254831712734296" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 75.14581054810321, + "unit": "ns", + "range": "± 2.4848477217274514" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.20806036790212, + "unit": "ns", + "range": "± 0.21279593264847604" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 70.11731213728586, + "unit": "ns", + "range": "± 0.6610573195515396" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.375334898630776, + "unit": "ns", + "range": "± 0.37249387700735415" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 85.80233056545258, + "unit": "ns", + "range": "± 1.8951366786128683" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.30170896401008, + "unit": "ns", + "range": "± 0.1269054667584168" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 76.0711151626375, + "unit": "ns", + "range": "± 1.6125803135052945" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 59.997061686856405, + "unit": "ns", + "range": "± 0.48872762184495033" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 177.5134219952992, + "unit": "ns", + "range": "± 2.898425817483193" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "00c067cad1899e429122654d78157dc5d3cc9686", + "message": "Bump xunit.v3 from 3.0.0 to 3.0.1 (#118)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.0.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-08-20T23:22:57+02:00", + "tree_id": "9e996d7c8c7cdb98dcb1c2d6ba4d90bdec140e31", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/00c067cad1899e429122654d78157dc5d3cc9686" + }, + "date": 1755725309340, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.82868453172537, + "unit": "ns", + "range": "± 0.05770931108853806" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 57.30901314814886, + "unit": "ns", + "range": "± 0.7664640983405638" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 24.019082532479214, + "unit": "ns", + "range": "± 0.03135489321423688" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 84.1425903002421, + "unit": "ns", + "range": "± 0.9962622301212982" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.20224952697754, + "unit": "ns", + "range": "± 0.08186328316789834" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 81.17470500469207, + "unit": "ns", + "range": "± 0.8400101036038712" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 29.325295170148213, + "unit": "ns", + "range": "± 0.17913236559258328" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 79.46159368753433, + "unit": "ns", + "range": "± 0.9851096785764086" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.474627235761055, + "unit": "ns", + "range": "± 0.09558688224195633" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 75.12773728370667, + "unit": "ns", + "range": "± 0.8292484887418424" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.09698778849382, + "unit": "ns", + "range": "± 0.09405656136821786" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 77.24063711961111, + "unit": "ns", + "range": "± 0.7318757943214608" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.48180281657439, + "unit": "ns", + "range": "± 0.08335418698047982" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 79.55112249510628, + "unit": "ns", + "range": "± 0.7797428378355963" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 66.83816712243217, + "unit": "ns", + "range": "± 0.259293551611276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 93.79392073835645, + "unit": "ns", + "range": "± 0.7061125413323774" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.40348003919308, + "unit": "ns", + "range": "± 0.12227568854243505" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 80.46677153110504, + "unit": "ns", + "range": "± 0.8628888353496051" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 58.67985921104749, + "unit": "ns", + "range": "± 0.09039042893074876" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 187.13772514661153, + "unit": "ns", + "range": "± 1.3560422667143377" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fe931f7d7b7cd25d9017f3b81420266fa1e8dd49", + "message": "Bump xunit.runner.visualstudio from 3.1.2 to 3.1.4 (#117)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-08-20T23:24:28+02:00", + "tree_id": "a75caed3f9676667f8142a1f85f147a48e351bc8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/fe931f7d7b7cd25d9017f3b81420266fa1e8dd49" + }, + "date": 1755725395554, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.921305626630783, + "unit": "ns", + "range": "± 0.2729988807487583" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.05522468686104, + "unit": "ns", + "range": "± 0.16458584033606977" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.938340802987415, + "unit": "ns", + "range": "± 0.12150977365522297" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 74.34444998502731, + "unit": "ns", + "range": "± 0.6964931448944847" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.580964404803055, + "unit": "ns", + "range": "± 0.12712309175180372" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 73.65681621630986, + "unit": "ns", + "range": "± 1.1625857583741703" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.22109492925497, + "unit": "ns", + "range": "± 0.11920476319681998" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 73.25987677176794, + "unit": "ns", + "range": "± 1.094148634110756" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.05387672143323, + "unit": "ns", + "range": "± 0.12789856578913292" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.48512634164409, + "unit": "ns", + "range": "± 1.447965976135559" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.64396785696348, + "unit": "ns", + "range": "± 0.0963143934341942" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.67447187751532, + "unit": "ns", + "range": "± 1.2863547937651625" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.554365507193975, + "unit": "ns", + "range": "± 0.21353473469256407" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 73.27154189806718, + "unit": "ns", + "range": "± 0.5914805863468172" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 64.07453166587013, + "unit": "ns", + "range": "± 1.0063748468193534" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 84.62156456708908, + "unit": "ns", + "range": "± 1.851363932004006" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.92327090868583, + "unit": "ns", + "range": "± 0.056051939582214674" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 70.97226096902575, + "unit": "ns", + "range": "± 1.0255373834098611" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 62.99145219723383, + "unit": "ns", + "range": "± 0.12480624039289684" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 169.2236488376345, + "unit": "ns", + "range": "± 0.9415763801117032" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8a5066623940e3adccb76ded2bf5838f2769471e", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.3.1 to 4.0.4.1 (#114)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.4.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-08-21T21:04:33+02:00", + "tree_id": "1685fe9f1111f80c937e5590b646eb38f82a1020", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8a5066623940e3adccb76ded2bf5838f2769471e" + }, + "date": 1755803402219, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 30.3203332057366, + "unit": "ns", + "range": "± 0.08486381332419682" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.28502927223841, + "unit": "ns", + "range": "± 0.8735667933134921" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.996039723356564, + "unit": "ns", + "range": "± 0.03962315983095289" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.70896834135056, + "unit": "ns", + "range": "± 0.9700320087217359" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.411253333091736, + "unit": "ns", + "range": "± 0.18934758368186466" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 73.1382548042706, + "unit": "ns", + "range": "± 0.537041136848872" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.296052114168802, + "unit": "ns", + "range": "± 0.17403632787451706" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 73.19759953022003, + "unit": "ns", + "range": "± 0.6052658473664271" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.087353175878526, + "unit": "ns", + "range": "± 0.09542687939977476" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 69.83726005951563, + "unit": "ns", + "range": "± 1.2781344384209046" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.919058407346405, + "unit": "ns", + "range": "± 0.1015394913326878" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.78034024238586, + "unit": "ns", + "range": "± 0.7380916209942323" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.130241611174174, + "unit": "ns", + "range": "± 0.10446427086433749" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.44923710823059, + "unit": "ns", + "range": "± 0.5748309778051763" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 65.2077952226003, + "unit": "ns", + "range": "± 0.08219714681273578" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 87.22128477463356, + "unit": "ns", + "range": "± 0.8716775677319863" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.764650956942486, + "unit": "ns", + "range": "± 0.05779452265451534" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.8095103820165, + "unit": "ns", + "range": "± 0.7134824819986679" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 59.27184499161584, + "unit": "ns", + "range": "± 0.3009025909935418" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 177.51101726293564, + "unit": "ns", + "range": "± 0.642692719554576" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ce316d04a4f68c1aea0d8bbb7e87f9190653d1f2", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.4.1 to 4.0.5.1 (#119)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.5.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-08-29T15:57:53+02:00", + "tree_id": "57ac539535b8df1a1c61b9d1d251f2ea79715f94", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/ce316d04a4f68c1aea0d8bbb7e87f9190653d1f2" + }, + "date": 1756476207884, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.048103754337017, + "unit": "ns", + "range": "± 0.1198597379732516" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 50.56055823656229, + "unit": "ns", + "range": "± 0.15826772373502923" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.97825581048216, + "unit": "ns", + "range": "± 0.09354768058086012" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 77.51851927317105, + "unit": "ns", + "range": "± 0.4912114797345702" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.63652870288262, + "unit": "ns", + "range": "± 0.2190836647712273" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.79235625664393, + "unit": "ns", + "range": "± 0.5003021412570209" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.802807382742564, + "unit": "ns", + "range": "± 0.23446399651012614" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 70.98461517462364, + "unit": "ns", + "range": "± 0.647724353254353" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.856944175866936, + "unit": "ns", + "range": "± 0.09586925020680291" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 68.41555688014397, + "unit": "ns", + "range": "± 0.5392685230206379" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.324313985449926, + "unit": "ns", + "range": "± 0.11341611853761759" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 71.71936384989665, + "unit": "ns", + "range": "± 0.2384658226837028" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.79944083782343, + "unit": "ns", + "range": "± 0.1051442404919503" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.76783271630605, + "unit": "ns", + "range": "± 0.6768915371066349" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.33760529756546, + "unit": "ns", + "range": "± 0.459934416850247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 83.44947836228779, + "unit": "ns", + "range": "± 0.7952429637244585" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.712019745792663, + "unit": "ns", + "range": "± 0.06418398361399213" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.98059012208667, + "unit": "ns", + "range": "± 1.0811055555276239" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.78165845076243, + "unit": "ns", + "range": "± 0.38496063823308635" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 167.16120166437966, + "unit": "ns", + "range": "± 0.7553953628342591" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2d870770bcecc302b96e1bfbb5240fdfce0b8a97", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.5.1 to 4.0.6.1 (#121)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-09T22:56:05+02:00", + "tree_id": "724e9d80caa4273b6daebdcc934b12260e8e1243", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2d870770bcecc302b96e1bfbb5240fdfce0b8a97" + }, + "date": 1757451705086, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.89368957919734, + "unit": "ns", + "range": "± 0.15962231317239914" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 50.26653080261671, + "unit": "ns", + "range": "± 0.2537887357943199" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.796751674016317, + "unit": "ns", + "range": "± 0.08292580045994033" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 76.39944458007812, + "unit": "ns", + "range": "± 0.24078313356294379" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.55360127687454, + "unit": "ns", + "range": "± 0.24148907782718124" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 72.30911991687921, + "unit": "ns", + "range": "± 0.48191603424381657" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 26.825296913584072, + "unit": "ns", + "range": "± 0.0627507473229007" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 71.44188326597214, + "unit": "ns", + "range": "± 0.2150235832617249" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.968320821722347, + "unit": "ns", + "range": "± 0.05000828358424068" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 68.7303506391389, + "unit": "ns", + "range": "± 0.45463333634155884" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 31.546393354733784, + "unit": "ns", + "range": "± 0.08285097918878807" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 72.69792159245564, + "unit": "ns", + "range": "± 0.3090997813093235" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 27.731146913308365, + "unit": "ns", + "range": "± 0.06681867543591873" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.25101238839767, + "unit": "ns", + "range": "± 1.5064750188521834" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 64.20873751810619, + "unit": "ns", + "range": "± 0.3174203645307892" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 85.73210434913635, + "unit": "ns", + "range": "± 2.3358207275175333" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.155949568748476, + "unit": "ns", + "range": "± 0.11700843176059253" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 72.3139304637909, + "unit": "ns", + "range": "± 1.3416165353174783" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.34067041533334, + "unit": "ns", + "range": "± 0.3846505820516595" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 179.0964598973592, + "unit": "ns", + "range": "± 2.9035126430740044" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "96abb525e1c4dab36e7da1502ee88b14e61d6a50", + "message": "Bump BenchmarkDotNet from 0.15.2 to 0.15.3 (#123)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-23T18:43:05+02:00", + "tree_id": "af2c751c2d3508b801f722a4cf1b08c37c5f67a0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/96abb525e1c4dab36e7da1502ee88b14e61d6a50" + }, + "date": 1758646256395, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.12307911472661, + "unit": "ns", + "range": "± 0.09912250368250926" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.10356944004695, + "unit": "ns", + "range": "± 0.2985678819779461" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.833889490365983, + "unit": "ns", + "range": "± 0.05545813139692294" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.75090693632761, + "unit": "ns", + "range": "± 0.19301939390972328" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.403626799583435, + "unit": "ns", + "range": "± 0.07706377586468277" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 72.55520175298055, + "unit": "ns", + "range": "± 0.43742572872913876" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 29.036084307091578, + "unit": "ns", + "range": "± 0.06200816181480432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.12510843460376, + "unit": "ns", + "range": "± 0.2143491889089154" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.827773159742357, + "unit": "ns", + "range": "± 0.06101098421490339" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.33017378648123, + "unit": "ns", + "range": "± 0.4931010173495766" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.03513951026476, + "unit": "ns", + "range": "± 0.0931304386084326" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 73.49061167240143, + "unit": "ns", + "range": "± 1.4218641506733452" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.288677684466045, + "unit": "ns", + "range": "± 0.5933836225082985" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.3038377046585, + "unit": "ns", + "range": "± 0.7090530782284113" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 64.762484339873, + "unit": "ns", + "range": "± 0.3029239198335161" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 82.88708899237893, + "unit": "ns", + "range": "± 1.9756829449103936" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.809030395287735, + "unit": "ns", + "range": "± 0.02932936907477701" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.07555717229843, + "unit": "ns", + "range": "± 0.899992296234825" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 59.14594984849294, + "unit": "ns", + "range": "± 0.09477301662387475" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 167.06945646603901, + "unit": "ns", + "range": "± 0.9977790167249557" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9f740062393e8f9f3dbd527630a7254f72ade665", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.1 to 4.0.6.2 (#122)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-28T21:11:13+02:00", + "tree_id": "99cbe789635404cf4396c3e45c05a833342058ad", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9f740062393e8f9f3dbd527630a7254f72ade665" + }, + "date": 1759087102342, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.31672695875168, + "unit": "ns", + "range": "± 0.17234413491294234" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.98672486543656, + "unit": "ns", + "range": "± 0.5764254781221739" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.112055005771772, + "unit": "ns", + "range": "± 0.043817465903393166" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 76.59366572697958, + "unit": "ns", + "range": "± 0.6305582260384042" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.764698231220244, + "unit": "ns", + "range": "± 0.24769285856685871" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 73.08228787354061, + "unit": "ns", + "range": "± 0.782857605539539" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 27.436085879802704, + "unit": "ns", + "range": "± 0.15691186256800968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 73.90754672459194, + "unit": "ns", + "range": "± 0.5019953261648938" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.315364798674217, + "unit": "ns", + "range": "± 0.098233015270201" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.6941281419534, + "unit": "ns", + "range": "± 0.22269622971659567" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.60596447724562, + "unit": "ns", + "range": "± 0.06495224503125326" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 76.51495017608006, + "unit": "ns", + "range": "± 1.1294858044899831" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.370911689599357, + "unit": "ns", + "range": "± 0.1295433979351587" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 75.68232542276382, + "unit": "ns", + "range": "± 1.5563083433523262" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 62.65125985656466, + "unit": "ns", + "range": "± 0.11146285674114732" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 86.09111328125, + "unit": "ns", + "range": "± 0.8913813257093117" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.806769168376924, + "unit": "ns", + "range": "± 0.1671530357414112" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 70.05701337655385, + "unit": "ns", + "range": "± 0.5938998573982708" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 59.27302451644625, + "unit": "ns", + "range": "± 0.12746795751421638" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 164.18764997323353, + "unit": "ns", + "range": "± 1.9139632965653934" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f7962292f13b78c0d9aa7d477368748236f2f206", + "message": "Bump xunit.runner.visualstudio from 3.1.4 to 3.1.5 (#126)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-29T18:42:16+02:00", + "tree_id": "4420b501f3874397ced78dcf3811c0c628140602", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f7962292f13b78c0d9aa7d477368748236f2f206" + }, + "date": 1759164596855, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.270539742708205, + "unit": "ns", + "range": "± 0.2687975922936532" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.04200880527496, + "unit": "ns", + "range": "± 0.5555866214580455" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 26.64904674490293, + "unit": "ns", + "range": "± 0.16905684545348681" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 81.2374412552003, + "unit": "ns", + "range": "± 2.586518274750511" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.009131046136222, + "unit": "ns", + "range": "± 0.15193944848568222" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.20685404141744, + "unit": "ns", + "range": "± 0.7191852074295781" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.21041793823242, + "unit": "ns", + "range": "± 0.24124413319754273" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 74.05109525185365, + "unit": "ns", + "range": "± 0.5657560038093308" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.314549884625844, + "unit": "ns", + "range": "± 0.09887855909404798" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.48580874602, + "unit": "ns", + "range": "± 0.44352979280842353" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.040770848592125, + "unit": "ns", + "range": "± 0.20842064322135295" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 77.22152638832728, + "unit": "ns", + "range": "± 0.9387036684725952" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 27.08905979303213, + "unit": "ns", + "range": "± 0.07223422137668258" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.06259004275005, + "unit": "ns", + "range": "± 0.48460268474602564" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 65.85303191343944, + "unit": "ns", + "range": "± 0.2569417789957285" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 85.81955306805096, + "unit": "ns", + "range": "± 1.0400383433447993" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.457201023896534, + "unit": "ns", + "range": "± 0.11847570633431759" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 75.6354292790095, + "unit": "ns", + "range": "± 0.9716710445130005" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 59.75105005502701, + "unit": "ns", + "range": "± 0.07538947594694063" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 171.91139645576476, + "unit": "ns", + "range": "± 0.8938603727620354" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5f09be7fd187626f6411a27cdc42f11b6a97333d", + "message": "Bump BenchmarkDotNet from 0.15.3 to 0.15.4 (#125)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-29T18:45:05+02:00", + "tree_id": "000203a66299953d80ca61dd605bc0a146bdb5a2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5f09be7fd187626f6411a27cdc42f11b6a97333d" + }, + "date": 1759164797903, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.19631777803103, + "unit": "ns", + "range": "± 0.13182004078458767" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.52924824555715, + "unit": "ns", + "range": "± 0.7065449189397662" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.102252638339998, + "unit": "ns", + "range": "± 0.25626662373116665" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 76.3699037020023, + "unit": "ns", + "range": "± 0.6623047348200103" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.101612559954326, + "unit": "ns", + "range": "± 0.22300894469181884" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 77.37027678224776, + "unit": "ns", + "range": "± 1.682907642283346" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.988288904939377, + "unit": "ns", + "range": "± 0.10090163220986828" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 80.28884704734968, + "unit": "ns", + "range": "± 3.1909399636780553" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.564598792791365, + "unit": "ns", + "range": "± 0.1656221027561074" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 74.46997611920038, + "unit": "ns", + "range": "± 1.0210215868119255" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.40524596827371, + "unit": "ns", + "range": "± 0.25456147927029416" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 73.92512580326625, + "unit": "ns", + "range": "± 1.2805749047621262" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.798457899263926, + "unit": "ns", + "range": "± 0.11899705109467791" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.94560292561849, + "unit": "ns", + "range": "± 0.28576570702573667" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.21353076299032, + "unit": "ns", + "range": "± 0.19304286116810274" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 83.39667486292976, + "unit": "ns", + "range": "± 0.43416036782778167" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.955178874731065, + "unit": "ns", + "range": "± 0.09967993476478491" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.14081593354543, + "unit": "ns", + "range": "± 1.1101367983321206" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 66.60375779408675, + "unit": "ns", + "range": "± 0.10384843175978399" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 174.16610086957613, + "unit": "ns", + "range": "± 4.548972606377557" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "cad37d37c8639fe72f5afcdaef84e6fd4e689343", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.2 to 4.0.6.3 (#124)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-29T18:51:12+02:00", + "tree_id": "81561588a97de010155dc2d9fb92c90aef79c7e9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/cad37d37c8639fe72f5afcdaef84e6fd4e689343" + }, + "date": 1759165107710, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.77077050081321, + "unit": "ns", + "range": "± 0.029321476199836608" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 55.82038587331772, + "unit": "ns", + "range": "± 0.591484188849598" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.609728968143465, + "unit": "ns", + "range": "± 0.12884933231738813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 86.12515098708016, + "unit": "ns", + "range": "± 0.39606075853770123" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.081979819138844, + "unit": "ns", + "range": "± 0.3362717399956073" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 81.05606637682233, + "unit": "ns", + "range": "± 0.6426773950623053" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.42890136058514, + "unit": "ns", + "range": "± 0.07671563671981187" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 82.5753760099411, + "unit": "ns", + "range": "± 0.6609941738802313" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.952473372220993, + "unit": "ns", + "range": "± 0.07455567607938796" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 79.18361797332764, + "unit": "ns", + "range": "± 1.2720695193837257" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 30.41499061981837, + "unit": "ns", + "range": "± 0.27827033772624366" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 81.94164206300464, + "unit": "ns", + "range": "± 0.4230378347533457" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 27.8168399532636, + "unit": "ns", + "range": "± 0.12384570620485641" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 78.73195280234019, + "unit": "ns", + "range": "± 0.6165714174358521" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 64.35850899560111, + "unit": "ns", + "range": "± 0.1180914799106037" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 92.34739978496845, + "unit": "ns", + "range": "± 0.37391345538900844" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.70669709784644, + "unit": "ns", + "range": "± 0.07013332972491006" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 76.72365393088414, + "unit": "ns", + "range": "± 0.536793128075319" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 59.61463152510779, + "unit": "ns", + "range": "± 0.2701338060586633" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 175.59616136550903, + "unit": "ns", + "range": "± 0.7672176241215809" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2f0dbd68aff2f79e7c584cc7a34e570c59fb270d", + "message": "Bump xunit.v3 from 3.0.1 to 3.1.0 (#129)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.1.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-07T19:48:39+02:00", + "tree_id": "eb4f54d4632242a42c5cccc0e8549a351c83ccb2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2f0dbd68aff2f79e7c584cc7a34e570c59fb270d" + }, + "date": 1759859763878, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.86314497590065, + "unit": "ns", + "range": "± 0.17824986636733825" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.85718178323337, + "unit": "ns", + "range": "± 0.8018431157642644" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.66703993280729, + "unit": "ns", + "range": "± 0.2189239014142781" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 76.99138762553532, + "unit": "ns", + "range": "± 0.5158530495118145" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 31.211405889193216, + "unit": "ns", + "range": "± 0.2913053591850183" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.8608568395887, + "unit": "ns", + "range": "± 0.3230562587067479" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 27.16595029036204, + "unit": "ns", + "range": "± 0.2068005440848206" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 74.68748841966901, + "unit": "ns", + "range": "± 0.6970362670246205" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 20.18740701675415, + "unit": "ns", + "range": "± 0.29235709226987444" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 71.0191330398832, + "unit": "ns", + "range": "± 0.7617316206937279" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 31.611732478325184, + "unit": "ns", + "range": "± 0.07774023135902677" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 73.18634961332593, + "unit": "ns", + "range": "± 1.0712685045030315" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.566032026495254, + "unit": "ns", + "range": "± 0.07729251605918573" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 73.96037364857537, + "unit": "ns", + "range": "± 1.2376988840386385" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.244684499043686, + "unit": "ns", + "range": "± 0.12546165680534974" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 85.27746400466332, + "unit": "ns", + "range": "± 0.7767073196438263" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.374084611733753, + "unit": "ns", + "range": "± 0.299487483045189" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 72.16430049737295, + "unit": "ns", + "range": "± 0.5524796486513274" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.70500179699489, + "unit": "ns", + "range": "± 0.17343828806279" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 169.36765473229545, + "unit": "ns", + "range": "± 0.7929895086623383" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "60ad1782e3851f657c35bd1cded8f94c209cd624", + "message": "Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 (#128)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-10-07T20:29:43+02:00", + "tree_id": "7560295ef00e888de67a120634539b39fc1578eb", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/60ad1782e3851f657c35bd1cded8f94c209cd624" + }, + "date": 1759862226257, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.81543417175611, + "unit": "ns", + "range": "± 0.06972595827467841" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 53.70094920056207, + "unit": "ns", + "range": "± 0.18382449239478585" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 24.884271796544393, + "unit": "ns", + "range": "± 0.0591175990910399" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.5074012187811, + "unit": "ns", + "range": "± 0.12462137408009895" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.26022943854332, + "unit": "ns", + "range": "± 0.06687168004269653" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 71.62371596464745, + "unit": "ns", + "range": "± 0.08015242231760013" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 27.966879681746164, + "unit": "ns", + "range": "± 0.08853614622680085" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 71.1395542706762, + "unit": "ns", + "range": "± 0.23296450126847965" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.787267280476435, + "unit": "ns", + "range": "± 0.07914020293904303" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 67.74002919197082, + "unit": "ns", + "range": "± 0.40054364302655837" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.121347354991094, + "unit": "ns", + "range": "± 0.04537965181598965" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 69.65243826593671, + "unit": "ns", + "range": "± 0.1926320184881054" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.54002110560735, + "unit": "ns", + "range": "± 0.4569965621619116" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 70.11209265674863, + "unit": "ns", + "range": "± 0.1847961005193007" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 60.940674679619924, + "unit": "ns", + "range": "± 0.09548439746513793" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 81.9524945446423, + "unit": "ns", + "range": "± 0.15654927708987165" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.839880587799207, + "unit": "ns", + "range": "± 0.023002995725387627" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 69.56026434898376, + "unit": "ns", + "range": "± 0.19284413200081915" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.433272251716026, + "unit": "ns", + "range": "± 0.08994299321881509" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 166.6242533326149, + "unit": "ns", + "range": "± 0.17777611048858202" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8b9a2a2eab1916b4e63e5c3d3f9b758ed9c5971a", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.3 to 4.0.7 (#127)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-10-07T20:29:21+02:00", + "tree_id": "2d6cacb7fa190c58af882e58ac79682e536fecd9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8b9a2a2eab1916b4e63e5c3d3f9b758ed9c5971a" + }, + "date": 1759862236647, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.113248664599197, + "unit": "ns", + "range": "± 0.06115221693687165" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 54.12374291419983, + "unit": "ns", + "range": "± 0.3292604085144912" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.96642005443573, + "unit": "ns", + "range": "± 0.1264934701762142" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 76.44615734815598, + "unit": "ns", + "range": "± 0.6226946926032377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.56141115937914, + "unit": "ns", + "range": "± 0.10877406717831245" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 74.35857856273651, + "unit": "ns", + "range": "± 0.5269353920935103" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 29.114263061966216, + "unit": "ns", + "range": "± 0.11087812960614979" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.21484462420146, + "unit": "ns", + "range": "± 0.6349176300804675" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.90645177960396, + "unit": "ns", + "range": "± 0.1326806603872845" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.7950067281723, + "unit": "ns", + "range": "± 0.5131669482585853" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.93267101446788, + "unit": "ns", + "range": "± 0.33128717056832685" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 74.32670369318554, + "unit": "ns", + "range": "± 0.6133222703443246" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.146982767752238, + "unit": "ns", + "range": "± 0.09082333088387265" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 70.75811737378439, + "unit": "ns", + "range": "± 0.579489796332857" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 65.63589059455055, + "unit": "ns", + "range": "± 0.14107446010396935" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 84.79878998597464, + "unit": "ns", + "range": "± 1.05756386320384" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.017524959643684, + "unit": "ns", + "range": "± 0.11841378095039819" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 72.03581590311867, + "unit": "ns", + "range": "± 0.4148788506833901" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 62.807697673638664, + "unit": "ns", + "range": "± 0.18820993839388994" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 174.6295256614685, + "unit": "ns", + "range": "± 1.0925767343500377" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8302c04cffeaeae2c845e3d79104ac1e8fc8b47f", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.7 to 4.0.7.2 (#131)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.7.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-16T21:59:04+02:00", + "tree_id": "1d7fd0914252f2a82d725dc28d937599653c2133", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8302c04cffeaeae2c845e3d79104ac1e8fc8b47f" + }, + "date": 1760645206357, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.50979672074318, + "unit": "ns", + "range": "± 0.11871193417873079" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 53.114625585079196, + "unit": "ns", + "range": "± 0.9851234675840512" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.767164838314056, + "unit": "ns", + "range": "± 0.14761802272395977" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 75.48009178042412, + "unit": "ns", + "range": "± 0.6161154580487307" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.961248082774027, + "unit": "ns", + "range": "± 0.12850472545357627" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 73.68037228924888, + "unit": "ns", + "range": "± 1.1995305790089823" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 30.093892971674602, + "unit": "ns", + "range": "± 0.13129403440296383" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 74.41190407276153, + "unit": "ns", + "range": "± 1.0360519492016815" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.400993057659694, + "unit": "ns", + "range": "± 0.04352291814956744" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.66007339557012, + "unit": "ns", + "range": "± 0.865400720429722" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 33.09173882007599, + "unit": "ns", + "range": "± 0.11162084447147144" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 74.81378576904535, + "unit": "ns", + "range": "± 1.2715650678142207" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.556561311086018, + "unit": "ns", + "range": "± 0.11621665441772021" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 73.74091967711082, + "unit": "ns", + "range": "± 2.1056346825020262" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 64.09861383835475, + "unit": "ns", + "range": "± 0.17512107770980645" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 89.56038165943963, + "unit": "ns", + "range": "± 1.183075686455084" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.41992918082646, + "unit": "ns", + "range": "± 0.09073837505654735" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 72.82147169113159, + "unit": "ns", + "range": "± 1.4497702190181936" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.484513895852224, + "unit": "ns", + "range": "± 0.16514893948758413" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 176.34965091092246, + "unit": "ns", + "range": "± 1.3598793033726493" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "128761419c5c2d1a9bc590a9fafefbbd36465227", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.7.2 to 4.0.9.1 (#133)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-27T18:27:58+01:00", + "tree_id": "b43948769fa400f4632f2c980a24fdc39aa04ef0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/128761419c5c2d1a9bc590a9fafefbbd36465227" + }, + "date": 1761586511579, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.254654695590336, + "unit": "ns", + "range": "± 0.08040991306788808" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.42663552505629, + "unit": "ns", + "range": "± 0.5370557761469944" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.976052981615066, + "unit": "ns", + "range": "± 0.11568930262920037" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 74.70908108552297, + "unit": "ns", + "range": "± 0.5194651925094218" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.352946528366633, + "unit": "ns", + "range": "± 0.09663546740780526" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 70.7435907125473, + "unit": "ns", + "range": "± 0.3551086793862494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.290632588522776, + "unit": "ns", + "range": "± 0.1383624591352304" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 69.14742988348007, + "unit": "ns", + "range": "± 0.33986676623339823" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.145942676067353, + "unit": "ns", + "range": "± 0.0850347802178158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 69.67646190949849, + "unit": "ns", + "range": "± 0.5716694740745529" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.33486241560716, + "unit": "ns", + "range": "± 0.12389533439634907" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 70.9310904900233, + "unit": "ns", + "range": "± 0.6872461493723249" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 27.956721222400667, + "unit": "ns", + "range": "± 0.06887163583616872" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 70.85424647160939, + "unit": "ns", + "range": "± 0.4700280756746145" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.93572676181793, + "unit": "ns", + "range": "± 0.20180534460016883" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 83.64839161359347, + "unit": "ns", + "range": "± 0.41382342230151015" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.809819655758993, + "unit": "ns", + "range": "± 0.05455117528991855" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.85484422842661, + "unit": "ns", + "range": "± 0.6468761462175986" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 60.11930598417918, + "unit": "ns", + "range": "± 0.10830205108381465" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 171.8141396386283, + "unit": "ns", + "range": "± 1.0286419743286148" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "830d832fe53ef9ece4ca84bfda6c494955d7b527", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.1 to 4.0.9.3 (#134)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-04T21:57:39+01:00", + "tree_id": "44357edb3ed68b66576f1ada9e66dd64282ef591", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/830d832fe53ef9ece4ca84bfda6c494955d7b527" + }, + "date": 1762290309788, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.350854547818503, + "unit": "ns", + "range": "± 0.2385814318585181" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 51.81925186985418, + "unit": "ns", + "range": "± 1.1723833963349362" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.661800305758202, + "unit": "ns", + "range": "± 0.057294412530368335" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 81.44045515855153, + "unit": "ns", + "range": "± 0.25360068199117053" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.948842928959774, + "unit": "ns", + "range": "± 0.0470572356656738" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 76.76281570593515, + "unit": "ns", + "range": "± 0.9291247463871162" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.68142081896464, + "unit": "ns", + "range": "± 0.20783107936272333" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 70.5102953950564, + "unit": "ns", + "range": "± 0.9933399360989236" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.292757346232733, + "unit": "ns", + "range": "± 0.2322259424371209" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 68.46233541624886, + "unit": "ns", + "range": "± 0.6487447997593849" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.6703156987826, + "unit": "ns", + "range": "± 0.09861818628902078" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 74.93447576999664, + "unit": "ns", + "range": "± 2.085966490993007" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.07124081679753, + "unit": "ns", + "range": "± 0.15412279642850266" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 73.02952220223166, + "unit": "ns", + "range": "± 1.8015386127709496" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.54026700258255, + "unit": "ns", + "range": "± 0.10892564115756416" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 98.01985604763031, + "unit": "ns", + "range": "± 1.7641293109676008" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.711014372961863, + "unit": "ns", + "range": "± 0.10709578071923158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 77.87732154130936, + "unit": "ns", + "range": "± 1.5381835643473247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 60.13105337222417, + "unit": "ns", + "range": "± 0.11313135966317966" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 179.11615049044292, + "unit": "ns", + "range": "± 1.3385030975818781" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "041bd7855ddcaa8426cd9958938044ac1a5c2f4b", + "message": "Bump BenchmarkDotNet from 0.15.4 to 0.15.5 (#136)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-04T21:58:11+01:00", + "tree_id": "a6617d74c84f149ad6aa4d3fd205938f008b42bf", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/041bd7855ddcaa8426cd9958938044ac1a5c2f4b" + }, + "date": 1762290329576, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.123817612017906, + "unit": "ns", + "range": "± 0.14982864169178955" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 50.088795671860375, + "unit": "ns", + "range": "± 0.09592496369993593" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 25.94836808315345, + "unit": "ns", + "range": "± 0.022006729128549736" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 72.44042900005977, + "unit": "ns", + "range": "± 0.3895424987471226" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 30.275685667991638, + "unit": "ns", + "range": "± 0.05673097100683912" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 69.92613307067326, + "unit": "ns", + "range": "± 0.10301122458410245" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.961555733130528, + "unit": "ns", + "range": "± 0.06129685418563566" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 69.94451005856196, + "unit": "ns", + "range": "± 0.3307724420373858" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.778550253311792, + "unit": "ns", + "range": "± 0.0619931109884545" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 66.62624487280846, + "unit": "ns", + "range": "± 0.5122690819299464" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 32.22632981198175, + "unit": "ns", + "range": "± 0.24882450651920276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 69.77887562910716, + "unit": "ns", + "range": "± 0.3125548250555104" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.01513437430064, + "unit": "ns", + "range": "± 0.04276678889325686" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 69.79436547756195, + "unit": "ns", + "range": "± 0.3940239768877917" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.50654939015706, + "unit": "ns", + "range": "± 0.14338355907278616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 83.88896652460099, + "unit": "ns", + "range": "± 0.3110638087059165" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.77333044088804, + "unit": "ns", + "range": "± 0.014816560958008734" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 76.58010646700859, + "unit": "ns", + "range": "± 0.490353084231863" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 58.805705345593964, + "unit": "ns", + "range": "± 0.12653562588603834" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 175.61643805870642, + "unit": "ns", + "range": "± 0.4669468243825337" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c4ecb6e6198e1e31f1e82456d985cdc017d3b066", + "message": "Bump xunit.v3 from 3.1.0 to 3.2.0 (#135)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-06T23:29:02+01:00", + "tree_id": "6b42bda464a9e11a414b309d567dca3909e3372c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c4ecb6e6198e1e31f1e82456d985cdc017d3b066" + }, + "date": 1762468567831, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 27.596728452614375, + "unit": "ns", + "range": "± 0.09966456334505604" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 50.47883017460505, + "unit": "ns", + "range": "± 0.14685527810925905" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.79993291624955, + "unit": "ns", + "range": "± 0.07749232438467804" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 72.70864889451435, + "unit": "ns", + "range": "± 0.44055492712314587" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 29.089029320081075, + "unit": "ns", + "range": "± 0.12092677915481499" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 70.7606091925076, + "unit": "ns", + "range": "± 0.27137906323862987" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.71178806622823, + "unit": "ns", + "range": "± 0.16009710635962227" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 69.77752218927655, + "unit": "ns", + "range": "± 0.4076959414943461" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 18.844085309902827, + "unit": "ns", + "range": "± 0.06793909650364985" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 67.09925158207233, + "unit": "ns", + "range": "± 0.30226387010417793" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 31.374688180593346, + "unit": "ns", + "range": "± 0.040692358676090765" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 69.66185178075519, + "unit": "ns", + "range": "± 0.25938754973692335" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 28.7284920891126, + "unit": "ns", + "range": "± 0.13271502083402695" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 69.87791098867145, + "unit": "ns", + "range": "± 0.23795988892975908" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.502748942375185, + "unit": "ns", + "range": "± 0.192125309400399" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 83.90712200800577, + "unit": "ns", + "range": "± 0.5539567279121357" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 25.683690807649068, + "unit": "ns", + "range": "± 0.14095384195258942" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 70.14468558629353, + "unit": "ns", + "range": "± 0.2065954072818979" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 60.84729489485423, + "unit": "ns", + "range": "± 0.302254749013725" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 171.55580905278524, + "unit": "ns", + "range": "± 0.6626395398918294" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "dbc864c41e38c296ed90fbbc259dd9213d99e35b", + "message": "Bump BenchmarkDotNet from 0.15.5 to 0.15.6 (#138)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-15T11:29:30+01:00", + "tree_id": "35d3d8417081c666c1be9c0c092451b6479113be", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/dbc864c41e38c296ed90fbbc259dd9213d99e35b" + }, + "date": 1763203020113, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.516721008221307, + "unit": "ns", + "range": "± 0.17057284939639603" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 52.9127739242145, + "unit": "ns", + "range": "± 0.4639343806774016" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.243696204253606, + "unit": "ns", + "range": "± 0.14087315627345565" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 73.25889758268993, + "unit": "ns", + "range": "± 0.7656051664790328" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 32.36737827459971, + "unit": "ns", + "range": "± 0.14342643762393556" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 72.4941600839297, + "unit": "ns", + "range": "± 0.5587134478742809" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.17191410916192, + "unit": "ns", + "range": "± 0.07186372903053345" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 72.91990275382996, + "unit": "ns", + "range": "± 0.5915422323041754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.471408979098, + "unit": "ns", + "range": "± 0.09779797029504655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 70.0582824309667, + "unit": "ns", + "range": "± 1.2535297691760847" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 36.25587381521861, + "unit": "ns", + "range": "± 0.17922862355989905" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 74.26564416193193, + "unit": "ns", + "range": "± 2.0792291639409917" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 29.053410081068673, + "unit": "ns", + "range": "± 0.2723268878709044" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 71.6268110324939, + "unit": "ns", + "range": "± 1.9135229080176555" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.99217802683513, + "unit": "ns", + "range": "± 0.1339919187537542" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 86.14219371761594, + "unit": "ns", + "range": "± 1.0749733854727859" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.0545069595178, + "unit": "ns", + "range": "± 0.06673895222543753" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 71.8616521636645, + "unit": "ns", + "range": "± 0.7928380660627716" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.52211449146271, + "unit": "ns", + "range": "± 0.16147718130086472" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 168.85264067649842, + "unit": "ns", + "range": "± 1.122369596739088" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6f99cb576bdae8a84f4b37bd960b24c25158f514", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.3 to 4.0.9.5 (#137)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-15T11:29:47+01:00", + "tree_id": "03753cc1c4b570563fc04e88778ad032b59e4b9d", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/6f99cb576bdae8a84f4b37bd960b24c25158f514" + }, + "date": 1763203131966, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.005886729274476, + "unit": "ns", + "range": "± 0.11149872995676628" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 54.83219872787595, + "unit": "ns", + "range": "± 1.1402089632109766" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 23.50701454281807, + "unit": "ns", + "range": "± 0.039552223252610826" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 79.11134597990248, + "unit": "ns", + "range": "± 3.134663545072469" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 31.246501413981118, + "unit": "ns", + "range": "± 0.12855455114244685" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 75.99781566399794, + "unit": "ns", + "range": "± 1.191372947670206" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 28.61872127453486, + "unit": "ns", + "range": "± 0.09569875406216939" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 74.35399992598428, + "unit": "ns", + "range": "± 2.183222369552899" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 19.472040371100107, + "unit": "ns", + "range": "± 0.36862729970224156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 71.6823890597924, + "unit": "ns", + "range": "± 2.9009647279971165" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 34.67653808423451, + "unit": "ns", + "range": "± 0.03943851116927048" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 76.48439812287688, + "unit": "ns", + "range": "± 2.485154583414754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 30.22123164733251, + "unit": "ns", + "range": "± 0.0576194184562784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 73.55849973218781, + "unit": "ns", + "range": "± 2.2159020844536372" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 63.276539504528046, + "unit": "ns", + "range": "± 0.18705948484521603" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 86.47479350396566, + "unit": "ns", + "range": "± 2.946654017919806" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 26.612501287460326, + "unit": "ns", + "range": "± 0.13561499397511828" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 75.26674802601337, + "unit": "ns", + "range": "± 2.0181644335743036" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 63.18248357772827, + "unit": "ns", + "range": "± 0.2134607464914152" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 169.12929414447984, + "unit": "ns", + "range": "± 3.7047900245100247" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5e8a4945300f4d62dd0cc870380c58c45fc14d5b", + "message": "Bump to dotnet 10 (#139)\n\n* Bump version to .NET 10\n\n* Bump pipelines", + "timestamp": "2025-11-17T17:29:25+01:00", + "tree_id": "ce81a98a7c938f9082e88677ba686b857d934550", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5e8a4945300f4d62dd0cc870380c58c45fc14d5b" + }, + "date": 1763397598050, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 20.50934402614832, + "unit": "ns", + "range": "± 1.8954888209493261" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 34.900344567639486, + "unit": "ns", + "range": "± 0.40414070672884744" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 12.909657089647494, + "unit": "ns", + "range": "± 1.232868827523141" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 56.1127236922582, + "unit": "ns", + "range": "± 0.6233679939373474" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 17.943553310632705, + "unit": "ns", + "range": "± 0.06596377233765163" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 53.0629896124204, + "unit": "ns", + "range": "± 1.0106398712506794" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.256036723361294, + "unit": "ns", + "range": "± 0.45152174191859873" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 53.2070691883564, + "unit": "ns", + "range": "± 0.3603675523684342" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.549205930105277, + "unit": "ns", + "range": "± 0.1875985213195155" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 51.21569346264005, + "unit": "ns", + "range": "± 0.9973205317672073" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 22.295731095331057, + "unit": "ns", + "range": "± 0.12341657529423712" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 56.371052742004395, + "unit": "ns", + "range": "± 0.27477612128295315" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 20.060637456178664, + "unit": "ns", + "range": "± 0.23116579605042678" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 58.038947866513176, + "unit": "ns", + "range": "± 1.6180075352161158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.44736075859804, + "unit": "ns", + "range": "± 0.04696540542244965" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 64.0158262527906, + "unit": "ns", + "range": "± 0.6345539073940504" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.488462131757004, + "unit": "ns", + "range": "± 0.058204962992867156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.926668310165404, + "unit": "ns", + "range": "± 0.8501847785010216" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 49.80859528382619, + "unit": "ns", + "range": "± 0.20708190174095883" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 113.17795925339063, + "unit": "ns", + "range": "± 0.9415106113182766" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "b1a78478f07dc48d4a89ec39e26f60102d8f394a", + "message": "Update benchmark examples", + "timestamp": "2025-11-17T17:46:45+01:00", + "tree_id": "23a11a10a16ce747697b16556954a5eb385a94d8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/b1a78478f07dc48d4a89ec39e26f60102d8f394a" + }, + "date": 1763398607869, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 9.502308493852615, + "unit": "ns", + "range": "± 0.1341949994761152" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 39.364897931323334, + "unit": "ns", + "range": "± 1.7676972548912857" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 9.934391261140506, + "unit": "ns", + "range": "± 0.11347693291083755" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 62.61164324482282, + "unit": "ns", + "range": "± 1.5307781903550601" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 17.806520620981853, + "unit": "ns", + "range": "± 0.08130191626242758" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 55.985614547362694, + "unit": "ns", + "range": "± 1.5055367950291731" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 16.672255963087082, + "unit": "ns", + "range": "± 0.06106759231091808" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 56.831879802048206, + "unit": "ns", + "range": "± 1.1260856544920153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 9.724306709567706, + "unit": "ns", + "range": "± 0.10853634437693356" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 54.257653063849396, + "unit": "ns", + "range": "± 1.2624264946087889" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.265806612869103, + "unit": "ns", + "range": "± 0.023719580504493055" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 55.40684807041417, + "unit": "ns", + "range": "± 2.2712477183760664" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 17.411717412869134, + "unit": "ns", + "range": "± 0.10307263922681073" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 56.17856227137424, + "unit": "ns", + "range": "± 2.5219677547231085" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 38.84900866661753, + "unit": "ns", + "range": "± 0.050113698558597576" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 66.5463136495688, + "unit": "ns", + "range": "± 2.440263556289161" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 14.994880775610605, + "unit": "ns", + "range": "± 0.09062539140429741" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 52.69691246350606, + "unit": "ns", + "range": "± 1.041140479737281" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 43.30228708187739, + "unit": "ns", + "range": "± 0.0347186012955926" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 111.51210050923484, + "unit": "ns", + "range": "± 1.230605043660259" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0d61ce390d70f860decb831e48baeba90a9a27b0", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 4.11.0 to 4.14.0 (#130)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-19T19:37:15+01:00", + "tree_id": "b2418fad53be6cbc14088bc8a8c65067c50601a2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0d61ce390d70f860decb831e48baeba90a9a27b0" + }, + "date": 1763578063635, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.094374265372753, + "unit": "ns", + "range": "± 1.5767120436095645" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 31.95804269398962, + "unit": "ns", + "range": "± 0.07399490658151288" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 15.931541241935848, + "unit": "ns", + "range": "± 2.2023843091476887" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 52.03513757387797, + "unit": "ns", + "range": "± 0.114150798407742" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 17.352660298347473, + "unit": "ns", + "range": "± 0.028553354721379834" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 50.87263900836309, + "unit": "ns", + "range": "± 0.1436106051048233" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.48685861627261, + "unit": "ns", + "range": "± 0.04680367913356312" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 51.32534047535488, + "unit": "ns", + "range": "± 0.09666403440549617" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.376935612696867, + "unit": "ns", + "range": "± 0.025377385557859757" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 49.13399400881359, + "unit": "ns", + "range": "± 0.06799967196671867" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.491792249679566, + "unit": "ns", + "range": "± 0.051063897344301674" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 47.75271241664886, + "unit": "ns", + "range": "± 0.14791068408628655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.065202706626483, + "unit": "ns", + "range": "± 0.030378845853929765" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 51.287473816138046, + "unit": "ns", + "range": "± 0.08632702784856806" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.7369624546596, + "unit": "ns", + "range": "± 0.05741068542474644" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 63.46486779848735, + "unit": "ns", + "range": "± 0.15727288389866048" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.35948564685308, + "unit": "ns", + "range": "± 0.041111343604238626" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 50.87516452074051, + "unit": "ns", + "range": "± 0.1875909477916016" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 52.09706780740193, + "unit": "ns", + "range": "± 0.062213091765252054" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 111.52188122272491, + "unit": "ns", + "range": "± 0.11293817612345135" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "70d20c81fe252691dbefba74ac344faf641d04f2", + "message": "Bump Microsoft.NET.Test.Sdk from 18.0.0 to 18.0.1 (#142)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.0.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-25T22:08:47+01:00", + "tree_id": "12f0de4ca9ec4edbd39e4fbcc5ce0c566e3d9fde", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/70d20c81fe252691dbefba74ac344faf641d04f2" + }, + "date": 1764105542538, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 16.184601824581623, + "unit": "ns", + "range": "± 1.750563890083442" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.55722085634867, + "unit": "ns", + "range": "± 0.3378695060583862" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.258753879946106, + "unit": "ns", + "range": "± 2.2302777067652326" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.44627107381821, + "unit": "ns", + "range": "± 0.5031348577425337" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.009494421737536, + "unit": "ns", + "range": "± 0.07005616159538264" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 50.59248541593551, + "unit": "ns", + "range": "± 0.4262529655409984" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.981320188442865, + "unit": "ns", + "range": "± 0.25812149529240797" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 54.00861590703328, + "unit": "ns", + "range": "± 0.8861066993809772" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.508842331858782, + "unit": "ns", + "range": "± 0.05111219545035036" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 50.707745737499664, + "unit": "ns", + "range": "± 1.1095817891041722" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.879123147328695, + "unit": "ns", + "range": "± 0.07518136465980259" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 50.56079092125098, + "unit": "ns", + "range": "± 0.4323623537008727" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.566898077726364, + "unit": "ns", + "range": "± 0.08623161607891841" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 53.092900423208874, + "unit": "ns", + "range": "± 0.42133459697144426" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.580871735300335, + "unit": "ns", + "range": "± 0.1274871914415355" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 62.26839141334806, + "unit": "ns", + "range": "± 0.6369415061515501" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.843296204010645, + "unit": "ns", + "range": "± 0.08996535572489718" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 51.85546371936798, + "unit": "ns", + "range": "± 0.7889382872121968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 46.241438317298886, + "unit": "ns", + "range": "± 0.08741615580251837" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 113.60222948789597, + "unit": "ns", + "range": "± 0.9930055390418051" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d2b5b490dfd716f3a6af35a7adf2a63222766e13", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.5 to 4.0.10.1 (#140)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-25T22:11:53+01:00", + "tree_id": "c623acbf219b02f51631e87bcb3717044850a98c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d2b5b490dfd716f3a6af35a7adf2a63222766e13" + }, + "date": 1764105681294, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 17.433365894556047, + "unit": "ns", + "range": "± 1.247395456751875" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 32.652322759230934, + "unit": "ns", + "range": "± 0.1597235638474298" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.531825266281764, + "unit": "ns", + "range": "± 0.13393276531563122" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.403703367710115, + "unit": "ns", + "range": "± 0.7767826528707478" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.053366523981094, + "unit": "ns", + "range": "± 0.12442777254965467" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 50.794936720530195, + "unit": "ns", + "range": "± 0.4532342659546634" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.84306797843713, + "unit": "ns", + "range": "± 0.05373026795435706" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 55.73262557813099, + "unit": "ns", + "range": "± 0.683155754774837" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.458026263117791, + "unit": "ns", + "range": "± 0.05925775571570564" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 51.43880885839462, + "unit": "ns", + "range": "± 1.0713295579296769" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.156414236625036, + "unit": "ns", + "range": "± 0.08287222078490565" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 51.321472917993866, + "unit": "ns", + "range": "± 0.4347817862262163" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.878106290102004, + "unit": "ns", + "range": "± 0.1764440063576916" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 53.522003610928856, + "unit": "ns", + "range": "± 0.6314340578388521" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.353437322836655, + "unit": "ns", + "range": "± 0.07086191798273345" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 58.95857860360827, + "unit": "ns", + "range": "± 0.43393661553843177" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.787908021608988, + "unit": "ns", + "range": "± 0.07847066508868891" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 50.08832405010859, + "unit": "ns", + "range": "± 0.989272855273597" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 49.585951093832655, + "unit": "ns", + "range": "± 0.19661061092903329" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 112.56292635202408, + "unit": "ns", + "range": "± 2.1285140223985364" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "676bff83ac85ec348411de09d95fb1d6b3259161", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 4.14.0 to 5.0.0 (#141)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-25T22:10:06+01:00", + "tree_id": "6b603c1d361508a8ffec0369b72b51e7f9f3fa3e", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/676bff83ac85ec348411de09d95fb1d6b3259161" + }, + "date": 1764105733400, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.63799489335138, + "unit": "ns", + "range": "± 2.1546278230821247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 32.93892976442973, + "unit": "ns", + "range": "± 0.25776196466244705" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 15.108645113429638, + "unit": "ns", + "range": "± 1.9465622775960503" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 56.45921528041363, + "unit": "ns", + "range": "± 3.8479477967833637" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.70264485081037, + "unit": "ns", + "range": "± 0.10789756615773469" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 55.27122478882472, + "unit": "ns", + "range": "± 1.7111726094861681" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 20.16554973125458, + "unit": "ns", + "range": "± 0.0984709883942227" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 57.21064509238516, + "unit": "ns", + "range": "± 0.6772261444809833" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.170141194015741, + "unit": "ns", + "range": "± 0.31929411885449066" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 56.36854988098145, + "unit": "ns", + "range": "± 1.5899992543846753" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.282910374800363, + "unit": "ns", + "range": "± 0.16384254364259707" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 51.23068387593542, + "unit": "ns", + "range": "± 0.7251872194616988" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.792504662275313, + "unit": "ns", + "range": "± 0.15952436121182623" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 143.87252848488944, + "unit": "ns", + "range": "± 1.1516541682255903" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.043805790799006, + "unit": "ns", + "range": "± 0.17516212609690623" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 60.84023349483808, + "unit": "ns", + "range": "± 0.7340841151282462" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 19.122093973251488, + "unit": "ns", + "range": "± 0.13121303444910312" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 53.968373332704815, + "unit": "ns", + "range": "± 0.7955005379731018" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 49.41677494843801, + "unit": "ns", + "range": "± 0.3522774490975617" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 112.09432341655095, + "unit": "ns", + "range": "± 1.6164011754803154" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a9aa033c019d2b30568999e027a40c7e11ac4d33", + "message": "Bump xunit.v3 from 3.2.0 to 3.2.1 (#143)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-12-03T21:33:14+01:00", + "tree_id": "2f86553a382cecc87801a032d09d5a4ab03863a6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/a9aa033c019d2b30568999e027a40c7e11ac4d33" + }, + "date": 1764794537454, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 13.723724538087845, + "unit": "ns", + "range": "± 0.02749362599498582" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 36.188940521081285, + "unit": "ns", + "range": "± 0.37189517381845866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.637637386471033, + "unit": "ns", + "range": "± 0.8773516906293386" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 60.21003481057974, + "unit": "ns", + "range": "± 0.4137443862894252" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.526638158162434, + "unit": "ns", + "range": "± 0.08599863288380488" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 56.60911132182394, + "unit": "ns", + "range": "± 0.46468952201785485" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.361951899528503, + "unit": "ns", + "range": "± 0.19196877967150647" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 60.929364598714386, + "unit": "ns", + "range": "± 0.28965964249783727" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.877849312623342, + "unit": "ns", + "range": "± 0.0632487610142968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 55.116602934896946, + "unit": "ns", + "range": "± 1.103669606996379" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 20.347482311725617, + "unit": "ns", + "range": "± 0.11520222313896103" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 55.47144447479929, + "unit": "ns", + "range": "± 0.36665539215072773" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.97413973723139, + "unit": "ns", + "range": "± 0.039339128040338484" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 57.90381509065628, + "unit": "ns", + "range": "± 0.5985262407654033" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.26021257241567, + "unit": "ns", + "range": "± 0.0855095751422085" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 66.81774858633678, + "unit": "ns", + "range": "± 0.5159103841480102" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 18.06539395025798, + "unit": "ns", + "range": "± 0.05779704074537055" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 57.301808719451614, + "unit": "ns", + "range": "± 0.42977827177395667" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 50.77451938390732, + "unit": "ns", + "range": "± 0.03255398983083204" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 119.0022795677185, + "unit": "ns", + "range": "± 0.6674379449498444" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f024941eb95e357d2ba0c311adbbfc38324bd8ce", + "message": "Bump BenchmarkDotNet from 0.15.6 to 0.15.8 (#144)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-03T21:32:55+01:00", + "tree_id": "87bf7f4eb46fe67bdec8cd274bbec4cca5ce53c0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f024941eb95e357d2ba0c311adbbfc38324bd8ce" + }, + "date": 1764794603058, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 21.215603213310242, + "unit": "ns", + "range": "± 2.244700528030527" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 34.9268922104555, + "unit": "ns", + "range": "± 0.7763792974592445" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.806426869667305, + "unit": "ns", + "range": "± 3.904626236309117" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 59.59331611792246, + "unit": "ns", + "range": "± 1.0653456904586103" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.565868427356083, + "unit": "ns", + "range": "± 0.17951748504141415" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 52.73473919139189, + "unit": "ns", + "range": "± 1.1033791647731783" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 20.16774297505617, + "unit": "ns", + "range": "± 0.0678226162717624" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 58.569598933060966, + "unit": "ns", + "range": "± 0.7770765332416386" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.337257490626403, + "unit": "ns", + "range": "± 0.04835199848075162" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 56.06756354430143, + "unit": "ns", + "range": "± 1.189228608300966" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.27995128929615, + "unit": "ns", + "range": "± 0.12066507607894096" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 52.17280999214753, + "unit": "ns", + "range": "± 1.3746212195622667" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.91665846322264, + "unit": "ns", + "range": "± 0.1675781721137111" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 54.42798464862924, + "unit": "ns", + "range": "± 1.1073600374335242" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.416763075760436, + "unit": "ns", + "range": "± 0.10873186665753287" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 61.01581205924352, + "unit": "ns", + "range": "± 0.7594044733011301" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.577976646025977, + "unit": "ns", + "range": "± 0.05378869965650106" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 53.29131422259591, + "unit": "ns", + "range": "± 1.3265255222443741" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 48.77210238805184, + "unit": "ns", + "range": "± 0.1451589546348199" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 114.03215708902904, + "unit": "ns", + "range": "± 1.9532451963625574" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0e06c6a3f110d1272f37377e21f98e30bdfb0aa3", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.1 to 4.0.10.2 (#145)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-08T19:37:58+01:00", + "tree_id": "5c1e110629c4af80c6dac1cc98726a3380e5cfc3", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0e06c6a3f110d1272f37377e21f98e30bdfb0aa3" + }, + "date": 1765219657132, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 14.733480008691549, + "unit": "ns", + "range": "± 0.6401496733997453" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.93041999340058, + "unit": "ns", + "range": "± 0.6648798319917522" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 15.087124029695987, + "unit": "ns", + "range": "± 2.3922143527799355" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.1597293982139, + "unit": "ns", + "range": "± 0.35575187908629075" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.942166274785997, + "unit": "ns", + "range": "± 0.20379507384343887" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 52.88449910708836, + "unit": "ns", + "range": "± 1.4818691923019431" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.449929330746333, + "unit": "ns", + "range": "± 0.21551636094917373" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 53.705855496724446, + "unit": "ns", + "range": "± 0.7196934467481256" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.86514471868674, + "unit": "ns", + "range": "± 0.20532896142708945" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 49.964745342731476, + "unit": "ns", + "range": "± 0.3174977482824556" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.78764045238495, + "unit": "ns", + "range": "± 0.0738148808285399" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 52.30337603177343, + "unit": "ns", + "range": "± 0.5061394191100876" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.501175722250572, + "unit": "ns", + "range": "± 0.10046307457971826" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 52.093882565314956, + "unit": "ns", + "range": "± 0.3896168423592677" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.93894762992859, + "unit": "ns", + "range": "± 0.10594891393811924" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 61.16742614337376, + "unit": "ns", + "range": "± 1.071517773313205" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.57330521941185, + "unit": "ns", + "range": "± 0.05216912501010138" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 51.81238274063383, + "unit": "ns", + "range": "± 0.5787782741764678" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 49.72369706630707, + "unit": "ns", + "range": "± 0.1511696616081469" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 117.17156566892352, + "unit": "ns", + "range": "± 0.907446758503462" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6d276403bae447fb27760d0871cf74f1e890d386", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.2 to 4.0.10.4 (#146)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-15T19:47:07+01:00", + "tree_id": "042c0cff0f5e3810799ca0c2fa21d65aaf8074dd", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/6d276403bae447fb27760d0871cf74f1e890d386" + }, + "date": 1765824981411, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 13.361249121335836, + "unit": "ns", + "range": "± 0.0839239996590437" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.17864759763082, + "unit": "ns", + "range": "± 0.5136623630114246" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 14.296753327153167, + "unit": "ns", + "range": "± 1.6202528054563055" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.6784904232392, + "unit": "ns", + "range": "± 0.6161038172516323" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 17.99882344050067, + "unit": "ns", + "range": "± 0.0737190735467585" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 52.05570305188497, + "unit": "ns", + "range": "± 0.7081553476522423" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.71526655767645, + "unit": "ns", + "range": "± 0.07216592583391968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 52.57554849386215, + "unit": "ns", + "range": "± 0.5694366083257878" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.529910558036395, + "unit": "ns", + "range": "± 0.04905715320468647" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 50.3460662152086, + "unit": "ns", + "range": "± 0.3301042968180068" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.681856749455132, + "unit": "ns", + "range": "± 0.07386328418898407" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 50.104673949571755, + "unit": "ns", + "range": "± 0.5026103026477051" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.5688914557298, + "unit": "ns", + "range": "± 0.0802150733510158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 54.64049734060581, + "unit": "ns", + "range": "± 0.21891247552204737" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.49609766687666, + "unit": "ns", + "range": "± 0.13624959104867818" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 59.611631291253225, + "unit": "ns", + "range": "± 0.6374561316413864" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.774737521012625, + "unit": "ns", + "range": "± 0.12134674245689019" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 53.21767017046611, + "unit": "ns", + "range": "± 0.5872808697172309" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 49.190015469278606, + "unit": "ns", + "range": "± 0.1017881193154736" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 113.39010616143544, + "unit": "ns", + "range": "± 0.9070971092762327" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e796b408df191de1a49254ff7512233699a27e81", + "message": "Support both dotnet 8 and 10 (#147)\n\n\n* remove benchmark files", + "timestamp": "2025-12-15T20:15:54+01:00", + "tree_id": "ec1d266ba443890ffd40e26b9871e0224b27b687", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e796b408df191de1a49254ff7512233699a27e81" + }, + "date": 1765826824821, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 16.45156847617843, + "unit": "ns", + "range": "± 1.8145629940254981" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 34.889675760269164, + "unit": "ns", + "range": "± 0.46294793982197174" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 22.284695997536183, + "unit": "ns", + "range": "± 2.780077416477543" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 53.61691781452724, + "unit": "ns", + "range": "± 0.7848019326647281" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.243928734461466, + "unit": "ns", + "range": "± 0.09885073578679607" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 53.626677739620206, + "unit": "ns", + "range": "± 0.9108350551655178" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 17.643689723809562, + "unit": "ns", + "range": "± 0.17725818164400933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 54.97417804896831, + "unit": "ns", + "range": "± 1.3186857304429198" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 14.244963098849569, + "unit": "ns", + "range": "± 0.1708632805858751" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 50.99429096068655, + "unit": "ns", + "range": "± 0.7769159017460286" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.5550382903644, + "unit": "ns", + "range": "± 0.11670658844709289" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 51.0334047802857, + "unit": "ns", + "range": "± 0.6720807147938646" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.93942645788193, + "unit": "ns", + "range": "± 0.08251378833720074" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 52.806944052378334, + "unit": "ns", + "range": "± 0.7010115815486208" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.906629383563995, + "unit": "ns", + "range": "± 0.20498400647283785" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 61.6236896717802, + "unit": "ns", + "range": "± 2.548257240544877" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.902967518993787, + "unit": "ns", + "range": "± 0.11891597659582151" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.16206015007837, + "unit": "ns", + "range": "± 0.7877564235649036" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 48.1449860563645, + "unit": "ns", + "range": "± 0.10012564263615187" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 115.25376564661661, + "unit": "ns", + "range": "± 0.879049516872542" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "1fa98ca55a11ab87636f4bb77ce6b4a69adafac8", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.4 to 4.0.10.5 (#149)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-06T21:09:53+01:00", + "tree_id": "b8412797e78fead403456d9c87a96824efa548d7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/1fa98ca55a11ab87636f4bb77ce6b4a69adafac8" + }, + "date": 1767730806822, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 13.894582164287566, + "unit": "ns", + "range": "± 0.15542526458542638" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 37.06960349487809, + "unit": "ns", + "range": "± 1.6028825711392893" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 12.686686822037766, + "unit": "ns", + "range": "± 0.7717586924960542" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 57.591378522224915, + "unit": "ns", + "range": "± 2.155793442713728" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.374065303376742, + "unit": "ns", + "range": "± 0.12142948093805546" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 54.72988520264626, + "unit": "ns", + "range": "± 1.315281764331326" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.385935163497926, + "unit": "ns", + "range": "± 0.1459333098308616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 57.004438906908035, + "unit": "ns", + "range": "± 1.3677342118740494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.774530090391636, + "unit": "ns", + "range": "± 0.08831771233425979" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 53.38465218794973, + "unit": "ns", + "range": "± 1.252929303741049" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.562812129656475, + "unit": "ns", + "range": "± 0.10055690266605179" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 55.59468868017197, + "unit": "ns", + "range": "± 1.507539266319837" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.445859080553056, + "unit": "ns", + "range": "± 0.1702980593945967" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 55.31886360320178, + "unit": "ns", + "range": "± 1.8268962270185058" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.19759454045977, + "unit": "ns", + "range": "± 0.16297093733668508" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 62.13481909578497, + "unit": "ns", + "range": "± 1.5566768551894616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.962716907262802, + "unit": "ns", + "range": "± 0.22602172490951056" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.9240825491793, + "unit": "ns", + "range": "± 1.1203191214987989" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 49.32455954551697, + "unit": "ns", + "range": "± 0.15492220360756526" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 115.87004195319281, + "unit": "ns", + "range": "± 3.2298533931497997" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3416372ec96eac27fb57b620f18a017d324cb39b", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.5 to 4.0.10.7 (#150)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-12T23:23:11+01:00", + "tree_id": "bdac973c5d947c461d44a4307cd1234fa09ec328", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3416372ec96eac27fb57b620f18a017d324cb39b" + }, + "date": 1768257120411, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 14.050407437607646, + "unit": "ns", + "range": "± 0.5362387093645704" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 36.425777175596785, + "unit": "ns", + "range": "± 0.24687826221236167" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 11.535825899243354, + "unit": "ns", + "range": "± 0.1487798835114185" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 56.037686958032495, + "unit": "ns", + "range": "± 1.2182775625534277" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.702624311813942, + "unit": "ns", + "range": "± 0.06400863512082625" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 56.30698835424015, + "unit": "ns", + "range": "± 0.5144552830189688" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.46470027949129, + "unit": "ns", + "range": "± 0.047459081436319196" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 56.45102593104045, + "unit": "ns", + "range": "± 0.8012026345259985" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.923572031656901, + "unit": "ns", + "range": "± 0.12130524175817797" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 54.94140709638596, + "unit": "ns", + "range": "± 0.7154917917641199" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.885509284337363, + "unit": "ns", + "range": "± 0.11180922990127402" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 54.98356553713481, + "unit": "ns", + "range": "± 0.7649338100196624" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.368904445852554, + "unit": "ns", + "range": "± 0.031644315113182844" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 57.417455460344044, + "unit": "ns", + "range": "± 0.6997381552500443" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.090187119586126, + "unit": "ns", + "range": "± 0.04383564709416762" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 68.4882008112394, + "unit": "ns", + "range": "± 0.996961361373276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.348268774839546, + "unit": "ns", + "range": "± 0.028576814178338426" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 60.10461754004161, + "unit": "ns", + "range": "± 0.25479023105141235" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 52.13424094120661, + "unit": "ns", + "range": "± 0.1771234698494529" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 122.8565228666578, + "unit": "ns", + "range": "± 0.44694451061374135" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d11d79360ab749248da0be405b4445330b2a857b", + "message": "Bump xunit.v3 from 3.2.1 to 3.2.2 (#152)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-20T18:58:11+01:00", + "tree_id": "46f0c5d8efafc035394bf2f41fe3543406babf76", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d11d79360ab749248da0be405b4445330b2a857b" + }, + "date": 1768932436082, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.452188711762428, + "unit": "ns", + "range": "± 1.4830757687387004" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 32.753601523240405, + "unit": "ns", + "range": "± 0.20739919937046467" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 11.000699637027887, + "unit": "ns", + "range": "± 0.08127340499935118" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.27342022742544, + "unit": "ns", + "range": "± 0.7625208326229773" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.857356894016267, + "unit": "ns", + "range": "± 0.1570284521417584" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 58.95851558844249, + "unit": "ns", + "range": "± 0.7114118366208113" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.776291601359844, + "unit": "ns", + "range": "± 0.046869438894451505" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 61.56815856695175, + "unit": "ns", + "range": "± 0.9221536011110026" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.246021510163944, + "unit": "ns", + "range": "± 0.04625359985001723" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 58.223284478982286, + "unit": "ns", + "range": "± 1.1389934465842548" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.453972027851986, + "unit": "ns", + "range": "± 0.04227819700984891" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 65.05921218486932, + "unit": "ns", + "range": "± 0.5559730158415326" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 20.277596426861628, + "unit": "ns", + "range": "± 0.03154000167638039" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 64.05249537229538, + "unit": "ns", + "range": "± 1.233936589553528" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.197153170903526, + "unit": "ns", + "range": "± 0.08268173834314828" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 77.49469678004583, + "unit": "ns", + "range": "± 1.1292439607258629" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.755731958150864, + "unit": "ns", + "range": "± 0.0430265380298356" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 66.78555005391439, + "unit": "ns", + "range": "± 0.4916138354202125" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 46.552832445928026, + "unit": "ns", + "range": "± 0.12253322111994736" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 127.79318873882293, + "unit": "ns", + "range": "± 0.7894011663317054" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "16fd768caec892238f03d79fea639afb555b6d46", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.7 to 4.0.10.8 (#151)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-01-20T18:58:33+01:00", + "tree_id": "b4010be73dd32f8d152afaa0de4a1e38cbb35499", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/16fd768caec892238f03d79fea639afb555b6d46" + }, + "date": 1768932487499, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 13.191774725914001, + "unit": "ns", + "range": "± 0.104003947621742" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.89057778057299, + "unit": "ns", + "range": "± 0.7227322592347906" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 14.04282510932535, + "unit": "ns", + "range": "± 1.1548802214771763" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 57.78027902444204, + "unit": "ns", + "range": "± 0.9231033060633805" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.357670694589615, + "unit": "ns", + "range": "± 0.05525659968493754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 54.1924848484993, + "unit": "ns", + "range": "± 1.4865193398931904" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 22.182417857646943, + "unit": "ns", + "range": "± 0.13571584536700204" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 58.16260414123535, + "unit": "ns", + "range": "± 0.7367220751139377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.528398393591244, + "unit": "ns", + "range": "± 0.19257570163156051" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 49.99857300519943, + "unit": "ns", + "range": "± 1.0065720492679748" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.15622632900874, + "unit": "ns", + "range": "± 0.29257182372312396" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 54.678686360518135, + "unit": "ns", + "range": "± 0.9137869879076655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 21.985353285074233, + "unit": "ns", + "range": "± 0.15515122223256753" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 50.33634487645967, + "unit": "ns", + "range": "± 0.43320503877187017" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.93504197256906, + "unit": "ns", + "range": "± 0.07475316176791595" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 59.50133534578177, + "unit": "ns", + "range": "± 0.443985835760398" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 19.594849234819414, + "unit": "ns", + "range": "± 0.05042353465090891" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 52.89116714398066, + "unit": "ns", + "range": "± 0.33422375073101823" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 46.34420951207479, + "unit": "ns", + "range": "± 0.17621686882414242" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 116.91937457323074, + "unit": "ns", + "range": "± 1.695374685040485" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5135f67fe1e7577652c77d17711cb0f16cdc7ab2", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.8 to 4.0.11 (#153)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-29T21:30:15+01:00", + "tree_id": "315991da7966aa7b121b5272d4db2f757a0ac70b", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5135f67fe1e7577652c77d17711cb0f16cdc7ab2" + }, + "date": 1769719246031, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.634472945928575, + "unit": "ns", + "range": "± 1.7976701664315013" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 35.241526688848225, + "unit": "ns", + "range": "± 0.6358149404966732" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.93154875215362, + "unit": "ns", + "range": "± 0.924633365722716" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.006791341304776, + "unit": "ns", + "range": "± 0.8308260915984715" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.074023165305455, + "unit": "ns", + "range": "± 0.12968261825703228" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 50.875641545653345, + "unit": "ns", + "range": "± 1.2349324510167146" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.9053255204971, + "unit": "ns", + "range": "± 0.1381670139175784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 55.10844536764281, + "unit": "ns", + "range": "± 0.45284768438770095" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.521999851933547, + "unit": "ns", + "range": "± 0.10125572908872324" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 50.377909779548645, + "unit": "ns", + "range": "± 1.2249721082020564" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.84357856909434, + "unit": "ns", + "range": "± 0.11785421500940611" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 54.15288654168447, + "unit": "ns", + "range": "± 0.8184654943345069" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.518760736783346, + "unit": "ns", + "range": "± 0.07548372119607727" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 53.223100797335306, + "unit": "ns", + "range": "± 0.7284971568248721" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.34095621960504, + "unit": "ns", + "range": "± 0.12385836551252707" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 60.49650410243443, + "unit": "ns", + "range": "± 1.0499924682514867" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.966705426573753, + "unit": "ns", + "range": "± 0.09284964988431203" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.43692335715661, + "unit": "ns", + "range": "± 0.4099674167631017" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 45.3912382381303, + "unit": "ns", + "range": "± 0.12540580723059688" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 111.28333697148732, + "unit": "ns", + "range": "± 0.9896366870308105" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e5982829b7409737277eddb5a9076dc422f5f4e", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.11 to 4.0.14 (#155)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.14\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-02-09T10:56:44+01:00", + "tree_id": "46da6da1762f2b2d4d17689cd6d3f557052d9c1f", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3e5982829b7409737277eddb5a9076dc422f5f4e" + }, + "date": 1770631548883, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.16414754331112, + "unit": "ns", + "range": "± 1.4859626069017675" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 37.049497775236766, + "unit": "ns", + "range": "± 0.6844544857592125" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 11.282906013727189, + "unit": "ns", + "range": "± 0.06330257127460172" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 59.38694921731949, + "unit": "ns", + "range": "± 0.39206344528382064" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 17.96026399731636, + "unit": "ns", + "range": "± 0.06277005834649153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 82.89890517907985, + "unit": "ns", + "range": "± 1.7241811544832104" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 17.692414881927625, + "unit": "ns", + "range": "± 0.06802098749726176" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 58.2936817577907, + "unit": "ns", + "range": "± 0.9262546442666775" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.786136415600776, + "unit": "ns", + "range": "± 0.04894921412310361" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 55.182004896799725, + "unit": "ns", + "range": "± 0.617074855378693" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.212356810058868, + "unit": "ns", + "range": "± 0.04885094392927242" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 54.26761066168547, + "unit": "ns", + "range": "± 1.0587321551115456" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.319202325173787, + "unit": "ns", + "range": "± 0.10640873523028045" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 56.5305402080218, + "unit": "ns", + "range": "± 0.6292492783764905" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.844982083638506, + "unit": "ns", + "range": "± 0.1392728442693611" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 66.8404574725363, + "unit": "ns", + "range": "± 1.446424159361779" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 22.675264381936618, + "unit": "ns", + "range": "± 0.06265988529620556" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 55.51876813599041, + "unit": "ns", + "range": "± 0.6259927756941194" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 49.47151969029353, + "unit": "ns", + "range": "± 0.13559741668772762" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 121.39377839565277, + "unit": "ns", + "range": "± 1.2565894416606884" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f81c10588869561783cc8cf73f3bbac9473e4dd1", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.14 to 4.0.14.1 (#156)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.14.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-02-26T22:55:02+01:00", + "tree_id": "12c801ee41a03ea637c86e6f02f1458eed322d35", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f81c10588869561783cc8cf73f3bbac9473e4dd1" + }, + "date": 1772143549148, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 17.987991690933704, + "unit": "ns", + "range": "± 2.1134624858464015" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 34.09886843363444, + "unit": "ns", + "range": "± 0.5745655545661832" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 15.624630872011185, + "unit": "ns", + "range": "± 2.5949097177838394" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.00093116930553, + "unit": "ns", + "range": "± 0.6214749201163385" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.092293471097946, + "unit": "ns", + "range": "± 0.14293376512426822" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 49.59155591808516, + "unit": "ns", + "range": "± 1.3950493152518135" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.53870579600334, + "unit": "ns", + "range": "± 0.06083488059732248" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 50.17500850756963, + "unit": "ns", + "range": "± 0.2980533828743101" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.543472731113434, + "unit": "ns", + "range": "± 0.0309193804938131" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 48.663453817367554, + "unit": "ns", + "range": "± 0.33733751319134325" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.69420134772857, + "unit": "ns", + "range": "± 0.074545643774517" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 49.93327473402023, + "unit": "ns", + "range": "± 1.219599062283331" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.10202452937762, + "unit": "ns", + "range": "± 0.15898644739484127" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 53.00969440142314, + "unit": "ns", + "range": "± 0.7535580318668516" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.86816931196621, + "unit": "ns", + "range": "± 0.10751957329026907" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 64.55618052879969, + "unit": "ns", + "range": "± 1.0467289913040527" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.71459285914898, + "unit": "ns", + "range": "± 0.1429683418206844" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 52.19180098646566, + "unit": "ns", + "range": "± 1.1851764901420405" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 48.77316212654114, + "unit": "ns", + "range": "± 0.21802231371604158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 119.72978123029073, + "unit": "ns", + "range": "± 0.5043952642090328" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "96b220ccd5644fd656ed779e2aec90a3f4837498", + "message": "Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0 (#158)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.3.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-06T22:16:48+01:00", + "tree_id": "bd4f5c1c74016257f22fe6be5d6fdb37a9e8e5b3", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/96b220ccd5644fd656ed779e2aec90a3f4837498" + }, + "date": 1772832456912, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 13.753405580153832, + "unit": "ns", + "range": "± 0.18929874205204036" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.297775554947734, + "unit": "ns", + "range": "± 1.9388013624564633" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.75288492834175, + "unit": "ns", + "range": "± 1.1408733677146488" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 53.26918161908785, + "unit": "ns", + "range": "± 1.690165614092374" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.173985868692398, + "unit": "ns", + "range": "± 0.2142960913778461" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 53.10945996455848, + "unit": "ns", + "range": "± 1.7249120444660508" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 17.70170365486826, + "unit": "ns", + "range": "± 0.10896531635143665" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 53.8382292616935, + "unit": "ns", + "range": "± 1.3136187513918156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.4985012827175, + "unit": "ns", + "range": "± 0.09699201352015782" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 47.6814892079149, + "unit": "ns", + "range": "± 0.28739724545165607" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 17.70828403631846, + "unit": "ns", + "range": "± 0.10590258899442483" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 50.98018681544524, + "unit": "ns", + "range": "± 0.24547157883129217" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.026066076755523, + "unit": "ns", + "range": "± 0.199473562370622" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 50.15930269871439, + "unit": "ns", + "range": "± 0.3525570646040813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.25745367086851, + "unit": "ns", + "range": "± 0.14292134395806963" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 59.784337977568306, + "unit": "ns", + "range": "± 1.156746898986537" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.876769714495715, + "unit": "ns", + "range": "± 0.4049226869941867" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 51.76804466332708, + "unit": "ns", + "range": "± 0.45570622851029974" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 46.41601880391439, + "unit": "ns", + "range": "± 0.13311627180284727" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 111.28727570646687, + "unit": "ns", + "range": "± 2.479024811875978" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9bb231b7f7acd559c7098e4de4f47387b1bf883c", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.14.1 to 4.0.15 (#157)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.15\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-03-06T22:17:10+01:00", + "tree_id": "bddaf78376ad6e4c90970d0c710e0ece6231ad6a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9bb231b7f7acd559c7098e4de4f47387b1bf883c" + }, + "date": 1772832509376, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 11.573859152197837, + "unit": "ns", + "range": "± 0.13607831222993388" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 32.74942433436711, + "unit": "ns", + "range": "± 0.5472899466225047" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 15.54170185983181, + "unit": "ns", + "range": "± 2.3714332493449923" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.64812850139358, + "unit": "ns", + "range": "± 1.363602901514981" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.31082581786009, + "unit": "ns", + "range": "± 0.14898617811077441" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 54.163398001875194, + "unit": "ns", + "range": "± 1.6471953588802692" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.942951345443724, + "unit": "ns", + "range": "± 0.1785612671549542" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 52.695935370970744, + "unit": "ns", + "range": "± 2.2059406894537643" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.507637268304824, + "unit": "ns", + "range": "± 0.2331236564689293" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 49.1006763279438, + "unit": "ns", + "range": "± 0.30507920939915906" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.634500343884742, + "unit": "ns", + "range": "± 0.12718775898892432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 49.27511606216431, + "unit": "ns", + "range": "± 0.9755751304768238" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.38466188808282, + "unit": "ns", + "range": "± 0.042853419000732106" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 51.38819216404642, + "unit": "ns", + "range": "± 0.9078843632261053" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.14949215650559, + "unit": "ns", + "range": "± 0.4274752623494119" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 60.189337354717836, + "unit": "ns", + "range": "± 1.9568934150652335" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.94623181436743, + "unit": "ns", + "range": "± 0.18291844714649588" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 51.874706417754076, + "unit": "ns", + "range": "± 2.641283376325354" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 48.9721880044256, + "unit": "ns", + "range": "± 0.21088841123503754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 118.28824862150046, + "unit": "ns", + "range": "± 0.8599532224531312" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9551a1cbbd6be0bdc08075646b342e03326ddc43", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.15 to 4.0.15.2 (#159)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.15.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-17T20:32:09+01:00", + "tree_id": "d593cc44e6dfeda92130757e4dc88780ed74c4aa", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9551a1cbbd6be0bdc08075646b342e03326ddc43" + }, + "date": 1773776422751, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 9.48787650068601, + "unit": "ns", + "range": "± 0.06915100759827793" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 36.94456302722295, + "unit": "ns", + "range": "± 0.5275623365134158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 10.771703511476517, + "unit": "ns", + "range": "± 0.044472582164527645" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 57.17030857438626, + "unit": "ns", + "range": "± 1.5472855147512754" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 16.62207808451993, + "unit": "ns", + "range": "± 0.06570458126358097" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 56.17522755596373, + "unit": "ns", + "range": "± 2.012716811231948" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.534404347340267, + "unit": "ns", + "range": "± 0.10211727316890726" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 56.77186400549753, + "unit": "ns", + "range": "± 0.843816265371173" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 9.682016498276166, + "unit": "ns", + "range": "± 0.06886673169735866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 49.44881741846761, + "unit": "ns", + "range": "± 1.5372593068516058" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 16.619043864806493, + "unit": "ns", + "range": "± 0.051395203204423756" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 56.10887938241164, + "unit": "ns", + "range": "± 1.5118740658743852" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 18.432738008243696, + "unit": "ns", + "range": "± 0.05586314587297706" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 56.67192273934682, + "unit": "ns", + "range": "± 1.060031717223555" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 39.14027608292444, + "unit": "ns", + "range": "± 0.09058545065046511" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 66.59164624214172, + "unit": "ns", + "range": "± 1.0616572740640093" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 18.40977197488149, + "unit": "ns", + "range": "± 0.037098610803757634" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 56.663803188006085, + "unit": "ns", + "range": "± 1.0329230485632976" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 40.421028975645704, + "unit": "ns", + "range": "± 0.06670083290347069" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 115.28720237527575, + "unit": "ns", + "range": "± 1.1566693206001115" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "eae8876ad5a9ff623e0007cf1e0be237ff731ce2", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 5.0.0 to 5.3.0 (#160)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.3.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-03-17T20:35:24+01:00", + "tree_id": "d08c03cb97d0ea4828e995bca64eaa2ad2348db6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/eae8876ad5a9ff623e0007cf1e0be237ff731ce2" + }, + "date": 1773776694781, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 14.154158607721328, + "unit": "ns", + "range": "± 1.5245139245045969" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 35.53489052681696, + "unit": "ns", + "range": "± 0.9165912467463453" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 11.899063921968143, + "unit": "ns", + "range": "± 0.44202075314340616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 63.14342480472156, + "unit": "ns", + "range": "± 1.8680509904956297" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 21.40424465537071, + "unit": "ns", + "range": "± 0.15007210961565928" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 55.83264561341359, + "unit": "ns", + "range": "± 0.698158627240654" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.58170721679926, + "unit": "ns", + "range": "± 0.03841455103022125" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 64.10887547161268, + "unit": "ns", + "range": "± 1.6594707443573358" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.88501768878528, + "unit": "ns", + "range": "± 0.12237813381232276" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 55.266736916701, + "unit": "ns", + "range": "± 0.8197614814126701" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.260391900936764, + "unit": "ns", + "range": "± 0.0996571663513996" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 55.60471377107832, + "unit": "ns", + "range": "± 1.2287444547005968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.71068933393274, + "unit": "ns", + "range": "± 0.0861546416718187" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 55.15148437023163, + "unit": "ns", + "range": "± 1.040225231534796" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.13332764705022, + "unit": "ns", + "range": "± 0.11766868455353663" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 67.30016686518987, + "unit": "ns", + "range": "± 0.9773169292346825" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.06917728483677, + "unit": "ns", + "range": "± 0.08955994922862612" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 56.437301623821256, + "unit": "ns", + "range": "± 0.7901096798505572" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 50.261395174723404, + "unit": "ns", + "range": "± 0.09201046982421986" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 120.51179477146694, + "unit": "ns", + "range": "± 1.015678845269307" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "35603596a56f31a01e2c0ab99181a7092ba367f9", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.15.2 to 4.0.17.3 (#162)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-31T22:54:22+02:00", + "tree_id": "a9294311c6f8a04b3171f79d139f55d7416cc6ec", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/35603596a56f31a01e2c0ab99181a7092ba367f9" + }, + "date": 1774991059334, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 15.52988933442637, + "unit": "ns", + "range": "± 0.9934850894023508" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 31.73606537921088, + "unit": "ns", + "range": "± 0.17278486854165698" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.735784612285594, + "unit": "ns", + "range": "± 1.342979872809519" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 55.091948977538514, + "unit": "ns", + "range": "± 0.21986716396154624" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.5125953912735, + "unit": "ns", + "range": "± 0.09881845824791" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 49.901058824857074, + "unit": "ns", + "range": "± 0.2709871723463925" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.457130257288615, + "unit": "ns", + "range": "± 0.06842350889404407" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 51.330004036426544, + "unit": "ns", + "range": "± 0.244118108955438" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.303005891044934, + "unit": "ns", + "range": "± 0.05036570386316924" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 46.81790989637375, + "unit": "ns", + "range": "± 0.23793379344725868" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.67156543334325, + "unit": "ns", + "range": "± 0.10232277425102376" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 48.54809965406145, + "unit": "ns", + "range": "± 0.1249601524750763" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 18.70563222811772, + "unit": "ns", + "range": "± 0.09015283681396027" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 51.1501911511788, + "unit": "ns", + "range": "± 0.20595797309092795" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.36504826148351, + "unit": "ns", + "range": "± 0.14159379354834856" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 64.46063055310931, + "unit": "ns", + "range": "± 0.2616214951191164" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 19.87840158893512, + "unit": "ns", + "range": "± 0.08615447074993207" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 49.21812205016613, + "unit": "ns", + "range": "± 0.27188711133589955" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 48.13279205134937, + "unit": "ns", + "range": "± 0.09929556343413944" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 116.00629150867462, + "unit": "ns", + "range": "± 0.6465445289701182" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e51851f8e32eaaa1bcc476fef75d9f526adde69d", + "message": "Bump Microsoft.NET.Test.Sdk from 18.3.0 to 18.4.0 (#165)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.4.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-13T08:41:15+02:00", + "tree_id": "987da05a5f1fc70a6b3f23a7ca94fb2de8459d49", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e51851f8e32eaaa1bcc476fef75d9f526adde69d" + }, + "date": 1776063077288, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 19.8409571531415, + "unit": "ns", + "range": "± 2.803723038055031" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.767797485987344, + "unit": "ns", + "range": "± 0.38571602114326775" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.084855684990524, + "unit": "ns", + "range": "± 0.9212786277488215" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 59.58898785909017, + "unit": "ns", + "range": "± 1.0040653316716759" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.89975423415502, + "unit": "ns", + "range": "± 0.09674614397395348" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 51.540558164318405, + "unit": "ns", + "range": "± 0.21666445161040096" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.101193529367446, + "unit": "ns", + "range": "± 0.20029986993814236" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 52.31378506819407, + "unit": "ns", + "range": "± 0.8633428972540514" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.56999903221925, + "unit": "ns", + "range": "± 0.11686663925486325" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 49.13387023210525, + "unit": "ns", + "range": "± 0.5671248874812637" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 17.486385457790814, + "unit": "ns", + "range": "± 0.05628246122994027" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 49.592701363563535, + "unit": "ns", + "range": "± 0.7220372210576362" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.05950859401907, + "unit": "ns", + "range": "± 0.07573194969097993" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 53.13945972919464, + "unit": "ns", + "range": "± 0.26581219222794056" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 43.90600813229879, + "unit": "ns", + "range": "± 0.11489050648124491" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 62.89258886235101, + "unit": "ns", + "range": "± 0.39064535601268974" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.875650107860565, + "unit": "ns", + "range": "± 0.13508473807120372" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 52.079359296957655, + "unit": "ns", + "range": "± 0.3780448024094825" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 48.892655037916626, + "unit": "ns", + "range": "± 0.07975599820434698" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 119.1399952173233, + "unit": "ns", + "range": "± 1.3950438488400967" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c585d6c5747d64661695a8602da68d8da3cd7455", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.3 to 4.0.17.8 (#164)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-04-13T08:43:32+02:00", + "tree_id": "4059579b9744decc3d6337658a4f6dbe596da1ae", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c585d6c5747d64661695a8602da68d8da3cd7455" + }, + "date": 1776063123981, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 10.76382799645265, + "unit": "ns", + "range": "± 0.05508096252689123" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.64194369713466, + "unit": "ns", + "range": "± 0.5814684035788794" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 10.589599822248731, + "unit": "ns", + "range": "± 0.05717069387259829" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 58.838502609729765, + "unit": "ns", + "range": "± 0.8617194731678146" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 20.556763291358948, + "unit": "ns", + "range": "± 0.044583738393739504" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 52.558893574135645, + "unit": "ns", + "range": "± 0.43073514665513996" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.94915187060833, + "unit": "ns", + "range": "± 0.07514282340926605" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 54.778408084596904, + "unit": "ns", + "range": "± 0.5776716296103978" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.762211814522743, + "unit": "ns", + "range": "± 0.07230639874227772" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 50.7850327534335, + "unit": "ns", + "range": "± 0.35936280402471676" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.073232072591782, + "unit": "ns", + "range": "± 0.08239507328924829" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 52.243098656336464, + "unit": "ns", + "range": "± 0.6869239374573863" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 20.31102017206805, + "unit": "ns", + "range": "± 0.04933032768586175" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 52.05004806915919, + "unit": "ns", + "range": "± 0.28828128502692385" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.79214376898912, + "unit": "ns", + "range": "± 0.07993215715335367" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 61.202599917139324, + "unit": "ns", + "range": "± 0.20740648896490863" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.75260012916156, + "unit": "ns", + "range": "± 0.0473078526355739" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 51.730172818899156, + "unit": "ns", + "range": "± 0.6447670356283419" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 56.75427715136455, + "unit": "ns", + "range": "± 0.047683876846256315" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 104.29332102338473, + "unit": "ns", + "range": "± 0.15322174370749403" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "191f38e1817e5d8be8ee93fb2f0931a3fb605cce", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.8 to 4.0.17.9 (#166)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.9\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-21T22:03:20+02:00", + "tree_id": "592a926476855a3d3ba97033bda98268586c8128", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/191f38e1817e5d8be8ee93fb2f0931a3fb605cce" + }, + "date": 1776802263485, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 8.319349678499359, + "unit": "ns", + "range": "± 0.030003963435141896" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 26.60285302400589, + "unit": "ns", + "range": "± 0.13989051721134607" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 7.905753310237612, + "unit": "ns", + "range": "± 0.01819887563209267" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 46.44120191335678, + "unit": "ns", + "range": "± 0.5210355731547954" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 16.441061454514664, + "unit": "ns", + "range": "± 0.016359521458078848" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 41.86484593153, + "unit": "ns", + "range": "± 0.36760180624937605" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 15.335802541329311, + "unit": "ns", + "range": "± 0.017349904959740394" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 43.47832676172256, + "unit": "ns", + "range": "± 0.22318485625870393" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 8.72216764787833, + "unit": "ns", + "range": "± 0.13292172262569454" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 42.39311088408743, + "unit": "ns", + "range": "± 0.33028225467915545" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 15.738954156637192, + "unit": "ns", + "range": "± 0.07779684818534141" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 40.368601047992705, + "unit": "ns", + "range": "± 0.6262538256658428" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 16.23770506254264, + "unit": "ns", + "range": "± 0.05787832978827274" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 43.5622829536597, + "unit": "ns", + "range": "± 0.4341264614148436" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 32.6136271516482, + "unit": "ns", + "range": "± 0.09984033132024957" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 49.650752489055904, + "unit": "ns", + "range": "± 0.3563995192665882" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 13.758975630998611, + "unit": "ns", + "range": "± 0.05673038797286999" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 42.13109324773153, + "unit": "ns", + "range": "± 0.27367289203094186" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 43.23081520398458, + "unit": "ns", + "range": "± 0.0696591030947153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 81.70344926118851, + "unit": "ns", + "range": "± 0.32732829879649566" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "320b572fd8a6775423d53f107b4c8130289ebd80", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.9 to 4.0.17.11 (#167)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-27T21:31:21+02:00", + "tree_id": "d8c461273b57e9432651dd2c0c9b594f4a00df99", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/320b572fd8a6775423d53f107b4c8130289ebd80" + }, + "date": 1777318806768, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 10.953873321413994, + "unit": "ns", + "range": "± 0.04891038326102578" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 35.249241371949516, + "unit": "ns", + "range": "± 0.3610862068315625" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.68083892762661, + "unit": "ns", + "range": "± 0.05223129861892646" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 65.20520555973053, + "unit": "ns", + "range": "± 2.0223971487279857" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.66068298476083, + "unit": "ns", + "range": "± 0.052221552717492105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 56.37582435733393, + "unit": "ns", + "range": "± 1.3153757944013735" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.57616933584213, + "unit": "ns", + "range": "± 0.09065177595745795" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 60.061937996319365, + "unit": "ns", + "range": "± 1.0711326529559715" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.10734205864943, + "unit": "ns", + "range": "± 0.041841088147032426" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 56.09964868426323, + "unit": "ns", + "range": "± 0.5972349850512626" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.914764187733333, + "unit": "ns", + "range": "± 0.07243329059324582" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 52.05316614707311, + "unit": "ns", + "range": "± 0.46033276957374386" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 20.828774562903813, + "unit": "ns", + "range": "± 0.05593389377291561" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 55.303011165215416, + "unit": "ns", + "range": "± 0.34960823142289904" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.021466829947066, + "unit": "ns", + "range": "± 0.0849211241353146" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 63.176919623215994, + "unit": "ns", + "range": "± 0.6162370766708719" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.785177156329155, + "unit": "ns", + "range": "± 0.04302828098403595" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 53.92434955494745, + "unit": "ns", + "range": "± 0.3299741206007145" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 56.42894753125998, + "unit": "ns", + "range": "± 0.16484516589194784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 111.02826886971792, + "unit": "ns", + "range": "± 1.793788544432301" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d7706bfc7938c2cb642c6015d4cb7563fdc843b0", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.11 to 4.0.18 (#169)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-09T20:59:15+02:00", + "tree_id": "277499a22aefb990d3568e3834833ba8635fcb34", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d7706bfc7938c2cb642c6015d4cb7563fdc843b0" + }, + "date": 1778353852628, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 18.197770594358445, + "unit": "ns", + "range": "± 2.2476048360940792" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 34.129039552211765, + "unit": "ns", + "range": "± 0.9984350913938348" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.99407390922308, + "unit": "ns", + "range": "± 1.4462298458387306" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 55.96356546371541, + "unit": "ns", + "range": "± 2.3128447755631174" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 21.232175505161287, + "unit": "ns", + "range": "± 0.26193144528929957" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 56.15473016408774, + "unit": "ns", + "range": "± 2.082766468232614" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.017690762877464, + "unit": "ns", + "range": "± 0.15325165869284815" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 55.197439406599315, + "unit": "ns", + "range": "± 1.044739450748856" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.897742429375649, + "unit": "ns", + "range": "± 0.263170998017334" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 53.17084046727732, + "unit": "ns", + "range": "± 2.4256451571916866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.2111919096538, + "unit": "ns", + "range": "± 0.07957880855010595" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 50.80146276950836, + "unit": "ns", + "range": "± 0.7072988776960617" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 18.442514963944753, + "unit": "ns", + "range": "± 0.21694572923826494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 50.83681649411166, + "unit": "ns", + "range": "± 1.376339184878453" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.14603471330234, + "unit": "ns", + "range": "± 0.08868086677219672" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 58.9125704685847, + "unit": "ns", + "range": "± 0.1656625632255291" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.770026006301244, + "unit": "ns", + "range": "± 0.2761568146695582" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 50.90143210093181, + "unit": "ns", + "range": "± 0.8419198881710177" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 45.68079993554524, + "unit": "ns", + "range": "± 0.1752388275996323" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 121.81065174738566, + "unit": "ns", + "range": "± 1.4497800464226458" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0ae4a7f57ce6e27decf8f152492bb80801ac61d5", + "message": "Bump Microsoft.NET.Test.Sdk from 18.4.0 to 18.5.1 (#168)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.5.1\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-05-09T20:59:48+02:00", + "tree_id": "556aca280ff29463987ef80d4d53495b584b95e8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0ae4a7f57ce6e27decf8f152492bb80801ac61d5" + }, + "date": 1778353912551, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 13.561729977800422, + "unit": "ns", + "range": "± 0.7996249135571964" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 40.34436837956309, + "unit": "ns", + "range": "± 0.8176817917993984" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 16.6390529132011, + "unit": "ns", + "range": "± 2.1164785713276983" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 65.7744892835617, + "unit": "ns", + "range": "± 0.7704561256490879" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.990747114786735, + "unit": "ns", + "range": "± 0.2683944554750865" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 61.32775318906421, + "unit": "ns", + "range": "± 2.3481879860887225" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.74540997190135, + "unit": "ns", + "range": "± 0.18538513661151954" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 57.25676639663412, + "unit": "ns", + "range": "± 3.6548450185649384" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.059093669056892, + "unit": "ns", + "range": "± 0.07819036811962357" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 54.17959396462692, + "unit": "ns", + "range": "± 1.9769874275430703" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.42190100678376, + "unit": "ns", + "range": "± 0.09163811807239755" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 60.51431063243321, + "unit": "ns", + "range": "± 2.5718689295052224" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 20.4465414583683, + "unit": "ns", + "range": "± 0.11161865752292996" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 63.42694597111808, + "unit": "ns", + "range": "± 1.4228945709149263" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.44159952657564, + "unit": "ns", + "range": "± 0.17719077078530654" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 73.59358200212804, + "unit": "ns", + "range": "± 2.7639604576732464" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.539025666458265, + "unit": "ns", + "range": "± 0.19957696199518474" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 56.70497319226464, + "unit": "ns", + "range": "± 3.8708543404935583" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 46.80580130716165, + "unit": "ns", + "range": "± 0.1029878169047373" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 121.42876958847046, + "unit": "ns", + "range": "± 1.9675459580894663" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "275741c1ecd18d47d3717d1bc346a003eec677a9", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18 to 4.0.18.1 (#170)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-11T18:59:52+02:00", + "tree_id": "c1cba91e11c2c9ffd252abdf1f0ec4d4c895ba55", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/275741c1ecd18d47d3717d1bc346a003eec677a9" + }, + "date": 1778519300162, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 14.336914056539536, + "unit": "ns", + "range": "± 0.30840294149394615" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 36.22473511229391, + "unit": "ns", + "range": "± 1.0004708934791786" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 10.584239583214124, + "unit": "ns", + "range": "± 0.041219522901280066" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 59.12273760885, + "unit": "ns", + "range": "± 1.1544671349017654" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 24.115710147789546, + "unit": "ns", + "range": "± 0.16398023535428363" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 55.14914320707321, + "unit": "ns", + "range": "± 0.5014512654737031" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.58553909616811, + "unit": "ns", + "range": "± 0.07036729847842649" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 56.25620819841112, + "unit": "ns", + "range": "± 0.8225112917511642" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 13.54657401570252, + "unit": "ns", + "range": "± 0.11855320016597286" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 49.79846657911936, + "unit": "ns", + "range": "± 0.44713471765523094" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 20.520995829786575, + "unit": "ns", + "range": "± 0.06183057950083655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 54.940385566155115, + "unit": "ns", + "range": "± 0.726047465596458" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.44885227722781, + "unit": "ns", + "range": "± 0.03763675753202117" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 56.23948340330805, + "unit": "ns", + "range": "± 0.24865860239612983" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.291240462235045, + "unit": "ns", + "range": "± 0.08117998976170103" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 62.36938764040287, + "unit": "ns", + "range": "± 0.3357707313288868" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.728653426681245, + "unit": "ns", + "range": "± 0.05087085545058139" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 53.55077714125316, + "unit": "ns", + "range": "± 0.5915832856311615" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 51.20546710093816, + "unit": "ns", + "range": "± 0.12427210300446725" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 106.02965065411159, + "unit": "ns", + "range": "± 0.5362060605583111" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "82c77f98f5be05bd2396178c729b0bb3ddcfe84a", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.1 to 4.0.18.4 (#171)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-18T21:08:55+02:00", + "tree_id": "2361192e708579b5bc9fc74c91133424d091327b", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/82c77f98f5be05bd2396178c729b0bb3ddcfe84a" + }, + "date": 1779131854636, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 10.401517416749682, + "unit": "ns", + "range": "± 0.048263883952312056" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 34.4085183819135, + "unit": "ns", + "range": "± 0.19990272428325004" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 10.497950833823, + "unit": "ns", + "range": "± 0.025607627539089742" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 58.49510257584708, + "unit": "ns", + "range": "± 0.6972119249632922" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 20.57739947239558, + "unit": "ns", + "range": "± 0.04096188179991356" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 54.844507430280956, + "unit": "ns", + "range": "± 0.6899574962066121" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 20.73951966209071, + "unit": "ns", + "range": "± 0.06622073785504495" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 54.55168270213263, + "unit": "ns", + "range": "± 0.3840260001301772" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.824853211641312, + "unit": "ns", + "range": "± 0.1348526630087938" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 52.47549233692033, + "unit": "ns", + "range": "± 0.7339947400166251" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.764639993508656, + "unit": "ns", + "range": "± 0.06764624006837552" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 54.00884312391281, + "unit": "ns", + "range": "± 0.7946280634867763" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 20.69133114318053, + "unit": "ns", + "range": "± 0.020137979179103156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 52.41063847712108, + "unit": "ns", + "range": "± 0.20877027638624374" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.39444146156311, + "unit": "ns", + "range": "± 0.07416487386485464" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 63.30892408291499, + "unit": "ns", + "range": "± 1.0644709099591645" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 24.99960106382003, + "unit": "ns", + "range": "± 0.15604672104216477" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.01815129177911, + "unit": "ns", + "range": "± 0.44271066650565166" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 56.59566482475826, + "unit": "ns", + "range": "± 0.08132948293447835" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 109.12396876301084, + "unit": "ns", + "range": "± 0.45528922361117286" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9826cb3a7af39e6ea8ebe5cd2f5aef525ebc1a37", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.4 to 4.0.18.6 (#173)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-01T22:07:49+02:00", + "tree_id": "d7d32291af79735f95a1e0cd7cb19cfd44e5043a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9826cb3a7af39e6ea8ebe5cd2f5aef525ebc1a37" + }, + "date": 1780345022366, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 10.836668840050697, + "unit": "ns", + "range": "± 0.10769636500670554" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.757771611213684, + "unit": "ns", + "range": "± 0.20485862822434295" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 10.369416092832884, + "unit": "ns", + "range": "± 0.15289281595680063" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 59.2428670724233, + "unit": "ns", + "range": "± 0.8845521473995027" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.498745085937635, + "unit": "ns", + "range": "± 0.07061795357526036" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 56.16203939318657, + "unit": "ns", + "range": "± 0.39861895924274493" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 20.60366202088503, + "unit": "ns", + "range": "± 0.06305145747664952" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 53.975738898913065, + "unit": "ns", + "range": "± 0.3853162372141415" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.984223963958877, + "unit": "ns", + "range": "± 0.038539972006759" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 53.00599148443767, + "unit": "ns", + "range": "± 0.7078412879705054" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.09475445960249, + "unit": "ns", + "range": "± 0.07259428824396433" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 54.182793790102004, + "unit": "ns", + "range": "± 0.9974120843246436" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 20.300629258155823, + "unit": "ns", + "range": "± 0.044348641532142546" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 55.376491393361775, + "unit": "ns", + "range": "± 0.5063361657226683" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.10190013051033, + "unit": "ns", + "range": "± 0.15100177389562142" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 61.668135078748065, + "unit": "ns", + "range": "± 0.555208822500954" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.358595935361727, + "unit": "ns", + "range": "± 0.042480972938734284" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.55473649104436, + "unit": "ns", + "range": "± 0.9052120972999507" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 52.154667139053345, + "unit": "ns", + "range": "± 0.035068839742777046" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 109.05395860331399, + "unit": "ns", + "range": "± 0.5607771104675626" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "085af0d3621ff0c2cb0ee8f16315668b0b9f51f5", + "message": "Bump Microsoft.NET.Test.Sdk from 18.5.1 to 18.6.0 (#174)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.6.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-06-01T22:08:12+02:00", + "tree_id": "cc99b241d492ceea543393e3e17ebe8c07b375ed", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/085af0d3621ff0c2cb0ee8f16315668b0b9f51f5" + }, + "date": 1780345220312, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 20.51987135529518, + "unit": "ns", + "range": "± 2.112927246231529" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 37.25432360172272, + "unit": "ns", + "range": "± 0.3061907874017432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.138682228453616, + "unit": "ns", + "range": "± 1.0981824174574577" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 54.78075497150421, + "unit": "ns", + "range": "± 0.6815056775657933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.38716254234314, + "unit": "ns", + "range": "± 0.09365773601335796" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 57.04896063071031, + "unit": "ns", + "range": "± 0.6679869813545565" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.9360257824262, + "unit": "ns", + "range": "± 0.12202541218337683" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 54.013014036748146, + "unit": "ns", + "range": "± 1.7165529480123927" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.783001803358395, + "unit": "ns", + "range": "± 0.0769905112653582" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 51.24265821774801, + "unit": "ns", + "range": "± 0.9954171324790644" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 25.414083935817082, + "unit": "ns", + "range": "± 0.18362446395998847" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 54.75081731875738, + "unit": "ns", + "range": "± 1.6014598063420096" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.233182271321613, + "unit": "ns", + "range": "± 0.12313521513760133" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 57.6998009697811, + "unit": "ns", + "range": "± 2.0692367203773014" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.5396790822347, + "unit": "ns", + "range": "± 0.1862563061466278" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 66.04721004531739, + "unit": "ns", + "range": "± 2.7170855758357253" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 20.211841063840048, + "unit": "ns", + "range": "± 0.10728376792262977" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.92746761242549, + "unit": "ns", + "range": "± 0.5930663594826386" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 46.66334434350332, + "unit": "ns", + "range": "± 0.08378768785749709" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 131.40445852279663, + "unit": "ns", + "range": "± 1.69437114945132" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ff994bc67c2fc5959bd04c4641cd9aacf0477289", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.6 to 4.0.20 (#175)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.20\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-09T21:00:57+02:00", + "tree_id": "c94b6bbc5a19a7c8e76f568b23fcd94a0118efbb", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/ff994bc67c2fc5959bd04c4641cd9aacf0477289" + }, + "date": 1781032293560, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 20.34664411842823, + "unit": "ns", + "range": "± 2.279619397890911" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 35.2631449619929, + "unit": "ns", + "range": "± 0.6215007372039438" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 14.027356946840882, + "unit": "ns", + "range": "± 0.9050364135784728" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 59.31139150460561, + "unit": "ns", + "range": "± 0.7053578465197847" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.651689732074736, + "unit": "ns", + "range": "± 0.07813220623634848" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 56.22956321388483, + "unit": "ns", + "range": "± 1.1254623406414432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.490825178225837, + "unit": "ns", + "range": "± 0.10524697496292043" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 54.17242309451103, + "unit": "ns", + "range": "± 1.7753124891535796" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.796560010313987, + "unit": "ns", + "range": "± 0.15543150223965774" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 51.932193688551585, + "unit": "ns", + "range": "± 0.6818917218228235" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.349870578447977, + "unit": "ns", + "range": "± 0.12891823920872206" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 51.70277000750814, + "unit": "ns", + "range": "± 0.9416622344777491" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.800431873401006, + "unit": "ns", + "range": "± 0.025436071233504456" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 53.481433019918555, + "unit": "ns", + "range": "± 1.0848613950903923" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 42.00124950494085, + "unit": "ns", + "range": "± 0.14062249589281353" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 66.31184242566427, + "unit": "ns", + "range": "± 1.2492011118122757" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.04239928509508, + "unit": "ns", + "range": "± 0.07504769767616701" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 53.75473360373424, + "unit": "ns", + "range": "± 0.4994094247937703" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 46.63927304248015, + "unit": "ns", + "range": "± 0.054854076250168714" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 121.5224187203816, + "unit": "ns", + "range": "± 1.0002952457192094" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0cef3578195bb9de911f0264c4fb6d70f1215fdc", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.20 to 4.0.21.6 (#177)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.21.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-22T21:48:14+02:00", + "tree_id": "e8e9c338d1efbebb39ae8beed3547710736b6d1e", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0cef3578195bb9de911f0264c4fb6d70f1215fdc" + }, + "date": 1782158182339, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 10.828443661828835, + "unit": "ns", + "range": "± 0.02854908529784729" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 35.21086594661077, + "unit": "ns", + "range": "± 0.2178135438265865" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.321817220250766, + "unit": "ns", + "range": "± 0.06741128098952691" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 57.42797932454518, + "unit": "ns", + "range": "± 0.4568305639700925" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 20.355847841926984, + "unit": "ns", + "range": "± 0.03219913923851157" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 55.27912162144979, + "unit": "ns", + "range": "± 0.48104172292431313" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 20.67109587788582, + "unit": "ns", + "range": "± 0.015055666752920412" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 58.18352896826608, + "unit": "ns", + "range": "± 0.2631404622097765" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.76442309149674, + "unit": "ns", + "range": "± 0.10818368976530071" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 53.594341090747285, + "unit": "ns", + "range": "± 0.26877556360415433" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 20.194481049592678, + "unit": "ns", + "range": "± 0.023644511960012427" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 56.661517624060316, + "unit": "ns", + "range": "± 0.8958690288739254" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.634956469138462, + "unit": "ns", + "range": "± 0.0762486276456593" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 57.2708620985349, + "unit": "ns", + "range": "± 0.5039624770645865" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.46613069681021, + "unit": "ns", + "range": "± 0.03686405798912511" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 66.6322519381841, + "unit": "ns", + "range": "± 0.2990885607997145" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.43622943971838, + "unit": "ns", + "range": "± 0.016853167997266622" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.273639802138014, + "unit": "ns", + "range": "± 0.5306640942142672" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 53.05495132605235, + "unit": "ns", + "range": "± 0.03301669641205157" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 107.8315789273807, + "unit": "ns", + "range": "± 0.182355266109948" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8aa78cff1756e770c03fb1f3059ce8e6b076a33d", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.21.6 to 4.0.21.7 (#178)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.21.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-02T12:17:50+02:00", + "tree_id": "c0fc515757c2299f6b85a1e488424250e4bbf037", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8aa78cff1756e770c03fb1f3059ce8e6b076a33d" + }, + "date": 1782988023088, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 14.52740272793217, + "unit": "ns", + "range": "± 0.861977208864769" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 33.68644533952077, + "unit": "ns", + "range": "± 0.2620698171359864" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 14.028427917246868, + "unit": "ns", + "range": "± 1.0569524896494238" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 55.28334195216497, + "unit": "ns", + "range": "± 0.4279341356348844" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.95204004049301, + "unit": "ns", + "range": "± 0.07115667194876238" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 52.05393553697146, + "unit": "ns", + "range": "± 0.17138031603605886" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 17.954382266600927, + "unit": "ns", + "range": "± 0.06505823494273896" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 57.31425290107727, + "unit": "ns", + "range": "± 0.4714699936237655" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 13.406593572634916, + "unit": "ns", + "range": "± 0.07801435321833335" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 50.329876617590585, + "unit": "ns", + "range": "± 0.46215533635661876" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.77445671161016, + "unit": "ns", + "range": "± 0.07474715721311763" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 50.106701229299816, + "unit": "ns", + "range": "± 0.325903376915384" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.245482125452586, + "unit": "ns", + "range": "± 0.06311204021137197" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 53.442843437194824, + "unit": "ns", + "range": "± 0.47417687154692406" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.95518440802892, + "unit": "ns", + "range": "± 0.10163086338205064" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 64.10962125062943, + "unit": "ns", + "range": "± 0.43114319631723097" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.6679775927748, + "unit": "ns", + "range": "± 0.08738455893749413" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 58.88223214944204, + "unit": "ns", + "range": "± 0.4781683121785711" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 54.3953516403834, + "unit": "ns", + "range": "± 0.1332993136454442" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 119.04578680651528, + "unit": "ns", + "range": "± 0.8383963567654251" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "4267453453eab2e2c8dd3f0cc21ea468ce9e4746", + "message": "Bump Microsoft.NET.Test.Sdk from 18.6.0 to 18.7.0 (#179)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.7.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-02T12:17:37+02:00", + "tree_id": "3e86aa2f63c0b74c8bf4302d036e06881c05d69c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/4267453453eab2e2c8dd3f0cc21ea468ce9e4746" + }, + "date": 1782988032791, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 13.27024546953348, + "unit": "ns", + "range": "± 0.15602263572627073" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 34.003708410830725, + "unit": "ns", + "range": "± 0.8618013812888137" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.343108226271237, + "unit": "ns", + "range": "± 0.7585848414766369" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 62.63568033621861, + "unit": "ns", + "range": "± 0.543255360490613" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 18.999372977476852, + "unit": "ns", + "range": "± 0.22220998393306787" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 52.61213801635636, + "unit": "ns", + "range": "± 0.8874315808332012" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.003822384136065, + "unit": "ns", + "range": "± 0.18744999993060718" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 59.07239933808645, + "unit": "ns", + "range": "± 1.9417160236721047" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.22471333082233, + "unit": "ns", + "range": "± 0.08295725231897413" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 54.39103451172511, + "unit": "ns", + "range": "± 0.9131620611554705" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 19.514483310778935, + "unit": "ns", + "range": "± 0.11448863413833443" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 55.63087188346045, + "unit": "ns", + "range": "± 0.6713426573177782" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 20.302375440414135, + "unit": "ns", + "range": "± 0.05493404323245145" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 58.638436170185315, + "unit": "ns", + "range": "± 1.2383724974652557" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 43.10331001679103, + "unit": "ns", + "range": "± 0.06955450091880247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 72.47129847208659, + "unit": "ns", + "range": "± 1.1538564543092225" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 17.228031037251153, + "unit": "ns", + "range": "± 0.06150497901242033" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 55.95520329475403, + "unit": "ns", + "range": "± 1.448437626288883" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 47.24614887932936, + "unit": "ns", + "range": "± 0.10428980090576807" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 116.46407971015343, + "unit": "ns", + "range": "± 0.827175958646692" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c9b990b7d4ba58681148987db27f744e9e13c349", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 5.3.0 to 5.6.0 (#181)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.6.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-06T08:32:34+02:00", + "tree_id": "ccb308e034954138aaac5c49b6eeb905e4702738", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c9b990b7d4ba58681148987db27f744e9e13c349" + }, + "date": 1783320158252, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 14.983746277836135, + "unit": "ns", + "range": "± 0.7614247597131798" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 35.784071026309846, + "unit": "ns", + "range": "± 1.1707534449784904" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 14.802883721504015, + "unit": "ns", + "range": "± 1.323637026677479" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 52.37651910384496, + "unit": "ns", + "range": "± 0.3584828593775291" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 17.616243259264873, + "unit": "ns", + "range": "± 0.01676783189069404" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 51.918875739854926, + "unit": "ns", + "range": "± 0.8373867816229718" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 18.10771235624949, + "unit": "ns", + "range": "± 0.13179660956705158" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 51.9242992957433, + "unit": "ns", + "range": "± 0.6914401903599992" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 11.363643186432975, + "unit": "ns", + "range": "± 0.01960609561685997" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 45.64992686112722, + "unit": "ns", + "range": "± 0.1321469739949211" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.596834587199346, + "unit": "ns", + "range": "± 0.023482681495674937" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 51.862607274736675, + "unit": "ns", + "range": "± 1.2817843887337457" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.340618554751078, + "unit": "ns", + "range": "± 0.14176808506790137" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 51.54603550689561, + "unit": "ns", + "range": "± 0.705806178000688" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 40.62211138010025, + "unit": "ns", + "range": "± 0.0895006203122467" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 62.884678951331544, + "unit": "ns", + "range": "± 0.48455902968915815" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 16.289855580244744, + "unit": "ns", + "range": "± 0.0897864869023897" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 51.46775151292483, + "unit": "ns", + "range": "± 0.3537195001159246" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 49.67141376336416, + "unit": "ns", + "range": "± 0.21612039117856194" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 120.93489255110423, + "unit": "ns", + "range": "± 1.751460128173943" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "57692c5db2aef93dc9085a3f1603de03713d3904", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.21.7 to 4.0.100.2 (#180)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.100.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-06T08:32:44+02:00", + "tree_id": "56d5ab706d6703926e09a91f01f900adc871df21", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/57692c5db2aef93dc9085a3f1603de03713d3904" + }, + "date": 1783320174630, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Bool", + "value": 15.625371289849282, + "unit": "ns", + "range": "± 1.4654218265611387" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Bool", + "value": 34.95360237785748, + "unit": "ns", + "range": "± 0.32196577903352647" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Char", + "value": 13.379367644385416, + "unit": "ns", + "range": "± 1.0738417723110845" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Char", + "value": 57.102410991986595, + "unit": "ns", + "range": "± 0.49067414046231317" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int32", + "value": 19.10142654639024, + "unit": "ns", + "range": "± 0.05286343481368493" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int", + "value": 53.91808271408081, + "unit": "ns", + "range": "± 0.6955546800159904" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Int64", + "value": 19.338050593222892, + "unit": "ns", + "range": "± 0.21157129798752644" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Int64", + "value": 52.403776831924915, + "unit": "ns", + "range": "± 1.0913500482826972" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_String", + "value": 10.584612280130386, + "unit": "ns", + "range": "± 0.12070830943437998" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_String", + "value": 51.872334107756615, + "unit": "ns", + "range": "± 0.513647910734484" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt32", + "value": 18.82899307975402, + "unit": "ns", + "range": "± 0.04258476096465409" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_UInt32", + "value": 50.43053130003122, + "unit": "ns", + "range": "± 0.33665398118810697" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_UInt64", + "value": 19.884735306104023, + "unit": "ns", + "range": "± 0.06129912636111494" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Uint64", + "value": 54.15984841982524, + "unit": "ns", + "range": "± 0.8664757685936239" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Guid", + "value": 41.557988486119676, + "unit": "ns", + "range": "± 0.0887436865189361" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Guid", + "value": 71.07807925542195, + "unit": "ns", + "range": "± 0.567511509113744" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Enum", + "value": 22.85562890080305, + "unit": "ns", + "range": "± 0.04068572886373539" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Enum", + "value": 54.412411481142044, + "unit": "ns", + "range": "± 0.4827580579917958" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Unmarshall_Double", + "value": 46.191974946430754, + "unit": "ns", + "range": "± 0.11859976990319042" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.PrimitiveBenchmarks.Marshall_Double", + "value": 118.9418409983317, + "unit": "ns", + "range": "± 0.8030234610385883" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/benchmarks/marshalling/primitive/index.html b/benchmarks/marshalling/primitive/index.html new file mode 100644 index 00000000..6c887805 --- /dev/null +++ b/benchmarks/marshalling/primitive/index.html @@ -0,0 +1,281 @@ + + + + + + + Benchmarks + + + + +
+ + + + + + + diff --git a/benchmarks/marshalling/temporal/data.js b/benchmarks/marshalling/temporal/data.js new file mode 100644 index 00000000..5329f903 --- /dev/null +++ b/benchmarks/marshalling/temporal/data.js @@ -0,0 +1,5984 @@ +window.BENCHMARK_DATA = { + "lastUpdate": 1783319765517, + "repoUrl": "https://github.com/inputfalken/DynamoDB.SourceGenerator", + "entries": { + "Temporal Marshalling": [ + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "51508ea0d44d32efff975ac1720c71df81c479e4", + "message": "Fix name", + "timestamp": "2025-07-06T11:02:10+02:00", + "tree_id": "12816b63c932ef3844c6d14dd2caa5c5c596b4cc", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/51508ea0d44d32efff975ac1720c71df81c479e4" + }, + "date": 1751792768422, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 207.4078583258849, + "unit": "ns", + "range": "± 0.4218326926054652" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 88.17657451232274, + "unit": "ns", + "range": "± 1.5539937551972607" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 167.24196486813682, + "unit": "ns", + "range": "± 0.2008773245219396" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 92.12333978925433, + "unit": "ns", + "range": "± 0.5951774434178916" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.898257622352, + "unit": "ns", + "range": "± 0.23934231781758136" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 114.80914856378848, + "unit": "ns", + "range": "± 0.8924973450041866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.49416259618906, + "unit": "ns", + "range": "± 0.3156324475147781" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 110.6788691745864, + "unit": "ns", + "range": "± 1.982125400660093" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e4cf211c856bad79a8af270bf113a043e1503ac", + "message": "Add benchmark github action (#97)", + "timestamp": "2025-07-06T11:13:04+02:00", + "tree_id": "59b1eacf6ef887ab70119b01fdf3733cdb0aa06a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3e4cf211c856bad79a8af270bf113a043e1503ac" + }, + "date": 1751793399764, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 216.66666792120253, + "unit": "ns", + "range": "± 0.36523541748478305" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 87.54653748444149, + "unit": "ns", + "range": "± 0.6634256318109949" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 163.77033697641812, + "unit": "ns", + "range": "± 0.23080837983627173" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 82.3230400452247, + "unit": "ns", + "range": "± 0.40642993447767245" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 285.051164490836, + "unit": "ns", + "range": "± 0.46133240848880575" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 112.4903289760862, + "unit": "ns", + "range": "± 0.3269748203105964" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 220.7229227542877, + "unit": "ns", + "range": "± 0.32269035403512375" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 110.16652601162592, + "unit": "ns", + "range": "± 0.7247249724526537" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "652408e60979e43d780b8fec3bbc8cb49235612a", + "message": "Remove TODO", + "timestamp": "2025-07-06T11:14:02+02:00", + "tree_id": "b356b9b77a605722e1878e989f788c0821b9f407", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/652408e60979e43d780b8fec3bbc8cb49235612a" + }, + "date": 1751793473431, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 212.05504813561072, + "unit": "ns", + "range": "± 0.46775607471067737" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 87.55110297032765, + "unit": "ns", + "range": "± 1.0481737503539117" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 166.54811461766562, + "unit": "ns", + "range": "± 0.10962506559553965" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 88.30181767259326, + "unit": "ns", + "range": "± 0.7545379907023768" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.7588514486949, + "unit": "ns", + "range": "± 0.15959284144751387" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.9497537056605, + "unit": "ns", + "range": "± 1.5850246886691908" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 219.0214264026055, + "unit": "ns", + "range": "± 0.12444913009300329" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 113.1246384660403, + "unit": "ns", + "range": "± 1.9058796831075553" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "cdc04be30f7e95c257ea0332209799b7872847a2", + "message": "Add comparison benchmarking", + "timestamp": "2025-07-06T11:35:00+02:00", + "tree_id": "383faabab4139ecb8d3b6fbcc497319002482717", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/cdc04be30f7e95c257ea0332209799b7872847a2" + }, + "date": 1751794726402, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 211.9961847433677, + "unit": "ns", + "range": "± 0.3402230438030793" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 88.71725186279842, + "unit": "ns", + "range": "± 0.5506965118991322" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 168.57650810938614, + "unit": "ns", + "range": "± 0.22517305744606173" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 90.0637545744578, + "unit": "ns", + "range": "± 0.4292265383488377" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 291.40560938761786, + "unit": "ns", + "range": "± 0.4173831093830424" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 115.07645788559547, + "unit": "ns", + "range": "± 0.6651471064515867" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 220.29354984943683, + "unit": "ns", + "range": "± 0.14870820275720928" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 111.46455975373586, + "unit": "ns", + "range": "± 1.8615600370335406" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "14d3ac2802110fb3822130f003ec18074df9bd2b", + "message": "Remove baseline", + "timestamp": "2025-07-06T11:36:20+02:00", + "tree_id": "28ab0c82524619f4213eed3596cb819473d822ac", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/14d3ac2802110fb3822130f003ec18074df9bd2b" + }, + "date": 1751794795789, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 210.56703786055246, + "unit": "ns", + "range": "± 0.2831661802611605" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 93.39708323478699, + "unit": "ns", + "range": "± 1.0142410703858473" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 171.11842934901898, + "unit": "ns", + "range": "± 0.20385411204691328" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 86.7321027975816, + "unit": "ns", + "range": "± 0.8120497779695337" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 287.3855062552861, + "unit": "ns", + "range": "± 0.21615500560002213" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 116.51340340773264, + "unit": "ns", + "range": "± 1.2151714175416297" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 219.61645137346707, + "unit": "ns", + "range": "± 0.24306827178343465" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 115.55202023472104, + "unit": "ns", + "range": "± 1.1766862127764959" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "117e9593b1abc9739ba2774eb502fcde06640bbc", + "message": "Fix with hashset", + "timestamp": "2025-07-06T11:41:19+02:00", + "tree_id": "a9513ac8d6f1706b275a69f95fa924a9a558ddba", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/117e9593b1abc9739ba2774eb502fcde06640bbc" + }, + "date": 1751795108251, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 213.8611585100492, + "unit": "ns", + "range": "± 0.31268388624488014" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 89.4130560795466, + "unit": "ns", + "range": "± 1.1219071010623725" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 165.8039352435332, + "unit": "ns", + "range": "± 0.34553717251206095" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 92.1250486254692, + "unit": "ns", + "range": "± 0.7271831459172413" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 285.09289133548737, + "unit": "ns", + "range": "± 0.3860553614422933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 115.24519101211003, + "unit": "ns", + "range": "± 1.0296640179869065" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 219.75021482430972, + "unit": "ns", + "range": "± 0.1924313702711533" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 112.0020727554957, + "unit": "ns", + "range": "± 0.9149994793270321" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "94f92575e66268087fb0c8eef711e391b4cd6348", + "message": "Fix comparison benchmark", + "timestamp": "2025-07-06T11:51:54+02:00", + "tree_id": "d40a90357e34c737f95b683618204fcca8f1eda6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/94f92575e66268087fb0c8eef711e391b4cd6348" + }, + "date": 1751795755710, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 208.24694911071234, + "unit": "ns", + "range": "± 0.27218706699767875" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 88.2438769976298, + "unit": "ns", + "range": "± 0.3557151300652873" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 167.26743083000184, + "unit": "ns", + "range": "± 0.2990483910722382" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 91.12533581256866, + "unit": "ns", + "range": "± 0.8452716076754176" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 289.997798039363, + "unit": "ns", + "range": "± 0.3373828435210694" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 115.42402769128482, + "unit": "ns", + "range": "± 0.6022440810593988" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.49700584778418, + "unit": "ns", + "range": "± 0.14943779937087603" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 117.28586213077817, + "unit": "ns", + "range": "± 3.3920722286810063" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "3977afc7f246a352127b30ece11f09b06c581c61", + "message": "Change order of benchmarks", + "timestamp": "2025-07-06T11:56:25+02:00", + "tree_id": "07b8d2226d320803f32c25e16113218adac49cd8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3977afc7f246a352127b30ece11f09b06c581c61" + }, + "date": 1751796001671, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 214.63258079120092, + "unit": "ns", + "range": "± 0.6312793002831355" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 92.18425243742325, + "unit": "ns", + "range": "± 1.6695895736084803" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 168.56707837581635, + "unit": "ns", + "range": "± 0.47805261104378705" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 84.91376662651697, + "unit": "ns", + "range": "± 0.9208724818281463" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.15194961002896, + "unit": "ns", + "range": "± 0.2545300272610613" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 117.58944465319315, + "unit": "ns", + "range": "± 1.9470553264102624" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 219.94040959221977, + "unit": "ns", + "range": "± 0.2721026224510524" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 112.91218461195628, + "unit": "ns", + "range": "± 0.9466088332847173" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "a9034f9b8d34c15f8bb1ae93f53df7d37c1ecad0", + "message": "Remove Artifacts", + "timestamp": "2025-07-06T11:57:56+02:00", + "tree_id": "ef755862ff9c01d1aa18c8e9b1bf9952de49dbee", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/a9034f9b8d34c15f8bb1ae93f53df7d37c1ecad0" + }, + "date": 1751796083528, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 213.01404823859534, + "unit": "ns", + "range": "± 0.2663686748674352" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 89.41400020917257, + "unit": "ns", + "range": "± 0.18835358875062447" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 164.16943097114563, + "unit": "ns", + "range": "± 0.042680462637009274" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 115.57722053925197, + "unit": "ns", + "range": "± 0.8126059824929985" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 294.4320550331703, + "unit": "ns", + "range": "± 0.12689816509213053" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 116.20777961186, + "unit": "ns", + "range": "± 0.6498472842705939" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 221.7454458108315, + "unit": "ns", + "range": "± 0.2661986338031849" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 109.26076999306679, + "unit": "ns", + "range": "± 1.8497496674750045" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "930d8d7a09da2463d30f3eeb0eb5d6d366e2b801", + "message": "Fix ordering of benchmarks", + "timestamp": "2025-07-06T12:01:00+02:00", + "tree_id": "79e9fbefcc6051267e2164a18ffa59850a1c384a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/930d8d7a09da2463d30f3eeb0eb5d6d366e2b801" + }, + "date": 1751796291208, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 216.4199662575355, + "unit": "ns", + "range": "± 0.22892001024663916" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 95.15907434622447, + "unit": "ns", + "range": "± 0.4222723598755897" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 170.5726149422782, + "unit": "ns", + "range": "± 0.39616343166086543" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 88.06731011072795, + "unit": "ns", + "range": "± 0.7220888625155992" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 280.7881588935852, + "unit": "ns", + "range": "± 0.17677677372702535" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 116.62189505497615, + "unit": "ns", + "range": "± 0.6089772217209879" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 227.11803401433505, + "unit": "ns", + "range": "± 0.22666899548937902" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 114.69564068714777, + "unit": "ns", + "range": "± 1.238800590855276" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "2e552c17e9442ab558c4e13c4295a033df473d3c", + "message": "Add early exit on empty arguments", + "timestamp": "2025-07-06T12:48:52+02:00", + "tree_id": "b9039cc3614a11091aed21c4f276a8ec1995ae04", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2e552c17e9442ab558c4e13c4295a033df473d3c" + }, + "date": 1751799164630, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 213.11333029086774, + "unit": "ns", + "range": "± 0.5132422124945554" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 87.82561134375058, + "unit": "ns", + "range": "± 0.39201544416346906" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 168.29162301336015, + "unit": "ns", + "range": "± 0.3016732945898766" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 89.55647931780133, + "unit": "ns", + "range": "± 0.6583955549911843" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 285.79810803731283, + "unit": "ns", + "range": "± 0.5354382694745047" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 114.20668882983071, + "unit": "ns", + "range": "± 0.4049274302350669" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.62458988336417, + "unit": "ns", + "range": "± 0.0843441945633113" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 109.61724932193756, + "unit": "ns", + "range": "± 0.48322629956821406" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "495d40293f71e191ac9ca1f5d903381d0ad9ecd9", + "message": "Update benchmark results", + "timestamp": "2025-07-06T13:39:24+02:00", + "tree_id": "60e274804e4e23455ff57caadb6abdf5b446fffa", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/495d40293f71e191ac9ca1f5d903381d0ad9ecd9" + }, + "date": 1751802186092, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 208.4332896929521, + "unit": "ns", + "range": "± 0.20953087077171081" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 93.34714783032736, + "unit": "ns", + "range": "± 1.4563002608508515" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 166.15414306095667, + "unit": "ns", + "range": "± 0.16745100309910596" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 96.84979504346848, + "unit": "ns", + "range": "± 1.2916614019463708" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 290.5971877234323, + "unit": "ns", + "range": "± 0.5888703581081446" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.29853811718169, + "unit": "ns", + "range": "± 2.8733059561074077" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.40168254716056, + "unit": "ns", + "range": "± 0.2904631691698167" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 110.6978905359904, + "unit": "ns", + "range": "± 1.0458793971133913" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "af22a7a72b610fa301a4dcc4298b9e0f7e6dee15", + "message": "Improve unmarshalling performance (#98)", + "timestamp": "2025-07-06T14:04:16+02:00", + "tree_id": "7ef1150e898e10739b6d6fa41e474856a86bdcf5", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/af22a7a72b610fa301a4dcc4298b9e0f7e6dee15" + }, + "date": 1751803685229, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 209.38289313656944, + "unit": "ns", + "range": "± 0.3418428673744191" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 90.83380183378856, + "unit": "ns", + "range": "± 0.9385394354758444" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.9231927394867, + "unit": "ns", + "range": "± 0.12092697692409848" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 86.50453109400613, + "unit": "ns", + "range": "± 0.5205354718939935" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.44853622572765, + "unit": "ns", + "range": "± 0.5607245997443582" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 117.0647995710373, + "unit": "ns", + "range": "± 1.7858379975339989" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 220.93841356039047, + "unit": "ns", + "range": "± 0.17651370816303025" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 112.90558152198791, + "unit": "ns", + "range": "± 0.9599316139389746" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d8a8380bf1e80737030d3c497a50d04f00ec1c90", + "message": "Create codeql.yml", + "timestamp": "2025-07-13T21:27:35+02:00", + "tree_id": "4273aa99ffee4c651b8bb6dd8d42a4e5526b4db4", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d8a8380bf1e80737030d3c497a50d04f00ec1c90" + }, + "date": 1752435076778, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 206.68244461218515, + "unit": "ns", + "range": "± 0.4559700367211291" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 94.03723751703897, + "unit": "ns", + "range": "± 1.3789668083414948" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 166.95661431092483, + "unit": "ns", + "range": "± 0.19093698144851284" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 98.8728524684906, + "unit": "ns", + "range": "± 0.6505264472965059" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.38750820159913, + "unit": "ns", + "range": "± 0.7509060012666157" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.06574453626361, + "unit": "ns", + "range": "± 1.6332318690712953" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 222.12679042265967, + "unit": "ns", + "range": "± 0.08378876436125626" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 110.00930612881979, + "unit": "ns", + "range": "± 0.8161213044548206" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5ff3c30d03c514b9b02877f63ce06c783c1e1131", + "message": "Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#99)\n\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>", + "timestamp": "2025-07-13T21:34:56+02:00", + "tree_id": "a9299bac01281ca9c29420f4b98d2d688299aea9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5ff3c30d03c514b9b02877f63ce06c783c1e1131" + }, + "date": 1752435533830, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 209.79027495934412, + "unit": "ns", + "range": "± 0.27348986332405434" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 88.65636253356934, + "unit": "ns", + "range": "± 0.394969681995412" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 160.39479366632608, + "unit": "ns", + "range": "± 0.26519366906512853" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 91.08936003446578, + "unit": "ns", + "range": "± 1.5761406224550827" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.92283487319946, + "unit": "ns", + "range": "± 0.5823129573269755" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 116.09022268227169, + "unit": "ns", + "range": "± 0.630739521337759" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 216.02078875473566, + "unit": "ns", + "range": "± 0.12996477750856625" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 114.91381211643633, + "unit": "ns", + "range": "± 2.8344995200764562" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "09f3e94bc5808c7fd33009f728e81d69253047d6", + "message": "Create dependabot.yml", + "timestamp": "2025-07-14T21:48:36+02:00", + "tree_id": "04c8aab4a5b593a40a4240fe1469a6ff3a58b586", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/09f3e94bc5808c7fd33009f728e81d69253047d6" + }, + "date": 1752522729004, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 206.8622904419899, + "unit": "ns", + "range": "± 0.3965823172266022" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 98.75575257142386, + "unit": "ns", + "range": "± 1.5056511768670062" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.95743908087414, + "unit": "ns", + "range": "± 0.26942009057504895" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 98.36837294896443, + "unit": "ns", + "range": "± 0.9310277303165959" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 276.93013561688934, + "unit": "ns", + "range": "± 0.4192912777429356" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 129.26910450458527, + "unit": "ns", + "range": "± 1.8972538754212873" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 219.92492921535785, + "unit": "ns", + "range": "± 0.11942748590197994" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 123.4785240093867, + "unit": "ns", + "range": "± 1.5045696605222787" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3b96e0cfe7f1f3d47d2e13bdc833f0ec8c9b3637", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T21:54:01+02:00", + "tree_id": "50cfaf57c1713862a8a6187e61d34f318e7dea77", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3b96e0cfe7f1f3d47d2e13bdc833f0ec8c9b3637" + }, + "date": 1752523073457, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 207.6012560587663, + "unit": "ns", + "range": "± 0.46992576747355774" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 89.59066913922628, + "unit": "ns", + "range": "± 0.3907642772110268" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 169.22074609143394, + "unit": "ns", + "range": "± 0.1501615037616846" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 88.701034172376, + "unit": "ns", + "range": "± 0.4463726104922333" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 279.736667905535, + "unit": "ns", + "range": "± 0.19723239083627234" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 115.90184636910756, + "unit": "ns", + "range": "± 1.0910150611826708" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.72587634966925, + "unit": "ns", + "range": "± 0.22589611873527973" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 109.55738100638756, + "unit": "ns", + "range": "± 0.6282791474592009" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "01cda5ad909f9eafa6659fafd7b4c153875e50a0", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T21:55:27+02:00", + "tree_id": "2b0786ea9616366ad1d06743371aa6be9495d573", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/01cda5ad909f9eafa6659fafd7b4c153875e50a0" + }, + "date": 1752523158685, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 213.29939714499884, + "unit": "ns", + "range": "± 0.3363760423938614" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 89.94502977813993, + "unit": "ns", + "range": "± 0.6605601150256061" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 169.27702503544944, + "unit": "ns", + "range": "± 0.2683081452654139" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 96.6021718904376, + "unit": "ns", + "range": "± 1.8744964312308348" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.65803013529097, + "unit": "ns", + "range": "± 0.2552320144892085" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 116.9064346631368, + "unit": "ns", + "range": "± 1.4265237771735484" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.9790416955948, + "unit": "ns", + "range": "± 0.18519964279227105" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 112.93976302146912, + "unit": "ns", + "range": "± 1.11099024186545" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "79b16271e251e6e6daa937122507c62d18cdbbfe", + "message": "Update dependabot.yml", + "timestamp": "2025-07-14T22:00:08+02:00", + "tree_id": "3631a814e44a99167dfb7f4d2631f6548be840b7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/79b16271e251e6e6daa937122507c62d18cdbbfe" + }, + "date": 1752523421835, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 209.8883202626155, + "unit": "ns", + "range": "± 0.6269832215473192" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 96.19262877106667, + "unit": "ns", + "range": "± 1.8766568862769428" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.5437638589314, + "unit": "ns", + "range": "± 0.21104112297441355" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 95.66904651721319, + "unit": "ns", + "range": "± 0.8353379210798192" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 278.9266491669875, + "unit": "ns", + "range": "± 0.33079285051194013" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 120.26895884367136, + "unit": "ns", + "range": "± 1.2339194007117624" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.75200312137605, + "unit": "ns", + "range": "± 0.42505211444621177" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 117.27190187772115, + "unit": "ns", + "range": "± 1.6629603388628722" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "e6b5b1276e697ff1726c9884b56f51507745b519", + "message": "Add dependabot", + "timestamp": "2025-07-14T22:01:50+02:00", + "tree_id": "3631a814e44a99167dfb7f4d2631f6548be840b7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e6b5b1276e697ff1726c9884b56f51507745b519" + }, + "date": 1752523523420, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 206.78942259720392, + "unit": "ns", + "range": "± 0.6249981109497328" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 94.62144138415654, + "unit": "ns", + "range": "± 1.0790358735160588" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 169.24078757762908, + "unit": "ns", + "range": "± 0.28644629645356023" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 92.89436838626861, + "unit": "ns", + "range": "± 0.653128724936597" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 279.2150855745588, + "unit": "ns", + "range": "± 0.2518188388715771" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.61837202707926, + "unit": "ns", + "range": "± 1.4223857232549315" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 219.07629764080048, + "unit": "ns", + "range": "± 0.4174411240432486" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 113.91840722927681, + "unit": "ns", + "range": "± 0.9303094670151795" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "c18f85f5cd9414195bd88ffdec6e6f94f557afce", + "message": "Manually point to projects", + "timestamp": "2025-07-14T22:29:14+02:00", + "tree_id": "6b234f2935b20faf6019a4433678c54a87015492", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c18f85f5cd9414195bd88ffdec6e6f94f557afce" + }, + "date": 1752525173424, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 206.02368621031442, + "unit": "ns", + "range": "± 1.6751406120836616" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 98.0504727045695, + "unit": "ns", + "range": "± 1.333953182654577" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 161.71600306034088, + "unit": "ns", + "range": "± 0.15520652493873685" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 100.5471965432167, + "unit": "ns", + "range": "± 1.3736765749782247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 279.17159722401544, + "unit": "ns", + "range": "± 0.15083879007622852" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 121.60255019366741, + "unit": "ns", + "range": "± 2.295839647825183" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.54361213170566, + "unit": "ns", + "range": "± 0.11333596300387813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 134.5190430720647, + "unit": "ns", + "range": "± 1.756982451668821" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d774a56e71466519a8a731cd89c26bc416a1c759", + "message": "Bump AWSSDK.DynamoDBv2 and 7 others (#100)\n\n* Bump AWSSDK.DynamoDBv2 and 7 others\n\nBumps AWSSDK.DynamoDBv2 from 4.0.1 to 4.0.2.2\nBumps BenchmarkDotNet from 0.14.0 to 0.15.2\nBumps FluentAssertions from 7.0.0 to 8.5.0\nBumps Microsoft.CodeAnalysis.Analyzers from 3.11.0 to 4.14.0\nBumps Microsoft.CodeAnalysis.CSharp from 4.10.0 to 4.14.0\nBumps Microsoft.NET.Test.Sdk from 17.14.0 to 17.14.1\nBumps xunit.runner.visualstudio from 3.1.0 to 3.1.2\nBumps xunit.v3 from 2.0.2 to 3.0.0\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.2\n dependency-type: direct:production\n update-type: version-update:semver-minor\n- dependency-name: FluentAssertions\n dependency-version: 8.5.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n- dependency-name: Microsoft.CodeAnalysis.Analyzers\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 17.14.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n- dependency-name: xunit.v3\n dependency-version: 3.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \n\n* Update DynamoDBGenerator.SourceGenerator.csproj\n\nSource generator dependencies needs to be manully adjusted. Testing without these depencencies.\n\n* Update DynamoDBGenerator.SourceGenerator.Tests.csproj\n\nAvoid payed version\n\n---------\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-07-14T22:38:26+02:00", + "tree_id": "afec4c7db7dbe86333baaad69b5bdf4184dd28b9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d774a56e71466519a8a731cd89c26bc416a1c759" + }, + "date": 1752525678254, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 207.0328517300742, + "unit": "ns", + "range": "± 0.6589349930473485" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 91.59690922101339, + "unit": "ns", + "range": "± 1.0187272171369608" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 163.7411057673968, + "unit": "ns", + "range": "± 0.32216778121645084" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 87.46411040851048, + "unit": "ns", + "range": "± 0.5508857784583014" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.75872226861804, + "unit": "ns", + "range": "± 0.3174378342133611" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 111.08350159571721, + "unit": "ns", + "range": "± 0.38822006830239847" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 221.25748225358817, + "unit": "ns", + "range": "± 0.26809696158290497" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 107.93386763792772, + "unit": "ns", + "range": "± 0.5461528374915047" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "38a5607bdb39de5515d880bff00228cef3a2db60", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.2.2 to 4.0.3.1 (#110)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.3.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-07-31T19:48:16+02:00", + "tree_id": "b221c370dc94de83ae1ed5a030c16695a6aae912", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/38a5607bdb39de5515d880bff00228cef3a2db60" + }, + "date": 1753984267599, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 213.28966488157, + "unit": "ns", + "range": "± 1.6837651078774378" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 88.49080748217446, + "unit": "ns", + "range": "± 0.6777669418569591" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 166.7230978012085, + "unit": "ns", + "range": "± 0.16524369538354775" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 80.87291017373403, + "unit": "ns", + "range": "± 0.48261130089981374" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 299.6530935366948, + "unit": "ns", + "range": "± 0.4734817130367369" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 110.02686393260956, + "unit": "ns", + "range": "± 0.23094318143094367" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.06825664043427, + "unit": "ns", + "range": "± 0.8419098060937115" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 106.23259447018306, + "unit": "ns", + "range": "± 0.21562657699028073" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "19d5868217cdc3deb0bfe352089eae9f276abf06", + "message": "Upgrade source generator (#113)", + "timestamp": "2025-08-05T22:56:15+02:00", + "tree_id": "2f0e23fa230fe3ceb21700b2442ffe5f79364844", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/19d5868217cdc3deb0bfe352089eae9f276abf06" + }, + "date": 1754427557569, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 205.29587609427315, + "unit": "ns", + "range": "± 1.8512105957264227" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 96.0775500734647, + "unit": "ns", + "range": "± 1.1594851329857698" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.36796236955203, + "unit": "ns", + "range": "± 0.42755354603517376" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 86.42254286209742, + "unit": "ns", + "range": "± 1.195937978375731" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 279.42386954171315, + "unit": "ns", + "range": "± 1.3615380637363668" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 113.8231693983078, + "unit": "ns", + "range": "± 1.0436277169955477" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 222.66393095652262, + "unit": "ns", + "range": "± 0.8912738905811368" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 109.71544173558553, + "unit": "ns", + "range": "± 1.2130431102743418" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "00c067cad1899e429122654d78157dc5d3cc9686", + "message": "Bump xunit.v3 from 3.0.0 to 3.0.1 (#118)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.0.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-08-20T23:22:57+02:00", + "tree_id": "9e996d7c8c7cdb98dcb1c2d6ba4d90bdec140e31", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/00c067cad1899e429122654d78157dc5d3cc9686" + }, + "date": 1755725147272, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 206.4580969640187, + "unit": "ns", + "range": "± 0.8975033493557768" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 92.59692329565684, + "unit": "ns", + "range": "± 1.657644827164804" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 161.59673743064587, + "unit": "ns", + "range": "± 0.21406435993670936" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 86.83399798472722, + "unit": "ns", + "range": "± 1.8918264969187815" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 278.5318438456609, + "unit": "ns", + "range": "± 0.6461618188578979" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.54616389955792, + "unit": "ns", + "range": "± 3.489078281010149" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 220.10550078978906, + "unit": "ns", + "range": "± 0.423975032029971" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 110.6109881571361, + "unit": "ns", + "range": "± 3.219618818913979" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fe931f7d7b7cd25d9017f3b81420266fa1e8dd49", + "message": "Bump xunit.runner.visualstudio from 3.1.2 to 3.1.4 (#117)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-08-20T23:24:28+02:00", + "tree_id": "a75caed3f9676667f8142a1f85f147a48e351bc8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/fe931f7d7b7cd25d9017f3b81420266fa1e8dd49" + }, + "date": 1755725238194, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 211.31776300271352, + "unit": "ns", + "range": "± 2.2740486451171265" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 90.7127662386213, + "unit": "ns", + "range": "± 1.4887386800051432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.99038888726915, + "unit": "ns", + "range": "± 0.567584026108302" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 87.10534157202794, + "unit": "ns", + "range": "± 0.8015219932460762" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 277.7613067626953, + "unit": "ns", + "range": "± 0.3314838791052942" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 115.73863526185353, + "unit": "ns", + "range": "± 1.6546688774575122" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.0016726255417, + "unit": "ns", + "range": "± 0.5584357996294594" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 112.61888212817055, + "unit": "ns", + "range": "± 1.197821905396289" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8a5066623940e3adccb76ded2bf5838f2769471e", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.3.1 to 4.0.4.1 (#114)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.4.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-08-21T21:04:33+02:00", + "tree_id": "1685fe9f1111f80c937e5590b646eb38f82a1020", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8a5066623940e3adccb76ded2bf5838f2769471e" + }, + "date": 1755803238508, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 221.2689506326403, + "unit": "ns", + "range": "± 1.8038685505187877" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 91.61277563231332, + "unit": "ns", + "range": "± 1.4998322708539935" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 167.41125495617206, + "unit": "ns", + "range": "± 0.31746385938816873" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 86.72565902868907, + "unit": "ns", + "range": "± 1.558100101855521" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.9255099663368, + "unit": "ns", + "range": "± 0.40866479684396617" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 116.71196115016937, + "unit": "ns", + "range": "± 2.3720567846524894" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 216.8815274834633, + "unit": "ns", + "range": "± 0.17468472211583602" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 111.01227325598398, + "unit": "ns", + "range": "± 2.109796425819243" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ce316d04a4f68c1aea0d8bbb7e87f9190653d1f2", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.4.1 to 4.0.5.1 (#119)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.5.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-08-29T15:57:53+02:00", + "tree_id": "57ac539535b8df1a1c61b9d1d251f2ea79715f94", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/ce316d04a4f68c1aea0d8bbb7e87f9190653d1f2" + }, + "date": 1756476047553, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 204.47564313961908, + "unit": "ns", + "range": "± 0.22863735994224205" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 87.46811819076538, + "unit": "ns", + "range": "± 0.6358306956074199" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.95728302001953, + "unit": "ns", + "range": "± 0.14079123339385388" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 82.76575600306192, + "unit": "ns", + "range": "± 0.8462903602448772" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.50770924641535, + "unit": "ns", + "range": "± 0.46192066719655217" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 111.2478500922521, + "unit": "ns", + "range": "± 1.386143991541156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.18252801895142, + "unit": "ns", + "range": "± 0.93963418606822" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 107.76479396911768, + "unit": "ns", + "range": "± 0.10557785206722943" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2d870770bcecc302b96e1bfbb5240fdfce0b8a97", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.5.1 to 4.0.6.1 (#121)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-09T22:56:05+02:00", + "tree_id": "724e9d80caa4273b6daebdcc934b12260e8e1243", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2d870770bcecc302b96e1bfbb5240fdfce0b8a97" + }, + "date": 1757451520718, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 207.3545838502737, + "unit": "ns", + "range": "± 0.3992744720997933" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 97.6192791223526, + "unit": "ns", + "range": "± 1.0657466151874284" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 161.09799060454736, + "unit": "ns", + "range": "± 0.2271350231656649" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 93.0194541301046, + "unit": "ns", + "range": "± 0.6091562023958669" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 278.4673845767975, + "unit": "ns", + "range": "± 0.22828837188289594" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 116.84392985930809, + "unit": "ns", + "range": "± 0.5357624066390986" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 216.92975264329178, + "unit": "ns", + "range": "± 0.2656947071330135" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 111.90529910723369, + "unit": "ns", + "range": "± 1.3850447410231903" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "96abb525e1c4dab36e7da1502ee88b14e61d6a50", + "message": "Bump BenchmarkDotNet from 0.15.2 to 0.15.3 (#123)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-23T18:43:05+02:00", + "tree_id": "af2c751c2d3508b801f722a4cf1b08c37c5f67a0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/96abb525e1c4dab36e7da1502ee88b14e61d6a50" + }, + "date": 1758646018568, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 208.88348384698233, + "unit": "ns", + "range": "± 0.4399452583713156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 103.84805053075155, + "unit": "ns", + "range": "± 1.2786102821033283" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 164.0788670686575, + "unit": "ns", + "range": "± 0.5650130480657037" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 91.27607127428055, + "unit": "ns", + "range": "± 1.7520383545090015" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.10466017041887, + "unit": "ns", + "range": "± 0.1900598349706207" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 123.96897670200893, + "unit": "ns", + "range": "± 1.4416386985492617" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.10855073588235, + "unit": "ns", + "range": "± 0.6651189410484153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 118.07154143651327, + "unit": "ns", + "range": "± 2.215163249760504" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9f740062393e8f9f3dbd527630a7254f72ade665", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.1 to 4.0.6.2 (#122)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-28T21:11:13+02:00", + "tree_id": "99cbe789635404cf4396c3e45c05a833342058ad", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9f740062393e8f9f3dbd527630a7254f72ade665" + }, + "date": 1759086893556, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 210.3428181750434, + "unit": "ns", + "range": "± 0.4918039932551449" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 90.38602908054987, + "unit": "ns", + "range": "± 0.7188955457443742" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.57311409253342, + "unit": "ns", + "range": "± 0.1555959564997003" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 88.02230338255565, + "unit": "ns", + "range": "± 0.7412071021785455" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 277.9395432472229, + "unit": "ns", + "range": "± 0.32128818251755087" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 114.4372050506728, + "unit": "ns", + "range": "± 0.4293978991034607" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 214.03064438929925, + "unit": "ns", + "range": "± 0.2229600240195081" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 107.07954505511692, + "unit": "ns", + "range": "± 0.6041921269589656" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f7962292f13b78c0d9aa7d477368748236f2f206", + "message": "Bump xunit.runner.visualstudio from 3.1.4 to 3.1.5 (#126)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.runner.visualstudio\n dependency-version: 3.1.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-09-29T18:42:16+02:00", + "tree_id": "4420b501f3874397ced78dcf3811c0c628140602", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f7962292f13b78c0d9aa7d477368748236f2f206" + }, + "date": 1759164354341, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 207.73017649991172, + "unit": "ns", + "range": "± 0.6984286780141727" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 91.83418432303837, + "unit": "ns", + "range": "± 0.9798532931197228" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.61020689351218, + "unit": "ns", + "range": "± 0.22036006659984703" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 87.69047177689416, + "unit": "ns", + "range": "± 0.3500755237678504" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 278.9432991834787, + "unit": "ns", + "range": "± 0.18949690101263966" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.07686537106832, + "unit": "ns", + "range": "± 1.2187777447881667" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.90821110285245, + "unit": "ns", + "range": "± 0.19350048388576452" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 108.19311764240265, + "unit": "ns", + "range": "± 1.3481099943185604" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5f09be7fd187626f6411a27cdc42f11b6a97333d", + "message": "Bump BenchmarkDotNet from 0.15.3 to 0.15.4 (#125)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-29T18:45:05+02:00", + "tree_id": "000203a66299953d80ca61dd605bc0a146bdb5a2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5f09be7fd187626f6411a27cdc42f11b6a97333d" + }, + "date": 1759164536135, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 213.72509261540003, + "unit": "ns", + "range": "± 0.6033736330120141" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 96.34463269369942, + "unit": "ns", + "range": "± 0.5824175201762919" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 165.42706972819107, + "unit": "ns", + "range": "± 0.25929070162107953" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 92.80685342152914, + "unit": "ns", + "range": "± 0.8260266050297181" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 276.07171220045825, + "unit": "ns", + "range": "± 0.21865712109773175" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 128.26384325822195, + "unit": "ns", + "range": "± 0.5601949618330206" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.44994618342474, + "unit": "ns", + "range": "± 0.2270881584625764" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 117.33521639506021, + "unit": "ns", + "range": "± 0.714509463729338" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "cad37d37c8639fe72f5afcdaef84e6fd4e689343", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.2 to 4.0.6.3 (#124)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.6.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-09-29T18:51:12+02:00", + "tree_id": "81561588a97de010155dc2d9fb92c90aef79c7e9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/cad37d37c8639fe72f5afcdaef84e6fd4e689343" + }, + "date": 1759164893167, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 206.58233919510474, + "unit": "ns", + "range": "± 0.25772845463663485" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 93.57000796000163, + "unit": "ns", + "range": "± 1.74634280207776" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 163.94549605479608, + "unit": "ns", + "range": "± 0.2544203477850999" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 90.01933614164591, + "unit": "ns", + "range": "± 1.7690316953713252" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 275.9167568133428, + "unit": "ns", + "range": "± 0.3350036735284864" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.16214761137962, + "unit": "ns", + "range": "± 2.343506633524198" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.51367603143055, + "unit": "ns", + "range": "± 2.1864120565502025" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 111.16358505189419, + "unit": "ns", + "range": "± 2.173533440161603" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2f0dbd68aff2f79e7c584cc7a34e570c59fb270d", + "message": "Bump xunit.v3 from 3.0.1 to 3.1.0 (#129)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.1.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-07T19:48:39+02:00", + "tree_id": "eb4f54d4632242a42c5cccc0e8549a351c83ccb2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/2f0dbd68aff2f79e7c584cc7a34e570c59fb270d" + }, + "date": 1759859540864, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 208.4202595778874, + "unit": "ns", + "range": "± 1.1040032090898246" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 96.97238748414176, + "unit": "ns", + "range": "± 0.7702100304642197" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 168.16514412562051, + "unit": "ns", + "range": "± 0.14384447301896153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 96.55399597485861, + "unit": "ns", + "range": "± 1.59098334325235" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 278.52839814699615, + "unit": "ns", + "range": "± 0.452171827808731" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 132.16377794742584, + "unit": "ns", + "range": "± 0.5064935715893059" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 220.44943256037575, + "unit": "ns", + "range": "± 0.25820858755190684" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 122.52913079261779, + "unit": "ns", + "range": "± 0.9749918810424351" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8b9a2a2eab1916b4e63e5c3d3f9b758ed9c5971a", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.6.3 to 4.0.7 (#127)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-10-07T20:29:21+02:00", + "tree_id": "2d6cacb7fa190c58af882e58ac79682e536fecd9", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8b9a2a2eab1916b4e63e5c3d3f9b758ed9c5971a" + }, + "date": 1759861980927, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 204.95594239234924, + "unit": "ns", + "range": "± 0.7264382435469946" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 91.52391434113184, + "unit": "ns", + "range": "± 0.7514794450666737" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 168.95103885446275, + "unit": "ns", + "range": "± 0.18569574564250432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 87.03014395634334, + "unit": "ns", + "range": "± 0.7226760932939436" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 279.2318138054439, + "unit": "ns", + "range": "± 0.22785837912179904" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 121.3837724129359, + "unit": "ns", + "range": "± 0.7060509811393711" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 216.6344956556956, + "unit": "ns", + "range": "± 0.19929079020700677" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 111.34626330534617, + "unit": "ns", + "range": "± 1.1783654029782709" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "60ad1782e3851f657c35bd1cded8f94c209cd624", + "message": "Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 (#128)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-10-07T20:29:43+02:00", + "tree_id": "7560295ef00e888de67a120634539b39fc1578eb", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/60ad1782e3851f657c35bd1cded8f94c209cd624" + }, + "date": 1759862003333, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 207.8875045946666, + "unit": "ns", + "range": "± 0.5310220770722167" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 91.16132696469624, + "unit": "ns", + "range": "± 1.0513262281302225" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 171.97218441963196, + "unit": "ns", + "range": "± 0.1702460633955223" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 87.19010037581126, + "unit": "ns", + "range": "± 0.8454622905084561" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 279.13109694994415, + "unit": "ns", + "range": "± 0.20871376461409813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.41127686841148, + "unit": "ns", + "range": "± 0.8358967977120945" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 213.32401388486227, + "unit": "ns", + "range": "± 0.41581990334519847" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 113.02034398317338, + "unit": "ns", + "range": "± 1.4571008128739085" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8302c04cffeaeae2c845e3d79104ac1e8fc8b47f", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.7 to 4.0.7.2 (#131)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.7.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-16T21:59:04+02:00", + "tree_id": "1d7fd0914252f2a82d725dc28d937599653c2133", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8302c04cffeaeae2c845e3d79104ac1e8fc8b47f" + }, + "date": 1760644982389, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 207.3271293273339, + "unit": "ns", + "range": "± 0.2039675219263027" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 86.00148390134176, + "unit": "ns", + "range": "± 0.48414154680896143" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 170.69717939694723, + "unit": "ns", + "range": "± 0.1541465141188369" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 82.85722829745366, + "unit": "ns", + "range": "± 0.1836507499342021" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 280.3224888245265, + "unit": "ns", + "range": "± 0.16113234019810851" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 113.12072551250458, + "unit": "ns", + "range": "± 0.4622060312305653" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 214.93541631331811, + "unit": "ns", + "range": "± 0.27448755098959904" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 109.31112403472265, + "unit": "ns", + "range": "± 0.3617494765454195" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "128761419c5c2d1a9bc590a9fafefbbd36465227", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.7.2 to 4.0.9.1 (#133)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-10-27T18:27:58+01:00", + "tree_id": "b43948769fa400f4632f2c980a24fdc39aa04ef0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/128761419c5c2d1a9bc590a9fafefbbd36465227" + }, + "date": 1761586311797, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 221.9154192549842, + "unit": "ns", + "range": "± 0.35947239272403514" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 94.26592789093654, + "unit": "ns", + "range": "± 2.539912206414286" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 162.86956030588883, + "unit": "ns", + "range": "± 0.1370794813620435" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 91.55721341073513, + "unit": "ns", + "range": "± 1.7544320679525915" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 278.11904366811115, + "unit": "ns", + "range": "± 0.25777157632383924" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 121.43152419516915, + "unit": "ns", + "range": "± 2.6671456794209605" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.95306271773117, + "unit": "ns", + "range": "± 0.10903264081972419" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 117.594539920489, + "unit": "ns", + "range": "± 1.9770762799715387" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "041bd7855ddcaa8426cd9958938044ac1a5c2f4b", + "message": "Bump BenchmarkDotNet from 0.15.4 to 0.15.5 (#136)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-04T21:58:11+01:00", + "tree_id": "a6617d74c84f149ad6aa4d3fd205938f008b42bf", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/041bd7855ddcaa8426cd9958938044ac1a5c2f4b" + }, + "date": 1762290114984, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 211.12443538506827, + "unit": "ns", + "range": "± 0.42642996980420317" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 90.67440801858902, + "unit": "ns", + "range": "± 1.1616084600790564" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 161.6249766258093, + "unit": "ns", + "range": "± 0.22965889141945126" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 87.44461879363426, + "unit": "ns", + "range": "± 1.0620702617964244" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 286.63406544465283, + "unit": "ns", + "range": "± 0.23241248329622208" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 119.09493169614247, + "unit": "ns", + "range": "± 1.36539251123866" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.4706491965514, + "unit": "ns", + "range": "± 0.24109603019347917" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 110.57262358757166, + "unit": "ns", + "range": "± 1.129479985692092" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "830d832fe53ef9ece4ca84bfda6c494955d7b527", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.1 to 4.0.9.3 (#134)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-04T21:57:39+01:00", + "tree_id": "44357edb3ed68b66576f1ada9e66dd64282ef591", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/830d832fe53ef9ece4ca84bfda6c494955d7b527" + }, + "date": 1762290135578, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 204.62644968032836, + "unit": "ns", + "range": "± 0.49855637897271227" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 92.3403931303722, + "unit": "ns", + "range": "± 3.4384286712659082" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 160.58206379413605, + "unit": "ns", + "range": "± 0.22177964820791826" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 91.02207140675907, + "unit": "ns", + "range": "± 2.735445640018792" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.39406773022245, + "unit": "ns", + "range": "± 0.41940154896460896" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 122.7430064935942, + "unit": "ns", + "range": "± 4.26169042767214" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.533413035529, + "unit": "ns", + "range": "± 0.20079260155740122" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 117.41434583740849, + "unit": "ns", + "range": "± 3.586253446289299" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c4ecb6e6198e1e31f1e82456d985cdc017d3b066", + "message": "Bump xunit.v3 from 3.1.0 to 3.2.0 (#135)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-06T23:29:02+01:00", + "tree_id": "6b42bda464a9e11a414b309d567dca3909e3372c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c4ecb6e6198e1e31f1e82456d985cdc017d3b066" + }, + "date": 1762468382072, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 205.53582852620346, + "unit": "ns", + "range": "± 0.251310701509633" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 88.11036323308944, + "unit": "ns", + "range": "± 0.6488043348375129" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 164.02135445276897, + "unit": "ns", + "range": "± 0.5680481744846779" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 89.93015455404917, + "unit": "ns", + "range": "± 0.7287989927486909" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 278.3548426287515, + "unit": "ns", + "range": "± 0.251359512550929" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 113.04161890745164, + "unit": "ns", + "range": "± 0.42034028346292074" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 216.0795807655041, + "unit": "ns", + "range": "± 0.2369448630121777" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 111.06151510136468, + "unit": "ns", + "range": "± 1.1094019450296848" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "dbc864c41e38c296ed90fbbc259dd9213d99e35b", + "message": "Bump BenchmarkDotNet from 0.15.5 to 0.15.6 (#138)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-15T11:29:30+01:00", + "tree_id": "35d3d8417081c666c1be9c0c092451b6479113be", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/dbc864c41e38c296ed90fbbc259dd9213d99e35b" + }, + "date": 1763202795416, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 210.57504250208538, + "unit": "ns", + "range": "± 0.2515598182219047" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 111.42290810346603, + "unit": "ns", + "range": "± 1.213612463530346" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 163.99189480713434, + "unit": "ns", + "range": "± 0.20367520042611884" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 83.49409379164378, + "unit": "ns", + "range": "± 0.4084333959756235" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 277.8218027995183, + "unit": "ns", + "range": "± 0.17529101070647962" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 113.9105052777699, + "unit": "ns", + "range": "± 1.1509546159678121" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.84542288099016, + "unit": "ns", + "range": "± 0.22364541523200002" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 109.98494609764644, + "unit": "ns", + "range": "± 0.4766662655870256" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6f99cb576bdae8a84f4b37bd960b24c25158f514", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.3 to 4.0.9.5 (#137)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.9.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-15T11:29:47+01:00", + "tree_id": "03753cc1c4b570563fc04e88778ad032b59e4b9d", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/6f99cb576bdae8a84f4b37bd960b24c25158f514" + }, + "date": 1763202817441, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 208.06620633602142, + "unit": "ns", + "range": "± 0.24402823572733054" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 90.62075691421826, + "unit": "ns", + "range": "± 0.8866540254425188" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 168.7230110168457, + "unit": "ns", + "range": "± 0.3325788524304079" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 90.33298641032187, + "unit": "ns", + "range": "± 2.725166255298774" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 292.10261815389, + "unit": "ns", + "range": "± 0.4208555839366823" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 118.1161417067051, + "unit": "ns", + "range": "± 3.0601775829651796" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.23773996035257, + "unit": "ns", + "range": "± 0.5987540963245515" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 111.75300448281425, + "unit": "ns", + "range": "± 1.3568152443242958" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5e8a4945300f4d62dd0cc870380c58c45fc14d5b", + "message": "Bump to dotnet 10 (#139)\n\n* Bump version to .NET 10\n\n* Bump pipelines", + "timestamp": "2025-11-17T17:29:25+01:00", + "tree_id": "ce81a98a7c938f9082e88677ba686b857d934550", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5e8a4945300f4d62dd0cc870380c58c45fc14d5b" + }, + "date": 1763397160344, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 197.17901529868445, + "unit": "ns", + "range": "± 0.23084707832972698" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 65.5195335490363, + "unit": "ns", + "range": "± 0.5894026767156488" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 142.3175665651049, + "unit": "ns", + "range": "± 0.2278196316007661" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 60.98646164735158, + "unit": "ns", + "range": "± 0.7362449918994579" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 306.67170242162854, + "unit": "ns", + "range": "± 0.30627803663016845" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 80.96039877488063, + "unit": "ns", + "range": "± 0.4923036877800931" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.81141363779705, + "unit": "ns", + "range": "± 0.4131213223349228" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 82.60189374004092, + "unit": "ns", + "range": "± 0.4904360381795878" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "distinct": true, + "id": "b1a78478f07dc48d4a89ec39e26f60102d8f394a", + "message": "Update benchmark examples", + "timestamp": "2025-11-17T17:46:45+01:00", + "tree_id": "23a11a10a16ce747697b16556954a5eb385a94d8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/b1a78478f07dc48d4a89ec39e26f60102d8f394a" + }, + "date": 1763398191945, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 194.4591348341533, + "unit": "ns", + "range": "± 1.0469052654244304" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 69.2646262605985, + "unit": "ns", + "range": "± 1.276833987878635" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 145.3469569683075, + "unit": "ns", + "range": "± 0.4418541562107622" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 60.35957859357198, + "unit": "ns", + "range": "± 0.39210880686698085" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.81236718251154, + "unit": "ns", + "range": "± 0.41970130384820925" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 82.3042220728738, + "unit": "ns", + "range": "± 1.2492091094423472" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 220.2744118315833, + "unit": "ns", + "range": "± 0.3950613742404611" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 74.49068918824196, + "unit": "ns", + "range": "± 0.32009816926659346" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0d61ce390d70f860decb831e48baeba90a9a27b0", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 4.11.0 to 4.14.0 (#130)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 4.14.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-19T19:37:15+01:00", + "tree_id": "b2418fad53be6cbc14088bc8a8c65067c50601a2", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0d61ce390d70f860decb831e48baeba90a9a27b0" + }, + "date": 1763577664566, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 194.28697403839655, + "unit": "ns", + "range": "± 0.8049501893010098" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 70.553083345294, + "unit": "ns", + "range": "± 1.9092667034475466" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 143.32084153379714, + "unit": "ns", + "range": "± 0.3804457050585774" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 67.70454773482155, + "unit": "ns", + "range": "± 1.4210680362351744" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.5277191230229, + "unit": "ns", + "range": "± 0.42353543963787815" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 85.3757329454293, + "unit": "ns", + "range": "± 2.967660234339481" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.93684994257413, + "unit": "ns", + "range": "± 0.32309235376799167" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 90.71227602163951, + "unit": "ns", + "range": "± 1.1512351773108491" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "70d20c81fe252691dbefba74ac344faf641d04f2", + "message": "Bump Microsoft.NET.Test.Sdk from 18.0.0 to 18.0.1 (#142)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.0.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-11-25T22:08:47+01:00", + "tree_id": "12f0de4ca9ec4edbd39e4fbcc5ce0c566e3d9fde", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/70d20c81fe252691dbefba74ac344faf641d04f2" + }, + "date": 1764105137499, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 193.93421958043024, + "unit": "ns", + "range": "± 0.2554128025682462" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 76.2985841234525, + "unit": "ns", + "range": "± 0.7288390086108656" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 144.58812896410623, + "unit": "ns", + "range": "± 0.09207632420275047" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 73.80991365114848, + "unit": "ns", + "range": "± 0.7798810570678028" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.43404225508374, + "unit": "ns", + "range": "± 0.16646955509255784" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 93.61633073621326, + "unit": "ns", + "range": "± 1.9578591121778552" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 220.54489895013663, + "unit": "ns", + "range": "± 0.12035690928352653" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 118.0731079975764, + "unit": "ns", + "range": "± 0.826343075762235" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "676bff83ac85ec348411de09d95fb1d6b3259161", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 4.14.0 to 5.0.0 (#141)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-25T22:10:06+01:00", + "tree_id": "6b603c1d361508a8ffec0369b72b51e7f9f3fa3e", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/676bff83ac85ec348411de09d95fb1d6b3259161" + }, + "date": 1764105221412, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 195.21461921930313, + "unit": "ns", + "range": "± 0.15642817727474778" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 69.7005023823844, + "unit": "ns", + "range": "± 1.5390517888354354" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 146.84398049116135, + "unit": "ns", + "range": "± 0.3674973026400432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 66.25317304134369, + "unit": "ns", + "range": "± 1.1358238596169778" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.68894294897717, + "unit": "ns", + "range": "± 0.20217516275464112" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 87.70524561405182, + "unit": "ns", + "range": "± 2.220229140729018" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.51369559764862, + "unit": "ns", + "range": "± 0.771811879194562" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 89.95847360293071, + "unit": "ns", + "range": "± 1.6007275847891704" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d2b5b490dfd716f3a6af35a7adf2a63222766e13", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.9.5 to 4.0.10.1 (#140)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-11-25T22:11:53+01:00", + "tree_id": "c623acbf219b02f51631e87bcb3717044850a98c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d2b5b490dfd716f3a6af35a7adf2a63222766e13" + }, + "date": 1764105311634, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 192.76991040890033, + "unit": "ns", + "range": "± 0.22475697844409054" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 64.07550595204036, + "unit": "ns", + "range": "± 0.5585879615622172" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 146.08119249343872, + "unit": "ns", + "range": "± 0.24954923993223035" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 59.118823107083635, + "unit": "ns", + "range": "± 0.49961983671755134" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 279.5181747583243, + "unit": "ns", + "range": "± 0.18139942705858628" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 79.58161489168803, + "unit": "ns", + "range": "± 0.7943423434042156" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.74229310240065, + "unit": "ns", + "range": "± 0.22473403779985085" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 78.18006302760197, + "unit": "ns", + "range": "± 0.42535201492931324" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f024941eb95e357d2ba0c311adbbfc38324bd8ce", + "message": "Bump BenchmarkDotNet from 0.15.6 to 0.15.8 (#144)\n\n---\nupdated-dependencies:\n- dependency-name: BenchmarkDotNet\n dependency-version: 0.15.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-03T21:32:55+01:00", + "tree_id": "87bf7f4eb46fe67bdec8cd274bbec4cca5ce53c0", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f024941eb95e357d2ba0c311adbbfc38324bd8ce" + }, + "date": 1764794178281, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 194.37392147949762, + "unit": "ns", + "range": "± 0.5773283550446507" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 64.70320154031118, + "unit": "ns", + "range": "± 1.1861839478038576" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 142.39444831439428, + "unit": "ns", + "range": "± 0.16693021698349225" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 59.94877526362737, + "unit": "ns", + "range": "± 0.21782077649501855" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.0277741636549, + "unit": "ns", + "range": "± 0.2843407702854615" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 80.52926615873973, + "unit": "ns", + "range": "± 0.4014799976012439" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.14036774635315, + "unit": "ns", + "range": "± 0.4596786395329254" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 82.66165231113081, + "unit": "ns", + "range": "± 2.3559744183373144" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a9aa033c019d2b30568999e027a40c7e11ac4d33", + "message": "Bump xunit.v3 from 3.2.0 to 3.2.1 (#143)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2025-12-03T21:33:14+01:00", + "tree_id": "2f86553a382cecc87801a032d09d5a4ab03863a6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/a9aa033c019d2b30568999e027a40c7e11ac4d33" + }, + "date": 1764794204260, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 193.8178086678187, + "unit": "ns", + "range": "± 0.638573397009505" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 64.33674883842468, + "unit": "ns", + "range": "± 0.7565126787578104" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 145.69777948515755, + "unit": "ns", + "range": "± 0.267051068219042" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 63.97810276349386, + "unit": "ns", + "range": "± 1.1257041985175533" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.18845411447376, + "unit": "ns", + "range": "± 0.30765011415678994" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 81.32013860841592, + "unit": "ns", + "range": "± 2.1837679148126767" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.94243167913876, + "unit": "ns", + "range": "± 0.5552385910950287" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 78.02169681390127, + "unit": "ns", + "range": "± 0.9345069336024251" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0e06c6a3f110d1272f37377e21f98e30bdfb0aa3", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.1 to 4.0.10.2 (#145)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-08T19:37:58+01:00", + "tree_id": "5c1e110629c4af80c6dac1cc98726a3380e5cfc3", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0e06c6a3f110d1272f37377e21f98e30bdfb0aa3" + }, + "date": 1765219281538, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 167.49681998093922, + "unit": "ns", + "range": "± 0.3914409299816559" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 81.6538473645846, + "unit": "ns", + "range": "± 0.63223620293692" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 126.05032940705617, + "unit": "ns", + "range": "± 0.110228208273673" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 73.78504659448352, + "unit": "ns", + "range": "± 0.5154914525003658" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 234.43082206589835, + "unit": "ns", + "range": "± 0.9221063782936482" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 95.61097432099857, + "unit": "ns", + "range": "± 0.679838736806991" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 181.73189893790655, + "unit": "ns", + "range": "± 0.2877365550153723" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 92.82663967779705, + "unit": "ns", + "range": "± 0.6566163334565354" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6d276403bae447fb27760d0871cf74f1e890d386", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.2 to 4.0.10.4 (#146)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-12-15T19:47:07+01:00", + "tree_id": "042c0cff0f5e3810799ca0c2fa21d65aaf8074dd", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/6d276403bae447fb27760d0871cf74f1e890d386" + }, + "date": 1765824632549, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 195.7105080485344, + "unit": "ns", + "range": "± 0.0987575924278576" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 72.80355615340747, + "unit": "ns", + "range": "± 0.6133360749891561" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 146.48332544473502, + "unit": "ns", + "range": "± 0.3403715656936056" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 68.81446552276611, + "unit": "ns", + "range": "± 0.5190881804834792" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.4922659213726, + "unit": "ns", + "range": "± 0.2152012222254806" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 77.01030346949895, + "unit": "ns", + "range": "± 1.4293759246222362" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 227.5778869665586, + "unit": "ns", + "range": "± 0.35893007614044137" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 91.50052228799233, + "unit": "ns", + "range": "± 0.6792279174390047" + } + ] + }, + { + "commit": { + "author": { + "email": "inputfalken@gmail.com", + "name": "Robert Andersson", + "username": "inputfalken" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e796b408df191de1a49254ff7512233699a27e81", + "message": "Support both dotnet 8 and 10 (#147)\n\n\n* remove benchmark files", + "timestamp": "2025-12-15T20:15:54+01:00", + "tree_id": "ec1d266ba443890ffd40e26b9871e0224b27b687", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e796b408df191de1a49254ff7512233699a27e81" + }, + "date": 1765826347813, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 191.90550768375397, + "unit": "ns", + "range": "± 0.43872288609691623" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 65.72170038734164, + "unit": "ns", + "range": "± 0.835978471791696" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 143.72994928700584, + "unit": "ns", + "range": "± 0.1798785148607098" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 63.344039985111785, + "unit": "ns", + "range": "± 0.8846706899713759" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 280.2849343504225, + "unit": "ns", + "range": "± 0.4223258227084049" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 83.9331527431806, + "unit": "ns", + "range": "± 0.3417164589249662" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 314.16150416646684, + "unit": "ns", + "range": "± 0.3456598376955812" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 81.79845247098378, + "unit": "ns", + "range": "± 0.5964260377163353" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "1fa98ca55a11ab87636f4bb77ce6b4a69adafac8", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.4 to 4.0.10.5 (#149)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-06T21:09:53+01:00", + "tree_id": "b8412797e78fead403456d9c87a96824efa548d7", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/1fa98ca55a11ab87636f4bb77ce6b4a69adafac8" + }, + "date": 1767730392781, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 166.70081314018793, + "unit": "ns", + "range": "± 0.7540960745694758" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 81.41107232868671, + "unit": "ns", + "range": "± 2.1659482459206725" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 123.9924019575119, + "unit": "ns", + "range": "± 0.11005271888102174" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 72.92337408486534, + "unit": "ns", + "range": "± 1.5474325648744136" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 237.84872682277972, + "unit": "ns", + "range": "± 0.16541671054438484" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 88.11996068954468, + "unit": "ns", + "range": "± 1.4364332372383697" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 180.63209473169766, + "unit": "ns", + "range": "± 0.09711931246419227" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 94.63000011444092, + "unit": "ns", + "range": "± 1.3889851979598549" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3416372ec96eac27fb57b620f18a017d324cb39b", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.5 to 4.0.10.7 (#150)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-12T23:23:11+01:00", + "tree_id": "bdac973c5d947c461d44a4307cd1234fa09ec328", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3416372ec96eac27fb57b620f18a017d324cb39b" + }, + "date": 1768256785206, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 194.06552478245325, + "unit": "ns", + "range": "± 0.8610248006402252" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 63.77660599549611, + "unit": "ns", + "range": "± 0.46653301649509943" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 142.04734081881386, + "unit": "ns", + "range": "± 0.2486934502823329" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 61.661159912745156, + "unit": "ns", + "range": "± 0.3076425561586514" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.43984712873186, + "unit": "ns", + "range": "± 0.34107386916334453" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 78.60843862478549, + "unit": "ns", + "range": "± 0.2662882719438001" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 216.34427108083452, + "unit": "ns", + "range": "± 0.19291103654626435" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 79.4761090795199, + "unit": "ns", + "range": "± 0.6416608527514222" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d11d79360ab749248da0be405b4445330b2a857b", + "message": "Bump xunit.v3 from 3.2.1 to 3.2.2 (#152)\n\n---\nupdated-dependencies:\n- dependency-name: xunit.v3\n dependency-version: 3.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-20T18:58:11+01:00", + "tree_id": "46f0c5d8efafc035394bf2f41fe3543406babf76", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d11d79360ab749248da0be405b4445330b2a857b" + }, + "date": 1768932098874, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 192.85049765450614, + "unit": "ns", + "range": "± 0.38810581774024483" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 65.08172140518825, + "unit": "ns", + "range": "± 0.34883973696883197" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 134.6920473575592, + "unit": "ns", + "range": "± 0.35128738844379725" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 62.89775328636169, + "unit": "ns", + "range": "± 0.30787719738883995" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 237.04134684342606, + "unit": "ns", + "range": "± 0.5035546075194431" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 75.75491734061923, + "unit": "ns", + "range": "± 0.18093362900932708" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 177.84911769628525, + "unit": "ns", + "range": "± 0.15321767803069597" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 73.19120899041494, + "unit": "ns", + "range": "± 0.2845602783417371" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "16fd768caec892238f03d79fea639afb555b6d46", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.7 to 4.0.10.8 (#151)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.10.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-01-20T18:58:33+01:00", + "tree_id": "b4010be73dd32f8d152afaa0de4a1e38cbb35499", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/16fd768caec892238f03d79fea639afb555b6d46" + }, + "date": 1768932107454, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 192.4214675085885, + "unit": "ns", + "range": "± 1.192316614813777" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 61.78408784866333, + "unit": "ns", + "range": "± 0.5910008536871436" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 141.4872452656428, + "unit": "ns", + "range": "± 1.3869891814864093" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 60.628785610198975, + "unit": "ns", + "range": "± 0.323068406092572" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 277.6065399169922, + "unit": "ns", + "range": "± 1.5514102893631556" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 79.55069094498953, + "unit": "ns", + "range": "± 0.48685483886047826" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.31533813476562, + "unit": "ns", + "range": "± 0.1880978517283723" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 75.1067092816035, + "unit": "ns", + "range": "± 0.8620621620523508" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5135f67fe1e7577652c77d17711cb0f16cdc7ab2", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.10.8 to 4.0.11 (#153)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-01-29T21:30:15+01:00", + "tree_id": "315991da7966aa7b121b5272d4db2f757a0ac70b", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/5135f67fe1e7577652c77d17711cb0f16cdc7ab2" + }, + "date": 1769718818991, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 193.15587601294885, + "unit": "ns", + "range": "± 0.19104464664601675" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 64.15302052668163, + "unit": "ns", + "range": "± 0.22795204684198994" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 141.408679996218, + "unit": "ns", + "range": "± 0.3744168249855767" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 59.778895099957786, + "unit": "ns", + "range": "± 0.5306116313149019" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.99408637560333, + "unit": "ns", + "range": "± 0.2767728528151852" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 81.36803038303668, + "unit": "ns", + "range": "± 0.22103710819170602" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.37485003471375, + "unit": "ns", + "range": "± 0.15611126070624334" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 79.3922877629598, + "unit": "ns", + "range": "± 0.4758423149677539" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e5982829b7409737277eddb5a9076dc422f5f4e", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.11 to 4.0.14 (#155)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.14\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-02-09T10:56:44+01:00", + "tree_id": "46da6da1762f2b2d4d17689cd6d3f557052d9c1f", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/3e5982829b7409737277eddb5a9076dc422f5f4e" + }, + "date": 1770631226046, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 195.9613960339473, + "unit": "ns", + "range": "± 0.3540989095651137" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 73.65981229543686, + "unit": "ns", + "range": "± 1.6728268432867115" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 144.19423266557547, + "unit": "ns", + "range": "± 0.7496379380040272" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 64.15159118729969, + "unit": "ns", + "range": "± 2.477561418066101" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.1839536886949, + "unit": "ns", + "range": "± 0.3006097081576704" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 81.41092059441975, + "unit": "ns", + "range": "± 0.7906997769887624" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.0350332657496, + "unit": "ns", + "range": "± 0.3728871567704771" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 81.6797829407912, + "unit": "ns", + "range": "± 0.7936162939231228" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f81c10588869561783cc8cf73f3bbac9473e4dd1", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.14 to 4.0.14.1 (#156)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.14.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-02-26T22:55:02+01:00", + "tree_id": "12c801ee41a03ea637c86e6f02f1458eed322d35", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/f81c10588869561783cc8cf73f3bbac9473e4dd1" + }, + "date": 1772143104058, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 197.2785237935873, + "unit": "ns", + "range": "± 0.5620681033104289" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 66.30887067715327, + "unit": "ns", + "range": "± 0.7607823531814115" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 144.79597898629996, + "unit": "ns", + "range": "± 0.14520548099521347" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 64.25951000054677, + "unit": "ns", + "range": "± 1.3706514526733427" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.61796312332154, + "unit": "ns", + "range": "± 0.4141868904975994" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 81.8723115126292, + "unit": "ns", + "range": "± 1.1032091914949183" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 216.84241588910422, + "unit": "ns", + "range": "± 0.41751475354164164" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 78.83360076867618, + "unit": "ns", + "range": "± 0.38703682469468476" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9bb231b7f7acd559c7098e4de4f47387b1bf883c", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.14.1 to 4.0.15 (#157)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.15\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-03-06T22:17:10+01:00", + "tree_id": "bddaf78376ad6e4c90970d0c710e0ece6231ad6a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9bb231b7f7acd559c7098e4de4f47387b1bf883c" + }, + "date": 1772832011581, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 191.7378424604734, + "unit": "ns", + "range": "± 0.4208883144914023" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 65.6104775411742, + "unit": "ns", + "range": "± 0.5524075453739249" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 133.6193743944168, + "unit": "ns", + "range": "± 0.4818936337879007" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 62.66798241933187, + "unit": "ns", + "range": "± 0.7327471878925543" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 233.6685537951333, + "unit": "ns", + "range": "± 0.23685202398761715" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 77.11492781639099, + "unit": "ns", + "range": "± 0.49441954608325406" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 176.2256715978895, + "unit": "ns", + "range": "± 0.3600579190099833" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 74.03932993412018, + "unit": "ns", + "range": "± 0.7000078728101647" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "96b220ccd5644fd656ed779e2aec90a3f4837498", + "message": "Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0 (#158)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.3.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-06T22:16:48+01:00", + "tree_id": "bd4f5c1c74016257f22fe6be5d6fdb37a9e8e5b3", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/96b220ccd5644fd656ed779e2aec90a3f4837498" + }, + "date": 1772832016271, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 201.61728014264787, + "unit": "ns", + "range": "± 0.47428628192420247" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 66.5446921189626, + "unit": "ns", + "range": "± 0.5512876026608677" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 143.98550847598486, + "unit": "ns", + "range": "± 0.1893286293941153" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 63.09235386337553, + "unit": "ns", + "range": "± 0.6779481886348497" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 284.34691081728255, + "unit": "ns", + "range": "± 0.30741120810839845" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 85.50683432420095, + "unit": "ns", + "range": "± 1.2929619417031424" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.61046541654147, + "unit": "ns", + "range": "± 0.44543144201800416" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 80.74510114987692, + "unit": "ns", + "range": "± 0.5968125348743321" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9551a1cbbd6be0bdc08075646b342e03326ddc43", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.15 to 4.0.15.2 (#159)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.15.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-17T20:32:09+01:00", + "tree_id": "d593cc44e6dfeda92130757e4dc88780ed74c4aa", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9551a1cbbd6be0bdc08075646b342e03326ddc43" + }, + "date": 1773776176884, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 167.34961918684152, + "unit": "ns", + "range": "± 0.07820561593456948" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 70.87394160382888, + "unit": "ns", + "range": "± 2.31782485929876" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 126.71153436104457, + "unit": "ns", + "range": "± 0.0742500094725625" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 66.17767857804017, + "unit": "ns", + "range": "± 2.8706981963737115" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 236.50605948766074, + "unit": "ns", + "range": "± 0.4334426984255989" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 87.98579449545254, + "unit": "ns", + "range": "± 2.2171816783526523" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 184.7242910180773, + "unit": "ns", + "range": "± 0.8462265695562052" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 83.85396713256836, + "unit": "ns", + "range": "± 1.9361923558693694" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "eae8876ad5a9ff623e0007cf1e0be237ff731ce2", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 5.0.0 to 5.3.0 (#160)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.3.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-03-17T20:35:24+01:00", + "tree_id": "d08c03cb97d0ea4828e995bca64eaa2ad2348db6", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/eae8876ad5a9ff623e0007cf1e0be237ff731ce2" + }, + "date": 1773776324455, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 204.96836210214175, + "unit": "ns", + "range": "± 0.2720905318693004" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 66.74072742064794, + "unit": "ns", + "range": "± 0.5566738896262478" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 141.32815702144916, + "unit": "ns", + "range": "± 0.16388897525329396" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 68.23561625480652, + "unit": "ns", + "range": "± 0.6816093792984277" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 239.35816958972387, + "unit": "ns", + "range": "± 0.7024909045917659" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 77.98352023271414, + "unit": "ns", + "range": "± 1.1854758938382315" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 177.4189326579754, + "unit": "ns", + "range": "± 0.5722137196836553" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 74.92846978562218, + "unit": "ns", + "range": "± 0.5875853431541518" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "35603596a56f31a01e2c0ab99181a7092ba367f9", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.15.2 to 4.0.17.3 (#162)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.3\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-03-31T22:54:22+02:00", + "tree_id": "a9294311c6f8a04b3171f79d139f55d7416cc6ec", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/35603596a56f31a01e2c0ab99181a7092ba367f9" + }, + "date": 1774990654488, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 193.1656174148832, + "unit": "ns", + "range": "± 0.3770248189979324" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 66.082488767306, + "unit": "ns", + "range": "± 0.4248188075930414" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 140.7694682249656, + "unit": "ns", + "range": "± 0.2069331163270071" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 61.506307567868916, + "unit": "ns", + "range": "± 0.9911909493011282" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 233.69520550507767, + "unit": "ns", + "range": "± 0.3394273096432351" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 78.75586297682354, + "unit": "ns", + "range": "± 0.7356736954781238" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 177.99503895214625, + "unit": "ns", + "range": "± 0.2546918751573407" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 72.62771731615067, + "unit": "ns", + "range": "± 0.13371853464487243" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e51851f8e32eaaa1bcc476fef75d9f526adde69d", + "message": "Bump Microsoft.NET.Test.Sdk from 18.3.0 to 18.4.0 (#165)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.4.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-13T08:41:15+02:00", + "tree_id": "987da05a5f1fc70a6b3f23a7ca94fb2de8459d49", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/e51851f8e32eaaa1bcc476fef75d9f526adde69d" + }, + "date": 1776062682270, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 194.45054937203724, + "unit": "ns", + "range": "± 0.5084004805144138" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 74.32714421959484, + "unit": "ns", + "range": "± 1.5584740836816382" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 146.2540772131511, + "unit": "ns", + "range": "± 0.2825107991809762" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 68.107465166312, + "unit": "ns", + "range": "± 0.9078887686415945" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 287.6329171474163, + "unit": "ns", + "range": "± 0.7455035886130085" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 90.44598707130977, + "unit": "ns", + "range": "± 1.0075784777866004" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 216.19565753142038, + "unit": "ns", + "range": "± 0.23112809499749554" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 113.42455812295277, + "unit": "ns", + "range": "± 3.0357582378058146" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c585d6c5747d64661695a8602da68d8da3cd7455", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.3 to 4.0.17.8 (#164)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.8\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-04-13T08:43:32+02:00", + "tree_id": "4059579b9744decc3d6337658a4f6dbe596da1ae", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c585d6c5747d64661695a8602da68d8da3cd7455" + }, + "date": 1776062807557, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 193.1879826784134, + "unit": "ns", + "range": "± 0.5526253352688516" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 66.93965799074907, + "unit": "ns", + "range": "± 0.8036364972373944" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 135.92379202292517, + "unit": "ns", + "range": "± 0.15366932214971166" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 62.419125751654306, + "unit": "ns", + "range": "± 0.5423594823736013" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 234.55805400439672, + "unit": "ns", + "range": "± 0.9911520138061289" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 87.02550564606985, + "unit": "ns", + "range": "± 1.2874019537261687" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 176.97669967583246, + "unit": "ns", + "range": "± 0.4361278977069582" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 74.18796233619962, + "unit": "ns", + "range": "± 0.37005384100668903" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "191f38e1817e5d8be8ee93fb2f0931a3fb605cce", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.8 to 4.0.17.9 (#166)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.9\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-21T22:03:20+02:00", + "tree_id": "592a926476855a3d3ba97033bda98268586c8128", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/191f38e1817e5d8be8ee93fb2f0931a3fb605cce" + }, + "date": 1776801999571, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 202.1007560321263, + "unit": "ns", + "range": "± 0.6846134733418225" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 69.84933965546745, + "unit": "ns", + "range": "± 0.32780170323231783" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 137.81891902287802, + "unit": "ns", + "range": "± 0.15617432923582278" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 65.70928683451244, + "unit": "ns", + "range": "± 0.41145120334431345" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 234.42683498676007, + "unit": "ns", + "range": "± 0.14428638181284045" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 81.48569150481906, + "unit": "ns", + "range": "± 0.5058095311405322" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 179.31942290919167, + "unit": "ns", + "range": "± 0.2898210554485433" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 76.79627997534615, + "unit": "ns", + "range": "± 0.4062753710596468" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "320b572fd8a6775423d53f107b4c8130289ebd80", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.9 to 4.0.17.11 (#167)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.17.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-04-27T21:31:21+02:00", + "tree_id": "d8c461273b57e9432651dd2c0c9b594f4a00df99", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/320b572fd8a6775423d53f107b4c8130289ebd80" + }, + "date": 1777318493761, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 209.2275677067893, + "unit": "ns", + "range": "± 0.5374356604125107" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 62.57871155227934, + "unit": "ns", + "range": "± 0.21778316583019325" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 142.5939687215365, + "unit": "ns", + "range": "± 0.2180971542052211" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 59.6392602966382, + "unit": "ns", + "range": "± 0.32731776685680564" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 283.9059010573796, + "unit": "ns", + "range": "± 0.43929332188753456" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 79.31958693724413, + "unit": "ns", + "range": "± 0.4488072449111687" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 215.6688859462738, + "unit": "ns", + "range": "± 0.25686305193092157" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 76.86323270003001, + "unit": "ns", + "range": "± 0.280573378615648" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d7706bfc7938c2cb642c6015d4cb7563fdc843b0", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.17.11 to 4.0.18 (#169)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-09T20:59:15+02:00", + "tree_id": "277499a22aefb990d3568e3834833ba8635fcb34", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/d7706bfc7938c2cb642c6015d4cb7563fdc843b0" + }, + "date": 1778353374818, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 167.39500983556113, + "unit": "ns", + "range": "± 1.9639284371907253" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 76.43294430696048, + "unit": "ns", + "range": "± 0.9627277000922949" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 125.43176221847534, + "unit": "ns", + "range": "± 0.1609011819797687" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 71.24130981076847, + "unit": "ns", + "range": "± 1.8299297949102813" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 233.46640135691717, + "unit": "ns", + "range": "± 0.29938182476797814" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 90.7939163128535, + "unit": "ns", + "range": "± 0.9100978016028318" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 185.08910248829767, + "unit": "ns", + "range": "± 0.5625710583892641" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 87.24296606932917, + "unit": "ns", + "range": "± 2.712051068395491" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0ae4a7f57ce6e27decf8f152492bb80801ac61d5", + "message": "Bump Microsoft.NET.Test.Sdk from 18.4.0 to 18.5.1 (#168)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.5.1\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-05-09T20:59:48+02:00", + "tree_id": "556aca280ff29463987ef80d4d53495b584b95e8", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0ae4a7f57ce6e27decf8f152492bb80801ac61d5" + }, + "date": 1778353402776, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 196.84014500890459, + "unit": "ns", + "range": "± 0.3731929462566346" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 67.89169002663006, + "unit": "ns", + "range": "± 1.6997988443590804" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 145.02993698914847, + "unit": "ns", + "range": "± 0.7975899922183217" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 60.15649706583757, + "unit": "ns", + "range": "± 0.5985816584495501" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 277.02304594333356, + "unit": "ns", + "range": "± 0.5585672781678378" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 82.50790760993958, + "unit": "ns", + "range": "± 2.2518478930205568" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.5447161912918, + "unit": "ns", + "range": "± 0.4468098082514873" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 76.84999331235886, + "unit": "ns", + "range": "± 0.32196994133906354" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "275741c1ecd18d47d3717d1bc346a003eec677a9", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18 to 4.0.18.1 (#170)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-11T18:59:52+02:00", + "tree_id": "c1cba91e11c2c9ffd252abdf1f0ec4d4c895ba55", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/275741c1ecd18d47d3717d1bc346a003eec677a9" + }, + "date": 1778518998514, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 194.07938017294958, + "unit": "ns", + "range": "± 0.4069380900466788" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 67.68451950550079, + "unit": "ns", + "range": "± 0.6776474033970615" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 146.2860988208226, + "unit": "ns", + "range": "± 0.21099335041572942" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 59.22599726120631, + "unit": "ns", + "range": "± 0.6025914041899614" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.0680337685805, + "unit": "ns", + "range": "± 0.2464049721079739" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 79.95791396072933, + "unit": "ns", + "range": "± 1.1360345768359013" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.06540934856122, + "unit": "ns", + "range": "± 0.3015098905474109" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 76.13641201598304, + "unit": "ns", + "range": "± 0.21189237984112297" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "82c77f98f5be05bd2396178c729b0bb3ddcfe84a", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.1 to 4.0.18.4 (#171)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.4\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-05-18T21:08:55+02:00", + "tree_id": "2361192e708579b5bc9fc74c91133424d091327b", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/82c77f98f5be05bd2396178c729b0bb3ddcfe84a" + }, + "date": 1779131562220, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 198.56715673208237, + "unit": "ns", + "range": "± 0.18913940374202615" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 63.706699856122334, + "unit": "ns", + "range": "± 0.4792391558375171" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 144.19664313242987, + "unit": "ns", + "range": "± 0.28516998153852985" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 58.70497246888968, + "unit": "ns", + "range": "± 0.5101485006672876" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 289.2213110740368, + "unit": "ns", + "range": "± 0.1884829029175259" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 82.42886895736059, + "unit": "ns", + "range": "± 2.564583601544419" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.37346029281616, + "unit": "ns", + "range": "± 0.2838880687778063" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 77.56264459235328, + "unit": "ns", + "range": "± 0.5407090179219477" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9826cb3a7af39e6ea8ebe5cd2f5aef525ebc1a37", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.4 to 4.0.18.6 (#173)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.18.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-01T22:07:49+02:00", + "tree_id": "d7d32291af79735f95a1e0cd7cb19cfd44e5043a", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/9826cb3a7af39e6ea8ebe5cd2f5aef525ebc1a37" + }, + "date": 1780344666482, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 193.40748244982498, + "unit": "ns", + "range": "± 0.33503518057368237" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 65.19495361126386, + "unit": "ns", + "range": "± 0.3279839796078022" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 138.19412529468536, + "unit": "ns", + "range": "± 0.26135743262988603" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 62.089476601282755, + "unit": "ns", + "range": "± 0.42192439264586545" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 271.6381189272954, + "unit": "ns", + "range": "± 0.24847771852321482" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 77.15571900776455, + "unit": "ns", + "range": "± 0.3413639188571704" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 177.79529464244843, + "unit": "ns", + "range": "± 0.45384561753881314" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 73.77784855025155, + "unit": "ns", + "range": "± 0.3126115044421" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "085af0d3621ff0c2cb0ee8f16315668b0b9f51f5", + "message": "Bump Microsoft.NET.Test.Sdk from 18.5.1 to 18.6.0 (#174)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.6.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Robert Andersson ", + "timestamp": "2026-06-01T22:08:12+02:00", + "tree_id": "cc99b241d492ceea543393e3e17ebe8c07b375ed", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/085af0d3621ff0c2cb0ee8f16315668b0b9f51f5" + }, + "date": 1780344683134, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 193.43913914607123, + "unit": "ns", + "range": "± 1.02459212605052" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 69.24737722078959, + "unit": "ns", + "range": "± 0.6379569540862041" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 146.17549280019907, + "unit": "ns", + "range": "± 0.12024484511543208" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 65.46277424097062, + "unit": "ns", + "range": "± 0.5268777217333084" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 233.72365061442056, + "unit": "ns", + "range": "± 0.2187927941618011" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 79.82174003918966, + "unit": "ns", + "range": "± 0.6370771938774682" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 177.74255968974188, + "unit": "ns", + "range": "± 0.24105357626184631" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 75.43299065430959, + "unit": "ns", + "range": "± 0.355546022237001" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ff994bc67c2fc5959bd04c4641cd9aacf0477289", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.18.6 to 4.0.20 (#175)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.20\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-09T21:00:57+02:00", + "tree_id": "c94b6bbc5a19a7c8e76f568b23fcd94a0118efbb", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/ff994bc67c2fc5959bd04c4641cd9aacf0477289" + }, + "date": 1781031857800, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 192.80922695568628, + "unit": "ns", + "range": "± 0.536641066298305" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 65.07875837087632, + "unit": "ns", + "range": "± 0.3997846305318522" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 149.85426384210587, + "unit": "ns", + "range": "± 0.10271218607907352" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 63.649106880029045, + "unit": "ns", + "range": "± 1.146529208517486" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 280.65943930699274, + "unit": "ns", + "range": "± 0.3210444788577432" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 81.16169639734122, + "unit": "ns", + "range": "± 0.435892780579852" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 220.80971369743347, + "unit": "ns", + "range": "± 0.22670426101057298" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 78.5327481168967, + "unit": "ns", + "range": "± 0.5472445598469686" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0cef3578195bb9de911f0264c4fb6d70f1215fdc", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.20 to 4.0.21.6 (#177)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.21.6\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-06-22T21:48:14+02:00", + "tree_id": "e8e9c338d1efbebb39ae8beed3547710736b6d1e", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/0cef3578195bb9de911f0264c4fb6d70f1215fdc" + }, + "date": 1782157897169, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 202.1185471736468, + "unit": "ns", + "range": "± 0.5070744368555236" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 64.75749645630519, + "unit": "ns", + "range": "± 0.8965116564682993" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 143.8357179898482, + "unit": "ns", + "range": "± 0.09401306839113968" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 61.893080183437895, + "unit": "ns", + "range": "± 0.8712568347114908" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 282.0015142645155, + "unit": "ns", + "range": "± 0.5473452725514678" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 83.19906570230212, + "unit": "ns", + "range": "± 0.7616273217073609" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 221.65534699757893, + "unit": "ns", + "range": "± 0.258812330828855" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 77.88295735518138, + "unit": "ns", + "range": "± 0.5392664229855104" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "4267453453eab2e2c8dd3f0cc21ea468ce9e4746", + "message": "Bump Microsoft.NET.Test.Sdk from 18.6.0 to 18.7.0 (#179)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.NET.Test.Sdk\n dependency-version: 18.7.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-02T12:17:37+02:00", + "tree_id": "3e86aa2f63c0b74c8bf4302d036e06881c05d69c", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/4267453453eab2e2c8dd3f0cc21ea468ce9e4746" + }, + "date": 1782987646111, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 193.27649174133936, + "unit": "ns", + "range": "± 0.24396747171960786" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 66.48333991368612, + "unit": "ns", + "range": "± 1.027007581428574" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 140.7556423499034, + "unit": "ns", + "range": "± 0.5043229989858269" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 63.21892533983503, + "unit": "ns", + "range": "± 0.3329452433782063" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 232.74523779062125, + "unit": "ns", + "range": "± 0.13580177902065665" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 75.91885444720586, + "unit": "ns", + "range": "± 0.6168108333543421" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 176.99956268530624, + "unit": "ns", + "range": "± 0.4312355672300733" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 72.39882989571645, + "unit": "ns", + "range": "± 0.4043693466216675" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8aa78cff1756e770c03fb1f3059ce8e6b076a33d", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.21.6 to 4.0.21.7 (#178)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.21.7\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-02T12:17:50+02:00", + "tree_id": "c0fc515757c2299f6b85a1e488424250e4bbf037", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/8aa78cff1756e770c03fb1f3059ce8e6b076a33d" + }, + "date": 1782987666316, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 192.62180406313675, + "unit": "ns", + "range": "± 0.20716062907473803" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 65.08585546016693, + "unit": "ns", + "range": "± 0.4225460681070682" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 145.10975883801777, + "unit": "ns", + "range": "± 0.3996964787144503" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 62.85169004542487, + "unit": "ns", + "range": "± 0.3488808078030929" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 280.7160701433817, + "unit": "ns", + "range": "± 0.850004550895318" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 79.8768121089254, + "unit": "ns", + "range": "± 0.48365650790428505" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 217.22530218760173, + "unit": "ns", + "range": "± 0.32370273500276586" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 77.08991818030675, + "unit": "ns", + "range": "± 0.7526406630676051" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "c9b990b7d4ba58681148987db27f744e9e13c349", + "message": "Bump Microsoft.CodeAnalysis.CSharp from 5.3.0 to 5.6.0 (#181)\n\n---\nupdated-dependencies:\n- dependency-name: Microsoft.CodeAnalysis.CSharp\n dependency-version: 5.6.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-06T08:32:34+02:00", + "tree_id": "ccb308e034954138aaac5c49b6eeb905e4702738", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/c9b990b7d4ba58681148987db27f744e9e13c349" + }, + "date": 1783319753517, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 200.3273455699285, + "unit": "ns", + "range": "± 0.1363959295334978" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 64.88255911270777, + "unit": "ns", + "range": "± 0.2834309805982332" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 138.21362778118677, + "unit": "ns", + "range": "± 0.15261916146698776" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 63.15802110944475, + "unit": "ns", + "range": "± 0.1625517884902477" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 234.21157514131986, + "unit": "ns", + "range": "± 0.5910552893463359" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 110.64116357381528, + "unit": "ns", + "range": "± 0.20954622594158448" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 177.48681269242212, + "unit": "ns", + "range": "± 1.1503143545116634" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 74.33600784199578, + "unit": "ns", + "range": "± 0.43690112794764857" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "57692c5db2aef93dc9085a3f1603de03713d3904", + "message": "Bump AWSSDK.DynamoDBv2 from 4.0.21.7 to 4.0.100.2 (#180)\n\n---\nupdated-dependencies:\n- dependency-name: AWSSDK.DynamoDBv2\n dependency-version: 4.0.100.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2026-07-06T08:32:44+02:00", + "tree_id": "56d5ab706d6703926e09a91f01f900adc871df21", + "url": "https://github.com/inputfalken/DynamoDB.SourceGenerator/commit/57692c5db2aef93dc9085a3f1603de03713d3904" + }, + "date": 1783319764373, + "tool": "benchmarkdotnet", + "benches": [ + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_TimeOnly", + "value": 198.18595342976707, + "unit": "ns", + "range": "± 0.4041198043348568" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_TimeOnly", + "value": 65.73065563610622, + "unit": "ns", + "range": "± 1.1693108129518108" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateOnly", + "value": 145.20198593820845, + "unit": "ns", + "range": "± 0.21655390584567064" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateOnly", + "value": 62.18689650297165, + "unit": "ns", + "range": "± 0.6702835842242407" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTimeOffset", + "value": 281.8505166371663, + "unit": "ns", + "range": "± 0.330915641697559" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTimeOffset", + "value": 79.99844178131649, + "unit": "ns", + "range": "± 0.5283987627352683" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Unmarshall_DateTime", + "value": 218.42797706921894, + "unit": "ns", + "range": "± 0.264257711010799" + }, + { + "name": "DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.TemporalBenchmarks.Marshall_DateTime", + "value": 77.71921175718307, + "unit": "ns", + "range": "± 0.34805064765916244" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/benchmarks/marshalling/temporal/index.html b/benchmarks/marshalling/temporal/index.html new file mode 100644 index 00000000..6c887805 --- /dev/null +++ b/benchmarks/marshalling/temporal/index.html @@ -0,0 +1,281 @@ + + + + + + + Benchmarks + + + + +
+ + + + + + + diff --git a/index.html b/index.html new file mode 100644 index 00000000..6f788128 --- /dev/null +++ b/index.html @@ -0,0 +1,4 @@ +

Primitive marshalling benchmarks

+

Temporal marshalling benchmarks

+

Collection marshalling benchmarks

+

Comparison marshalling benchmarks

diff --git a/samples/Configuration/Configuration.csproj b/samples/Configuration/Configuration.csproj deleted file mode 100644 index bc964bb8..00000000 --- a/samples/Configuration/Configuration.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - Exe - net10.0 - enable - enable - false - - - - - - - - diff --git a/samples/Configuration/EnumBehaviour.cs b/samples/Configuration/EnumBehaviour.cs deleted file mode 100644 index adda332e..00000000 --- a/samples/Configuration/EnumBehaviour.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Amazon.DynamoDBv2.DataModel; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Options; - -namespace Configuration; - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.Name)] -[DynamoDBMarshaller] -public partial record EnumBehaviour([property: DynamoDBHashKey] string Id, DayOfWeek MyEnum); \ No newline at end of file diff --git a/samples/Configuration/Program.cs b/samples/Configuration/Program.cs deleted file mode 100644 index b7c37ab3..00000000 --- a/samples/Configuration/Program.cs +++ /dev/null @@ -1,50 +0,0 @@ -// See https://aka.ms/new-console-template for more information -using Amazon.DynamoDBv2.DataModel; -using Amazon.DynamoDBv2.Model; -using Configuration; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Converters; -using DynamoDBGenerator.Options; - -_ = OverriddenConverter.OverriddenConverterMarshaller; -_ = EnumBehaviour.EnumBehaviourMarshaller; - -[DynamoDbMarshallerOptions(Converters = typeof(MyCustomConverters))] -[DynamoDBMarshaller] -public partial record OverriddenConverter([property: DynamoDBHashKey] string Id, DateTime Timestamp); - -// Implement a converter, there's also an IReferenceTypeConverter available for ReferenceTypes. -public class UnixEpochDateTimeConverter : IValueTypeConverter -{ - public UnixEpochDateTimeConverter() - { - } - - // Convert the AttributeValue into a .NET type. - public DateTime? Read(AttributeValue attributeValue) - { - return long.TryParse(attributeValue.N, out var epoch) - ? DateTimeOffset.FromUnixTimeSeconds(epoch).DateTime - : null; - } - - // Convert the .NET type into an AttributeValue. - public AttributeValue Write(DateTime element) - { - return new AttributeValue { N = new DateTimeOffset(element).ToUnixTimeSeconds().ToString() }; - } -} - -// Create a new Converters class -// You don't have to inherit from AttributeValueConverters if you do not want to use the default converters provided. -public class MyCustomConverters : AttributeValueConverters -{ - // If you take constructor parameters, the source generator will recongnize it and change the way you access it into an method. - // It's recommended to call the method once and save it into a class member. - public MyCustomConverters() - { - // Override the default behaviour. - DateTimeConverter = new UnixEpochDateTimeConverter(); - } - // You could add more converter DataMembers as fields or properties to add your own custom conversions. -} \ No newline at end of file diff --git a/samples/Initialisation/Initialisation.csproj b/samples/Initialisation/Initialisation.csproj deleted file mode 100644 index e8eae7f7..00000000 --- a/samples/Initialisation/Initialisation.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - Exe - net10.0 - enable - enable - false - - - - - - - - diff --git a/samples/Initialisation/Program.cs b/samples/Initialisation/Program.cs deleted file mode 100644 index ec621ddf..00000000 --- a/samples/Initialisation/Program.cs +++ /dev/null @@ -1,27 +0,0 @@ -// See https://aka.ms/new-console-template for more information - -using DynamoDBGenerator.Attributes; - -_ = new Constructor(id: "123", count: 10); -_ = new Initializer { Id = "123", Count = 10 }; - -[DynamoDBMarshaller] -public partial class Constructor -{ - [DynamoDBMarshallerConstructor] - public Constructor(string id, int count) - { - Count = count; - Id = id; - } - - public int Count { get; } - public string Id { get; } -} - -[DynamoDBMarshaller] -public partial class Initializer -{ - public string Id { get; set; } - public int Count { get; set; } -} \ No newline at end of file diff --git a/samples/KeyConversion/KeyConversion.csproj b/samples/KeyConversion/KeyConversion.csproj deleted file mode 100644 index bc964bb8..00000000 --- a/samples/KeyConversion/KeyConversion.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - Exe - net10.0 - enable - enable - false - - - - - - - - diff --git a/samples/KeyConversion/Program.cs b/samples/KeyConversion/Program.cs deleted file mode 100644 index 9891bcba..00000000 --- a/samples/KeyConversion/Program.cs +++ /dev/null @@ -1,31 +0,0 @@ -// See https://aka.ms/new-console-template for more information - -using Amazon.DynamoDBv2.DataModel; -using DynamoDBGenerator.Attributes; - -// PrimaryKeyMarshaller is used to convert the keys obtained from the [DynamoDBHashKey] and [DynamoDBRangeKey] attributes. -var keyMarshaller = EntityDTO.KeyMarshallerSample.PrimaryKeyMarshaller; - -// IndexKeyMarshaller requires an argument that is the index name so it can provide you with the correct conversion based on the indexes you may have. -// It works the same way for both LocalSecondaryIndex and GlobalSecondaryIndex attributes. -var GSIKeyMarshaller = EntityDTO.KeyMarshallerSample.IndexKeyMarshaller("GSI"); -var LSIKeyMarshaller = EntityDTO.KeyMarshallerSample.IndexKeyMarshaller("LSI"); - -[DynamoDBMarshaller(AccessName = "KeyMarshallerSample")] -public partial class EntityDTO -{ - [DynamoDBHashKey("PK")] - public string Id { get; set; } - - [DynamoDBRangeKey("RK")] - public string RangeKey { get; set; } - - [DynamoDBLocalSecondaryIndexRangeKey("LSI")] - public string SecondaryRangeKey { get; set; } - - [DynamoDBGlobalSecondaryIndexHashKey("GSI")] - public string GlobalSecondaryIndexId { get; set; } - - [DynamoDBGlobalSecondaryIndexRangeKey("GSI")] - public string GlobalSecondaryIndexRangeKey { get; set; } -} diff --git a/samples/RequestAndResponseObjects/Person.cs b/samples/RequestAndResponseObjects/Person.cs deleted file mode 100644 index cfb8c435..00000000 --- a/samples/RequestAndResponseObjects/Person.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Amazon.DynamoDBv2.DataModel; -using DynamoDBGenerator.Attributes; - -namespace RequestAndResponseObjects; - -// A typical scenario would be that you would use multiple DynamoDBMarshaller and describe your operations via AccessName. -// If you do not specify an ArgumentType it will use your main entity Type instead which is typically useful for PUT operations. -[DynamoDBMarshaller] -[DynamoDBMarshaller(ArgumentType = typeof((string PersonId, string Firstname)), AccessName = "UpdateFirstName")] -[DynamoDBMarshaller(ArgumentType = typeof(string), AccessName = "GetById")] -public partial class Person -{ - // Will be included as 'PK' in DynamoDB. - [DynamoDBHashKey("PK")] - public string Id { get; set; } - - // Will be included as 'Firstname' in DynamoDB. - public string Firstname { get; set; } - - // Will be included as 'Contact' in DynamoDB. - [DynamoDBProperty("Contact")] - public Contact ContactInfo { get; set; } - - // Wont be included in DynamoDB. - [DynamoDBIgnore] - public string FirstNameLowercase => Firstname.ToLower(); - - public class Contact - { - // Will be included as 'Email' in DynamoDB. - public string Email { get; set; } - } -} \ No newline at end of file diff --git a/samples/RequestAndResponseObjects/Program.cs b/samples/RequestAndResponseObjects/Program.cs deleted file mode 100644 index 2600381c..00000000 --- a/samples/RequestAndResponseObjects/Program.cs +++ /dev/null @@ -1,62 +0,0 @@ -// See https://aka.ms/new-console-template for more information - -using System.Net; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Extensions; -using RequestAndResponseObjects; - -static GetItemRequest CreateGetItemRequest() -{ - return new GetItemRequest - { - Key = Person.GetById.PrimaryKeyMarshaller.PartitionKey("123"), - TableName = "MyTable" - }; -} - -static Person DeserializeResponse(GetItemResponse response) -{ - if (response.HttpStatusCode != HttpStatusCode.OK) - throw new NotImplementedException(); - - return Person.GetById.Unmarshall(response.Item); -} - -static PutItemRequest PutPerson() -{ - return new PutItemRequest - { - TableName = "MyTable", - Item = Person.PersonMarshaller.Marshall(new Person - { - Firstname = "John", - Id = Guid.NewGuid().ToString(), - ContactInfo = new Person.Contact { Email = "john@test.com" } - }) - }; -} - -static UpdateItemRequest UpdateFirstName() -{ - // Creating an AttributeExpression can be done through string interpolation where the source generator will mimic your DTO types and give you an consistent API to build the attributeExpressions. - var attributeExpression = Person.UpdateFirstName.ToAttributeExpression( - ("personId", "John"), - (dbRef, argRef) => $"{dbRef.Id} = {argRef.PersonId}", // The condition - (dbRef, argRef) => $"SET {dbRef.Firstname} = {argRef.Firstname}" // The update operation - ); - -// the index can be used to retrieve the expressions in the same order as you provide the string interpolations in the method call above. - var condition = attributeExpression.Expressions[0]; - var update = attributeExpression.Expressions[1]; - var keys = Person.UpdateFirstName.PrimaryKeyMarshaller.PartitionKey("personId"); - - return new UpdateItemRequest - { - ConditionExpression = condition, - UpdateExpression = update, - ExpressionAttributeNames = attributeExpression.Names, - ExpressionAttributeValues = attributeExpression.Values, - Key = keys, - TableName = "MyTable" - }; -} \ No newline at end of file diff --git a/samples/RequestAndResponseObjects/RequestAndResponseObjects.csproj b/samples/RequestAndResponseObjects/RequestAndResponseObjects.csproj deleted file mode 100644 index bc964bb8..00000000 --- a/samples/RequestAndResponseObjects/RequestAndResponseObjects.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - Exe - net10.0 - enable - enable - false - - - - - - - - diff --git a/samples/TypeSupport/Program.cs b/samples/TypeSupport/Program.cs deleted file mode 100644 index 9e3ac382..00000000 --- a/samples/TypeSupport/Program.cs +++ /dev/null @@ -1,11 +0,0 @@ -// See https://aka.ms/new-console-template for more information - -using TypeSupport; - -_ = Record.RecordMarshaller; -_ = Class.ClassMarshaller; -_ = Struct.StructMarshaller; -_ = ReadOnlyStruct.ReadOnlyStructMarshaller; -_ = ReadOnlyRecordStruct.ReadOnlyRecordStructMarshaller; - - diff --git a/samples/TypeSupport/TypeSupport.cs b/samples/TypeSupport/TypeSupport.cs deleted file mode 100644 index 6675c99a..00000000 --- a/samples/TypeSupport/TypeSupport.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Amazon.DynamoDBv2.DataModel; -using DynamoDBGenerator.Attributes; - -namespace TypeSupport; - -[DynamoDBMarshaller] -public partial record Record([property: DynamoDBHashKey] string Id); - -[DynamoDBMarshaller] -public partial class Class -{ - [DynamoDBHashKey] - public string Id { get; init; } -} - -[DynamoDBMarshaller] -public partial struct Struct -{ - [DynamoDBHashKey] - public string Id { get; init; } -} - -[DynamoDBMarshaller] -public readonly partial struct ReadOnlyStruct -{ - [DynamoDBHashKey] - public string Id { get; init; } -} - -[DynamoDBMarshaller] -public readonly partial record struct ReadOnlyRecordStruct([property: DynamoDBHashKey] string Id); \ No newline at end of file diff --git a/samples/TypeSupport/TypeSupport.csproj b/samples/TypeSupport/TypeSupport.csproj deleted file mode 100644 index 19f85310..00000000 --- a/samples/TypeSupport/TypeSupport.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - Exe - net10.0 - enable - enable - - - - - - - - diff --git a/src/DynamoDBGenerator.SourceGenerator/Constants.cs b/src/DynamoDBGenerator.SourceGenerator/Constants.cs deleted file mode 100644 index 964c385b..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Constants.cs +++ /dev/null @@ -1,146 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator; - -public static class Constants -{ - public static class DynamoDBGenerator - { - public static class Attribute - { - public const string DynamoDBMarshallerConstructor = "DynamoDBMarshallerConstructorAttribute"; - public const string DynamoDBMarshaller = "DynamoDBMarshallerAttribute"; - public const string DynamoDbMarshallerOptions = "DynamoDbMarshallerOptionsAttribute"; - - public static class DynamoDBMarshallerArgument - { - public const string EntityType = "EntityType"; - public const string AccessName = "AccessName"; - public const string ArgumentType = "ArgumentType"; - } - public static class DynamoDbMarshallerOptionsArgument - { - public const string Converters = "Converters"; - public const string EnumConversionStrategy = "EnumConversion"; - - public static class ConversionStrategy - { - public const int Integer = 1; - public const int Name = 2; - public const int NameCI = 3; - public const int LowerCase = 4; - public const int UpperCase = 5; - } - } - } - - public const string AssemblyName = "DynamoDBGenerator"; - public const string DynamoDBMarshallerFullname = $"{Namespace.AttributesFullName}.{Attribute.DynamoDBMarshaller}"; - - public const string DynamoDBConverterFullName = $"{AssemblyName}.{Namespace.Options}.{Converter.AttributeValueConverters}"; - - public static class Namespace - { - public const string Root = AssemblyName; - public const string Attributes = "Attributes"; - public const string AttributesFullName = $"{AssemblyName}.{Attributes}"; - public const string InternalFullName = $"{AssemblyName}.Internal"; - public const string ExceptionsFullName = $"{AssemblyName}.Exceptions"; - public const string Converters = "Converters"; - public const string Options = "Options"; - } - public static class Converter - { - public const string AttributeValueConverters = "AttributeValueConverters"; - public const string ReferenceType = "IReferenceTypeConverter"; - public const string ValueType = "IValueTypeConverter"; - } - - public static class Marshaller - { - public const string KeyMarshallerInterface = "IDynamoDBKeyMarshaller"; - public const string Interface = "IDynamoDBMarshaller"; - public const string IndexKeyMarshallerInterface = "IDynamoDBIndexKeyMarshaller"; - - public const string AttributeExpressionNameTrackerInterface = "IAttributeExpressionNameTracker"; - public const string AttributeExpressionNameTrackerMethodName = "AttributeExpressionNameTracker"; - - public const string AttributeExpressionValueTrackerInterface = "IAttributeExpressionValueTracker"; - public const string AttributeExpressionValueTrackerMethodName = "AttributeExpressionValueTracker"; - - public const string AttributeExpressionNameTrackerInterfaceAccessedNames = "AccessedNames"; - public const string AttributeExpressionValueTrackerAccessedValues = "AccessedValues"; - - public const string UnmarshalMethodName = "Unmarshall"; - public const string MarshallMethodName = "Marshall"; - } - - - public const string KeyMarshallerImplementationTypeName = "DynamoDBKeyMarshallerDelegator"; - public const string IndexKeyMarshallerImplementationTypeName = "IndexDynamoDBMarshallerDelegator"; - - - public static class AttributeValueUtilityFactory - { - public const string ClassName = "MarshallHelper"; - public const string ToAttributeValue = $"{ClassName}.ToAttributeValue"; - public const string Null = $"{ClassName}.Null"; - public const string ToList = $"{ClassName}.ToList"; - public const string ToArray = $"{ClassName}.ToArray"; - public const string ToEnumerable = $"{ClassName}.ToEnumerable"; - public const string FromEnumerable = $"{ClassName}.FromEnumerable"; - public const string FromArray = $"{ClassName}.FromArray"; - public const string FromList = $"{ClassName}.FromList"; - public const string FromDictionary = $"{ClassName}.FromDictionary"; - public const string ToDictionary = $"{ClassName}.ToDictionary"; - public const string ToLookup = $"{ClassName}.ToLookup"; - public const string FromLookup = $"{ClassName}.FromLookup"; - public const string FromStringSet = $"{ClassName}.FromStringSet"; - public const string FromNullableStringSet = $"{ClassName}.FromNullableStringSet"; - public const string FromNumberSet = $"{ClassName}.FromNumberSet"; - public const string FromNullableNumberSet = $"{ClassName}.FromNullableNumberSet"; - public const string GetAttributeValueOrNull = $"{ClassName}.GetAttributeValueOrNull"; - } - public static class ExceptionHelper - { - private const string ExceptionHelperClass = "ExceptionHelper"; - public const string NullExceptionMethod = $"{ExceptionHelperClass}.NotNull"; - public const string KeysArgumentNullExceptionMethod = $"{ExceptionHelperClass}.KeysArgumentNotNull"; - public const string KeysInvalidConversionExceptionMethod = $"{ExceptionHelperClass}.KeysInvalidConversion"; - public const string KeysValueWithNoCorrespondenceMethod = $"{ExceptionHelperClass}.KeysValueWithNoCorrespondence"; - public const string KeysMissingDynamoDBAttributeExceptionMethod = $"{ExceptionHelperClass}.MissingDynamoDBAttribute"; - public const string ShouldNeverHappenExceptionMethod = $"{ExceptionHelperClass}.ShouldNeverHappen"; - public const string MissMatchedIndexNameExceptionMethod = $"{ExceptionHelperClass}.MissMatchedIndex"; - public const string NoDynamoDBKeyAttributesExceptionMethod = $"{ExceptionHelperClass}.NoDynamoDBAttributes"; - } - - - } - - // ReSharper disable once IdentifierTypo - // ReSharper disable once InconsistentNaming - public static class AWSSDK_DynamoDBv2 - { - public const string AttributeValue = "AttributeValue"; - public const string AssemblyName = "AWSSDK.DynamoDBv2"; - - public static class Namespace - { - public const string Model = "Model"; - public const string ModelFullName = $"Amazon.DynamoDBv2.{Model}"; - } - - public static class Attribute - { - public const string DynamoDBIgnore = "DynamoDBIgnoreAttribute"; - public const string DynamoDBHashKey = "DynamoDBHashKeyAttribute"; - public const string DynamoDBRangeKey = "DynamoDBRangeKeyAttribute"; - public const string DynamoDBProperty = "DynamoDBPropertyAttribute"; - public const string DynamoDBLocalSecondaryIndexRangeKey = "DynamoDBLocalSecondaryIndexRangeKeyAttribute"; - public const string DynamoDBGlobalSecondaryIndexHashKey = "DynamoDBGlobalSecondaryIndexHashKeyAttribute"; - public const string DynamoDBGlobalSecondaryIndexRangeKey = "DynamoDBGlobalSecondaryIndexRangeKeyAttribute"; - } - - } - - public const string NewLine = @" -"; -} diff --git a/src/DynamoDBGenerator.SourceGenerator/DynamoDBDMarshaller.cs b/src/DynamoDBGenerator.SourceGenerator/DynamoDBDMarshaller.cs deleted file mode 100644 index 0a72b2ac..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/DynamoDBDMarshaller.cs +++ /dev/null @@ -1,125 +0,0 @@ -using System.Collections.Immutable; -using System.Diagnostics; -using DynamoDBGenerator.SourceGenerator.Extensions; -using DynamoDBGenerator.SourceGenerator.Types; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static DynamoDBGenerator.SourceGenerator.Constants.DynamoDBGenerator.Attribute.DynamoDBMarshallerArgument; -using static DynamoDBGenerator.SourceGenerator.Constants.DynamoDBGenerator.Attribute.DynamoDbMarshallerOptionsArgument; - -namespace DynamoDBGenerator.SourceGenerator; - -[Generator] -// ReSharper disable once InconsistentNaming -public class DynamoDBDMarshaller : IIncrementalGenerator -{ - public void Initialize(IncrementalGeneratorInitializationContext context) - { - var updateClassDeclarations = context.SyntaxProvider - .ForAttributeWithMetadataName( - Constants.DynamoDBGenerator.DynamoDBMarshallerFullname, - (n, _) => n is ClassDeclarationSyntax or RecordDeclarationSyntax or StructDeclarationSyntax, - (c, _) => c.TargetNode - ); - - var compilationAndClasses = context.CompilationProvider.Combine(updateClassDeclarations.Collect()); - context.RegisterSourceOutput(compilationAndClasses, Execute); - } - - // https://github.com/dotnet/runtime/blob/4ea93a6be4ea1b084158cf2aed7cac2414f10a2d/src/libraries/System.Text.Json/gen/JsonSourceGenerator.Roslyn4.0.cs - private static void Execute(SourceProductionContext context, - (Compilation Left, ImmutableArray Right) tuple) - { - var (compilation, classDeclarationSyntax) = tuple; - - if (classDeclarationSyntax.IsDefaultOrEmpty) - return; - - foreach (var typeSymbol in compilation.GetTypeSymbols(classDeclarationSyntax)) - { - var (options, args) = CreateArguments(typeSymbol, compilation); - context.AddSource( - $"{typeSymbol.ToDisplayString()}.g", - string.Join(Constants.NewLine, MarshallerFactory.Create(typeSymbol, args.ToArray(), options)) - ); - } - } - - private static (MarshallerOptions, IEnumerable) CreateArguments(INamedTypeSymbol type, - Compilation compilation) - { - var attributes = type.GetAttributes(); - var marshallerOptionNamedArguments = attributes - .Where(x => x.AttributeClass is - { - Name: Constants.DynamoDBGenerator.Attribute.DynamoDbMarshallerOptions, - ContainingNamespace.Name: Constants.DynamoDBGenerator.Namespace.Attributes, - ContainingAssembly.Name: Constants.DynamoDBGenerator.AssemblyName - }) - .SelectMany(x => x.NamedArguments) - .ToArray(); - - var enumStrategy = marshallerOptionNamedArguments - .Where(x => x.Key is EnumConversionStrategy) - .Where(x => x.Value.Kind is TypedConstantKind.Enum) - .Select(x => x.Value.Value) - .OfType() - .FirstOrDefault(x => x is not null) ?? ConversionStrategy.Integer; - - var converter = marshallerOptionNamedArguments - .Where(x => x.Key is Converters) - .Select(x => x.Value.Value) - .OfType() - .FirstOrDefault(x => x is not null) ?? - compilation.GetTypeByMetadataName(Constants.DynamoDBGenerator.DynamoDBConverterFullName); - - if (converter is null) - throw new ArgumentException("Could not find converter implementation"); - - return (MarshallerOptions.Create(type, converter, enumStrategy), Arguments(attributes, type)); - - static IEnumerable Arguments( - ImmutableArray attributes, - ISymbol type) - { - return attributes - .Where(attributeData => attributeData.AttributeClass is - { - ContainingNamespace.Name: Constants.DynamoDBGenerator.Namespace.Attributes, - Name: Constants.DynamoDBGenerator.Attribute.DynamoDBMarshaller, - ContainingAssembly.Name: Constants.DynamoDBGenerator.AssemblyName - }) - .Select(x => - { - var entityType = x.NamedArguments - .Where(x => x.Key is EntityType) - .Cast?>() - .FirstOrDefault() is { } entityType1 - ? entityType1.Value is { Value: INamedTypeSymbol et } - ? et - : throw new ArgumentException( - $"Could not determine type conversion from argument '{entityType1.Key}'.") - : type; - - if (entityType is not INamedTypeSymbol entityTypeSymbol) - throw new ArgumentException("Could not determine type conversion from attribute constructor."); - - var propertyName = x.NamedArguments.FirstOrDefault(y => y.Key is AccessName).Value; - - return new DynamoDBMarshallerArguments( - entityTypeSymbol, - x.NamedArguments - .Where(y => y.Key is ArgumentType) - .Cast?>() - .FirstOrDefault() is { } argumentType - ? argumentType.Value is { Value: INamedTypeSymbol namedTypeSymbol } - ? namedTypeSymbol - : throw new ArgumentException( - $"Could not determine type conversion from argument '{argumentType.Key}'.") - : null, - propertyName.Value?.ToString() - ); - }); - } - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/DynamoDBGenerator.SourceGenerator.csproj b/src/DynamoDBGenerator.SourceGenerator/DynamoDBGenerator.SourceGenerator.csproj deleted file mode 100644 index f6d848e7..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/DynamoDBGenerator.SourceGenerator.csproj +++ /dev/null @@ -1,33 +0,0 @@ - - - - netstandard2.0 - enable - enable - 10 - true - true - true - 0.0.0 - DynamoDBGenerator.SourceGenerator - Robert Andersson - The source generator project. - Robert Anderson - https://github.com/inputfalken/DynamoDB.SourceGenerator - MIT - https://github.com/inputfalken/DynamoDB.SourceGenerator - git - true - - - - - - - - - - - - - diff --git a/src/DynamoDBGenerator.SourceGenerator/Extensions/CompilationExtensions.cs b/src/DynamoDBGenerator.SourceGenerator/Extensions/CompilationExtensions.cs deleted file mode 100644 index 32e858bf..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Extensions/CompilationExtensions.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Collections.Immutable; -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator.Extensions; - -// Great source: https://github.com/dotnet/runtime/blob/main/src/tools/illink/src/ILLink.RoslynAnalyzer/CompilationExtensions.cs -public static class CompilationExtensions -{ - public static ReadOnlySpan GetTypeSymbols(this Compilation compilation, - ImmutableArray classDeclarations) - { - var span = classDeclarations.AsSpan(); - var symbols = new INamedTypeSymbol[classDeclarations.Length]; - for (var i = 0; i < span.Length; i++) - { - var classDeclarationSyntax = span[i]; - - if (compilation - .GetSemanticModel(classDeclarationSyntax.SyntaxTree) - .GetDeclaredSymbol(classDeclarationSyntax) - is not INamedTypeSymbol typeSymbol) - throw new ArgumentException( - $"Could not convert the '{classDeclarationSyntax.ToFullString()}' into a '{nameof(ITypeSymbol)}'."); - - symbols[i] = typeSymbol; - } - - return new ReadOnlySpan(symbols); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Extensions/EnumerableExtensions.cs b/src/DynamoDBGenerator.SourceGenerator/Extensions/EnumerableExtensions.cs deleted file mode 100644 index ba772735..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Extensions/EnumerableExtensions.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator.Extensions; - -public static class EnumerableExtensions -{ - public static IEnumerable AllButLast(this IEnumerable enumerable, Func @default) - { - var buffer = default(T); - var isBuffered = false; - - foreach (var item in enumerable) - { - if (isBuffered) - yield return @default(buffer!); - - isBuffered = true; - buffer = item; - } - - if (isBuffered) yield return buffer!; - } - - public static IEnumerable AllAndLast(this IEnumerable enumerable, Func @default, - Func onLast) - { - var buffer = default(T); - var isBuffered = false; - - foreach (var item in enumerable) - { - if (isBuffered) - yield return @default(buffer!); - - isBuffered = true; - buffer = item; - } - - if (isBuffered) yield return onLast(buffer!); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Extensions/NotNullEvaluationExtensions.cs b/src/DynamoDBGenerator.SourceGenerator/Extensions/NotNullEvaluationExtensions.cs deleted file mode 100644 index 9de3e02d..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Extensions/NotNullEvaluationExtensions.cs +++ /dev/null @@ -1,94 +0,0 @@ -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator.Extensions; - -public static class NotNullEvaluationExtensions -{ - public static string NotNullTernaryExpression(this ITypeSymbol typeSymbol, in string accessPattern, - in string truthy, - in string falsy) - { - var result = Expression(in typeSymbol, in accessPattern) is { } expression - ? $"{expression} ? {truthy} : {falsy}" - : truthy; - - return $"({result})"; - } - - private static string CreateException(in string accessPattern) - { - return $"throw {Constants.DynamoDBGenerator.ExceptionHelper.NullExceptionMethod}(nameof({accessPattern}));"; - } - - public static IEnumerable NotNullIfStatement(this ITypeSymbol typeSymbol, string accessPattern, - string truthy) - { - return NotNullIfStatement(typeSymbol, accessPattern, obj: truthy); - } - - public static IEnumerable NotNullIfStatement(this ITypeSymbol typeSymbol, string accessPattern, - IEnumerable truthy) - { - return NotNullIfStatement(typeSymbol, accessPattern, obj: truthy); - } - - private static IEnumerable NotNullIfStatement(this ITypeSymbol typeSymbol, string accessPattern, object obj) - { - if (Expression(typeSymbol, accessPattern) is not { } expression) - { - if (obj is string single) - yield return single; - else if (obj is IEnumerable truthies) - foreach (var x in truthies) - yield return x; - else - throw new NotImplementedException( - $"Method '{nameof(NotNullIfStatement)}' could not determine type '{obj.GetType().Name}'"); - } - else - { - var ifClause = obj switch - { - string single => $"if ({expression})".CreateScope(single), - IEnumerable multiple => $"if ({expression})".CreateScope(multiple), - _ => throw new NotImplementedException( - $"Method '{nameof(NotNullIfStatement)}' could not determine type '{obj.GetType().Name}'") - }; - var enumerable = typeSymbol.NullableAnnotation switch - { - NullableAnnotation.None or NullableAnnotation.Annotated => ifClause, - NullableAnnotation.NotAnnotated => ifClause.Concat( - "else".CreateScope(CreateException(in accessPattern))), - _ => throw new ArgumentOutOfRangeException(typeSymbol.ToDisplayString()) - }; - - foreach (var element in enumerable) - yield return element; - } - } - - - /// - /// If this expression returns null it means that the evaluation determined the expression to be truthy. - /// - private static string? Expression(in ITypeSymbol typeSymbol, in string accessPattern) - { - return typeSymbol.IsReferenceType - ? $"{accessPattern} is not null" - : OnValueType(in typeSymbol, in accessPattern); - - static string? OnValueType(in ITypeSymbol typeSymbol, in string accessPattern) - { - if (typeSymbol.TryGetNullableValueType() is not { } namedTypeSymbol) - return null; - - var T = namedTypeSymbol.TypeArguments[0]; - - var expression = Expression(in T, $"{accessPattern}.Value"); - - return expression is null - ? $"{accessPattern} is not null" - : $"{accessPattern} is not null && {expression}"; - } - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Extensions/StringExtensions.cs b/src/DynamoDBGenerator.SourceGenerator/Extensions/StringExtensions.cs deleted file mode 100644 index 849f92b9..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Extensions/StringExtensions.cs +++ /dev/null @@ -1,86 +0,0 @@ -using System.Runtime.CompilerServices; - -namespace DynamoDBGenerator.SourceGenerator.Extensions; - -public static class StringExtensions -{ - public static string ToCamelCaseFromPascal(this string str, [CallerMemberName] string? memberName = null) - { - var span = str.AsSpan(); - if (span.Length is 0) - throw new ArgumentException($"Null or Empty string was provided from '{memberName}'"); - - if (char.IsLower(span[0])) - return str; - - Span array = stackalloc char[span.Length]; - - array[0] = char.ToLowerInvariant(span[0]); - - // Skip first element since we handled it manually. - for (var i = 1; i < span.Length; i++) - array[i] = span[i]; - - return array.ToString(); - } - - public static string ToPrivateFieldFromPascal(this string str, [CallerMemberName] string? memberName = null) - { - var span = str.AsSpan(); - if (span.Length is 0) - throw new ArgumentException($"Null or Empty string was provided from '{memberName}'"); - - Span array = stackalloc char[span.Length + 1]; - - array[0] = '_'; - array[1] = char.ToLowerInvariant(span[0]); - - // Skip first element since we handled it manually. - for (var i = 1; i < span.Length; i++) - array[i + 1] = span[i]; - - return array.ToString(); - } - - public static IEnumerable ScopeTo(this IEnumerable content, string header) => - CreateScope(header, content); - - public static IEnumerable CreateScope(this string header, IEnumerable content) => content - .Select(x => $" {x}") - .Prepend("{") - .Prepend(header) - .Append("}"); - - public static IEnumerable CreateScope(this string header, string content) - { - yield return header; - yield return "{"; - - yield return $" {content}"; - - yield return "}"; - } - - public static IEnumerable CreateScope(this string header, string content, string second) - { - yield return header; - yield return "{"; - - yield return $" {content}"; - yield return $" {second}"; - - yield return "}"; - } - - public static string ToAlphaNumericMethodName(this string txt) - { - var index = 0; - - Span arr = stackalloc char[txt.Length]; - foreach (var c in txt.AsSpan()) - if (char.IsLetter(c) || (index > 0 && char.IsNumber(c))) - arr[index++] = c; - - return arr.Slice(0, index).ToString(); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Extensions/TypeExtensions.cs b/src/DynamoDBGenerator.SourceGenerator/Extensions/TypeExtensions.cs deleted file mode 100644 index d663f3fb..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Extensions/TypeExtensions.cs +++ /dev/null @@ -1,283 +0,0 @@ -using System.Collections.Concurrent; -using DynamoDBGenerator.SourceGenerator.Types; -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator.Extensions; - -public static class TypeExtensions -{ - private static readonly Dictionary TypeIdentifierDictionary = - new(SymbolEqualityComparer.IncludeNullability); - - private static readonly SymbolDisplayFormat DisplayFormat = new( - genericsOptions: SymbolDisplayGenericsOptions.IncludeTypeParameters - ); - - public static IEnumerable NamespaceDeclaration(this INamedTypeSymbol type, IEnumerable content) - { - return type.ContainingNamespace.IsGlobalNamespace - ? content - : $"namespace {type.ContainingNamespace.ToDisplayString()}".CreateScope(content); - } - - public static string TypeDeclaration(this INamedTypeSymbol type) - { - if (type.DeclaredAccessibility is not Accessibility.Public) - throw new NotImplementedException( - $"Generate accessibility of '{type.DeclaredAccessibility}' on '{type.ToDisplayParts()}' only '{type.DeclaredAccessibility == Accessibility.Public}' is supported." - ); - - return type switch - { - { IsRecord: true, TypeKind: TypeKind.Class, IsSealed: true } => - $"public {(type.IsStatic ? "static " : null)}sealed partial record {type.Name}", - { IsRecord: true, TypeKind: TypeKind.Class, IsSealed: false } => - $"public {(type.IsStatic ? "static " : null)}partial record {type.Name}", - { IsRecord: false, TypeKind: TypeKind.Class, IsSealed: true } => - $"public {(type.IsStatic ? "static " : null)}sealed partial class {type.Name}", - { IsRecord: false, TypeKind: TypeKind.Class, IsSealed: false } => - $"public {(type.IsStatic ? "static " : null)}partial class {type.Name}", - { IsRecord: true, TypeKind: TypeKind.Struct, IsReadOnly: true } => - $"public {(type.IsStatic ? "static " : null)}readonly partial record struct {type.Name}", - { IsRecord: false, TypeKind: TypeKind.Struct, IsReadOnly: true } => - $"public {(type.IsStatic ? "static " : null)}readonly partial struct {type.Name}", - { IsRecord: false, TypeKind: TypeKind.Struct, IsReadOnly: false } => - $"public {(type.IsStatic ? "static " : null)}partial struct {type.Name}", - _ => throw new NotImplementedException("Could not determine whether the type is a struct, class or record.") - }; - } - - public static Func CacheFactory(IEqualityComparer comparer, - Func selector) - { - var cache = new Dictionary(comparer); - - return x => cache.TryGetValue(x, out var value) ? value : cache[x] = selector(x); - } - - public static TypeIdentifier TypeIdentifier(this ITypeSymbol type) - { - if (TypeIdentifierDictionary.TryGetValue(type, out var typeIdentifier)) - return typeIdentifier; - - return TypeIdentifierDictionary[type] = Create(type); - - static TypeIdentifier Create(ITypeSymbol typeSymbol) - { - if (SingleGeneric.CreateInstance(typeSymbol) is { } singleGeneric) - return singleGeneric; - - if (KeyValueGeneric.CreateInstance(typeSymbol) is { } keyValueGeneric) - return keyValueGeneric; - - return new UnknownType(typeSymbol); - } - } - - public static Func SuffixedFullyQualifiedTypeName(string suffix, - IEqualityComparer comparer) - { - IEqualityComparer<(ITypeSymbol, ITypeSymbol)> tupleComparer = new TupleComparer(comparer); - var dict = new ConcurrentDictionary<(ITypeSymbol, ITypeSymbol), string>(tupleComparer); - if (Equals(comparer, SymbolEqualityComparer.Default)) - return (x, y) => dict.GetOrAdd( - (x, y), - tuple => - { - var (p, c) = tuple; - return c is IArrayTypeSymbol - ? $"{p.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}.{c.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat)}_{c.BaseType!.ToDisplayString()}{suffix}" - : $"{p.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}.{c.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat).ToAlphaNumericMethodName()}{suffix}"; - }); - - throw new NotSupportedException( - $"Method {nameof(SuffixedFullyQualifiedTypeName)} does not implement equality comparer '{comparer.GetType().Name}" - ); - } - - public static Func SuffixedTypeSymbolNameFactory(string? suffix, - IEqualityComparer comparer) - { - var dict = new ConcurrentDictionary(comparer); - - if (Equals(comparer, SymbolEqualityComparer.IncludeNullability)) - if (suffix is null) - return x => dict.GetOrAdd(x, NullableAnnotation); - else - return x => dict.GetOrAdd(x, y => $"{NullableAnnotation(y)}{suffix}"); - - if (suffix is null) - return x => dict.GetOrAdd(x, - y => y is IArrayTypeSymbol - ? $"{y.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat)}_{y.BaseType!.ToDisplayString()}" - : y.ToDisplayString( - DisplayFormat).ToAlphaNumericMethodName()); - - return x => dict.GetOrAdd(x, - y => y is IArrayTypeSymbol - ? $"{y.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat)}_{y.BaseType!.ToDisplayString()}{suffix}" - : $"{y.ToDisplayString(SymbolDisplayFormat.MinimallyQualifiedFormat).ToAlphaNumericMethodName()}{suffix}" - ); - - static string NullableAnnotation(ITypeSymbol x) - { - return x switch - { - // Could cause a NullReference exception but very unlikely since all IArrayTypeSymbol should inherit from Array. - IArrayTypeSymbol - { - NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated - } array => $"NN_{array.BaseType!.Name}_{NullableAnnotation(array.ElementType)}", - IArrayTypeSymbol { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.None } array => - $"{array.BaseType!.Name}_{NullableAnnotation(array.ElementType)}", - IArrayTypeSymbol { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.Annotated } array - => $"N_{array.BaseType!.Name}_{NullableAnnotation(array.ElementType)}", - INamedTypeSymbol - { - OriginalDefinition.SpecialType: not SpecialType.System_Nullable_T, - TypeArguments.Length : > 0, IsTupleType: false - } namedTypeSymbol - when string.Join("_", namedTypeSymbol.TypeArguments.Select(NullableAnnotation)) is var a - => namedTypeSymbol switch - { - { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated } => - $"NN_{namedTypeSymbol.Name}_{a}", - { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.None } => - $"{namedTypeSymbol.Name}_{a}", - { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.Annotated } => - $"N_{namedTypeSymbol.Name}_{a}", - _ => throw new NotImplementedException(ExceptionMessage(namedTypeSymbol)) - }, - INamedTypeSymbol { IsTupleType: true } single when string.Join("_", - single.TupleElements.Select(y => $"{y.Name}_{NullableAnnotation(y.Type)}")) is var tuple => - single switch - { - { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.None } => tuple, - { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.Annotated } => $"N_{tuple}", - { - NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated - } => $"NN_{tuple}", - _ => throw new NotImplementedException(ExceptionMessage(single)) - }, - { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated } => - $"NN_{x.ToDisplayString(DisplayFormat).ToAlphaNumericMethodName()}", - { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.None } => - $"{x.ToDisplayString(DisplayFormat).ToAlphaNumericMethodName()}", - { NullableAnnotation: Microsoft.CodeAnalysis.NullableAnnotation.Annotated } => - $"N_{x.ToDisplayString(DisplayFormat).ToAlphaNumericMethodName()}", - _ => throw new NotImplementedException(ExceptionMessage(x)) - }; - - static string ExceptionMessage(ITypeSymbol typeSymbol) - { - return $"Could not apply naming suffix on type: {typeSymbol.ToDisplayString()}"; - } - } - } - - public static CodeFactory ToConversion(this IEnumerable enumerable) - { - return new CodeFactory(enumerable); - } - - public static CodeFactory ToConversion(this IEnumerable enumerable, TypeIdentifier typeIdentifier) - { - return new CodeFactory(enumerable, new[] { typeIdentifier }); - } - - public static INamedTypeSymbol? TryGetNullableValueType(this ITypeSymbol type) - { - return type.IsValueType && type is INamedTypeSymbol - { - OriginalDefinition.SpecialType: SpecialType.System_Nullable_T - } symbol - ? symbol - : null; - } - - public static DynamoDbDataMember[] GetDynamoDbProperties(this ITypeSymbol symbol) - { - // A special rule when it comes to Tuples. - // If we remove this we will get duplicated DataMembers when tuples are being used. - var items = symbol is INamedTypeSymbol { IsTupleType: true } namedTypeSymbol - ? namedTypeSymbol.TupleElements.Select(tupleElement => Create(DataMember.FromField(tupleElement))) - .Where(dynamoDataMember => dynamoDataMember is not null) - .Select(dynamoDataMember => dynamoDataMember!.Value) - : symbol - .GetMembersToObject() - .Where(x => x.IsStatic is false) - .Where(x => x.DeclaredAccessibility == Accessibility.Public) - .Where(x => x.Kind is SymbolKind.Field or SymbolKind.Property) - .Where(x => x.CanBeReferencedByName) - .Select(x => x switch - { - IPropertySymbol propertySymbol => Create(DataMember.FromProperty(in propertySymbol)), - IFieldSymbol fieldSymbol => Create(DataMember.FromField(in fieldSymbol)), - _ => null - }) - .Where(x => x is not null) - .Select(x => x!.Value); - - return items.ToArray(); - - static DynamoDbDataMember? Create(DataMember dataMember) - { - var attributes = DynamoDbDataMember.GetDynamoDbAttributes(dataMember.BaseSymbol); - if (DynamoDbDataMember.IsIgnored(attributes)) - return null; - - return new DynamoDbDataMember(dataMember, attributes); - } - } - - public static IEnumerable GetMembersToObject(this ITypeSymbol typeSymbol) - { - // Return ImmutableArray if we can. - return typeSymbol.BaseType is { SpecialType: SpecialType.System_Object } - ? typeSymbol.GetMembers() - : Iterator(typeSymbol); - - static IEnumerable Iterator(ITypeSymbol typeSymbol) - { - var namedTypeSymbol = typeSymbol; - - // We know that we must do this at least once. - do - { - foreach (var member in namedTypeSymbol.GetMembers()) - yield return member; - - namedTypeSymbol = namedTypeSymbol.BaseType; - } while (namedTypeSymbol is { SpecialType: not SpecialType.System_Object }); - } - } - - - //Source: https://referencesource.microsoft.com/#mscorlib/system/tuple.cs,49b112811bc359fd,references - private sealed class TupleComparer : IEqualityComparer<(ITypeSymbol, ITypeSymbol)> - { - private readonly IEqualityComparer _comparer; - - public TupleComparer(IEqualityComparer comparer) - { - _comparer = comparer; - } - - public bool Equals((ITypeSymbol, ITypeSymbol) x, (ITypeSymbol, ITypeSymbol) y) - { - return _comparer.Equals(x.Item1, y.Item1) && _comparer.Equals(x.Item2, y.Item2); - } - - public int GetHashCode((ITypeSymbol, ITypeSymbol) obj) - { - var hashCode1 = obj.Item1 is null ? 0 : _comparer.GetHashCode(obj.Item1); - var hashCode2 = obj.Item2 is null ? 0 : _comparer.GetHashCode(obj.Item2); - return CombineHashCodes(hashCode1, hashCode2); - } - - private static int CombineHashCodes(int h1, int h2) - { - return ((h1 << 5) + h1) ^ h2; - } - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Generations/AttributeExpressionName.cs b/src/DynamoDBGenerator.SourceGenerator/Generations/AttributeExpressionName.cs deleted file mode 100644 index c3379c2d..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Generations/AttributeExpressionName.cs +++ /dev/null @@ -1,140 +0,0 @@ -using System.Runtime.CompilerServices; -using DynamoDBGenerator.SourceGenerator.Extensions; -using DynamoDBGenerator.SourceGenerator.Types; -using Microsoft.CodeAnalysis; -using static DynamoDBGenerator.SourceGenerator.Constants.DynamoDBGenerator.Marshaller; - -namespace DynamoDBGenerator.SourceGenerator.Generations; - -public static class AttributeExpressionName -{ - private const string ConstructorAttributeName = "nameRef"; - private const string ConstructorSetName = "set"; - private const string SetFieldName = "___set___"; - private const string Suffix = "Names"; - - private static readonly Func TypeName = TypeExtensions.SuffixedTypeSymbolNameFactory(Suffix, SymbolEqualityComparer.Default); - - private static readonly Func FullyQualifiedTypeName = TypeExtensions.SuffixedFullyQualifiedTypeName(Suffix, SymbolEqualityComparer.Default); - - internal static IEnumerable CreateClasses(DynamoDBMarshallerArguments[] arguments, - Func getDynamoDbProperties, MarshallerOptions options) - { - // Using _comparer can double classes when there's a None nullable property mixed with a nullable property - var hashSet = new HashSet(TypeIdentifier.Default); - - return arguments - .SelectMany(x => - CodeFactory.Create(x.EntityTypeSymbol, y => CreateStruct(y, getDynamoDbProperties, options), hashSet)); - } - - private static IEnumerable TypeContent( - ITypeSymbol typeSymbol, - (bool IsUnknown, DynamoDbDataMember DDB, string DbRef, string AttributeReference, string AttributeInterfaceName)[] dataMembers, - string structName) - { - const string self = "_this"; - var constructorFieldAssignments = dataMembers - .Select(x => - { - var ternaryExpressionName = - $"{ConstructorAttributeName} is null ? {@$"""#{x.DDB.AttributeName}"""}: {@$"$""{{{ConstructorAttributeName}}}.#{x.DDB.AttributeName}"""}"; - return x.IsUnknown - ? $"{x.DDB.DataMember.NameAsPrivateField} = new (() => new ({ternaryExpressionName}, {ConstructorSetName}));" - : $"{x.DDB.DataMember.NameAsPrivateField} = new (() => {ternaryExpressionName});"; - }) - .Append($"{SetFieldName} = {ConstructorSetName};") - .Append( - $@"{self} = new(() => {ConstructorAttributeName} ?? throw new NotImplementedException(""Root element AttributeExpressionName reference.""));"); - - foreach (var fieldAssignment in - $"public {structName}(string? {ConstructorAttributeName}, HashSet> {ConstructorSetName})" - .CreateScope(constructorFieldAssignments)) - yield return fieldAssignment; - - foreach (var fieldDeclaration in dataMembers) - { - if (fieldDeclaration.IsUnknown) - { - yield return - $"private readonly Lazy<{fieldDeclaration.AttributeReference}> {fieldDeclaration.DDB.DataMember.NameAsPrivateField};"; - yield return - $"public {fieldDeclaration.AttributeReference} {fieldDeclaration.DDB.DataMember.Name} => {fieldDeclaration.DDB.DataMember.NameAsPrivateField}.Value;"; - } - else - { - yield return $"private readonly Lazy {fieldDeclaration.DDB.DataMember.NameAsPrivateField};"; - yield return - $"public string {fieldDeclaration.DDB.DataMember.Name} => {fieldDeclaration.DDB.DataMember.NameAsPrivateField}.Value;"; - } - } - - yield return $"private readonly Lazy {self};"; - yield return $"private readonly HashSet> {SetFieldName};"; - - var yields = dataMembers - .SelectMany(YieldSelector) - .Concat($"if ({self}.IsValueCreated)".CreateScope(@$"yield return new ({self}.Value, ""{typeSymbol.Name}"");")); - - foreach (var s in - $"IEnumerable> {AttributeExpressionNameTrackerInterface}.{AttributeExpressionNameTrackerInterfaceAccessedNames}()" - .CreateScope(yields)) - yield return s; - - yield return $"public override string ToString() => {self}.Value;"; - } - - private static IEnumerable YieldSelector( - (bool IsUnknown, DynamoDbDataMember DDB, string DbRef, string AttributeReference, string AttributeInterfaceName) - x) - { - var camelCase = x.DDB.DataMember.NameAsCamelCase; - if (x.IsUnknown) - { - var scope = - $@"if (new KeyValuePair(""{x.DbRef}"", ""{x.DDB.AttributeName}"") is var {camelCase} && {SetFieldName}.Add({camelCase}))" - .CreateScope($"yield return {camelCase};") - .Concat( - $"foreach (var x in ({x.DDB.DataMember.Name} as {x.AttributeInterfaceName}).{AttributeExpressionNameTrackerInterfaceAccessedNames}())" - .CreateScope("yield return x;")); - return $"if ({x.DDB.DataMember.NameAsPrivateField}.IsValueCreated)".CreateScope(scope); - } - - return - $@"if ({x.DDB.DataMember.NameAsPrivateField}.IsValueCreated && new KeyValuePair(""{x.DbRef}"", ""{x.DDB.AttributeName}"") is var {camelCase} && {SetFieldName}.Add({camelCase}))" - .CreateScope($"yield return {camelCase};"); - } - - private static CodeFactory CreateStruct(TypeIdentifier typeIdentifier, Func fn, - MarshallerOptions options) - { - var dataMembers = fn(typeIdentifier.TypeSymbol) - .Select(x => ( - IsUnknown: options.IsUnknown(x.DataMember.TypeIdentifier), - DDB: x, - DbRef: $"#{x.AttributeName}", - AttributeReference: TypeName(x.DataMember.TypeIdentifier.TypeSymbol), - AttributeInterfaceName: AttributeExpressionNameTrackerInterface - )) - .ToArray(); - - var structName = TypeName(typeIdentifier.TypeSymbol); - - var @class = - $"public readonly struct {structName} : {AttributeExpressionNameTrackerInterface}".CreateScope( - TypeContent(typeIdentifier.TypeSymbol, dataMembers, structName)); - return new CodeFactory(@class, dataMembers.Where(x => x.IsUnknown).Select(x => x.DDB.DataMember.TypeIdentifier)); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static string GloballyAccessibleName(ITypeSymbol parentClass, ITypeSymbol nestedClass) => - FullyQualifiedTypeName(parentClass, nestedClass); - - internal static (string method, string typeName) RootSignature(ITypeSymbol parentClass, ITypeSymbol nestedClass) - { - var typeName = FullyQualifiedTypeName(parentClass, nestedClass); - return ( - $"public {typeName} {AttributeExpressionNameTrackerMethodName}() => new {typeName}(null, new HashSet>());", - typeName); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Generations/AttributeExpressionValue.cs b/src/DynamoDBGenerator.SourceGenerator/Generations/AttributeExpressionValue.cs deleted file mode 100644 index 3b970bd5..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Generations/AttributeExpressionValue.cs +++ /dev/null @@ -1,172 +0,0 @@ -using System.Runtime.CompilerServices; -using DynamoDBGenerator.SourceGenerator.Extensions; -using DynamoDBGenerator.SourceGenerator.Types; -using Microsoft.CodeAnalysis; -using static DynamoDBGenerator.SourceGenerator.Constants.DynamoDBGenerator; -using Marshaller = DynamoDBGenerator.SourceGenerator.Generations.Marshalling.Marshaller; - -namespace DynamoDBGenerator.SourceGenerator.Generations; - -public static class AttributeExpressionValue -{ - private const string Suffix = "Values"; - - private static readonly Func TypeName = - TypeExtensions.SuffixedTypeSymbolNameFactory(Suffix, SymbolEqualityComparer.Default); - - private static readonly Func GlobalTypeName = - TypeExtensions.SuffixedFullyQualifiedTypeName(Suffix, SymbolEqualityComparer.Default); - - private const string ValueProvider = "valueIdProvider"; - - private static IEnumerable TypeContents( - TypeIdentifier typeIdentifier, - (bool IsUnknown, DynamoDbDataMember DDB, string AttributeReference, string AttributeInterfaceName)[] - dataMembers, - string structName, - string interfaceName, - MarshallerOptions options - ) - { - const string self = "_this"; - var constructorFieldAssignments = dataMembers - .Select(x => x.IsUnknown - ? $"{x.DDB.DataMember.NameAsPrivateField} = new (() => new ({ValueProvider}, {MarshallerOptions.ParamReference}));" - : $"{x.DDB.DataMember.NameAsPrivateField} = new ({ValueProvider});") - .Append($"{self} = new({ValueProvider});") - .Append($"{MarshallerOptions.FieldReference} = {MarshallerOptions.ParamReference};"); - foreach (var fieldAssignment in $"public {structName}(Func {ValueProvider}, {options.FullName} options)" - .CreateScope(constructorFieldAssignments)) - yield return fieldAssignment; - - yield return options.FieldDeclaration; - foreach (var fieldDeclaration in dataMembers) - { - if (fieldDeclaration.IsUnknown) - { - yield return - $"private readonly Lazy<{fieldDeclaration.AttributeReference}> {fieldDeclaration.DDB.DataMember.NameAsPrivateField};"; - yield return - $"public {fieldDeclaration.AttributeReference} {fieldDeclaration.DDB.DataMember.Name} => {fieldDeclaration.DDB.DataMember.NameAsPrivateField}.Value;"; - } - else - { - yield return $"private readonly Lazy {fieldDeclaration.DDB.DataMember.NameAsPrivateField};"; - yield return - $"public string {fieldDeclaration.DDB.DataMember.Name} => {fieldDeclaration.DDB.DataMember.NameAsPrivateField}.Value;"; - } - } - - yield return $"private readonly Lazy {self};"; - - const string param = "entity"; - - var yields = (typeIdentifier switch - { - { IsSupposedToBeNull: true } => $"if ({param} is null)".CreateScope( - $"yield return new ({self}.Value, {AttributeValueUtilityFactory.Null});", "yield break;"), - { TypeSymbol.IsReferenceType: true } => $"if ({param} is null)".CreateScope( - $"throw {ExceptionHelper.NullExceptionMethod}(\"{structName}\");"), - _ => Enumerable.Empty() - }) - .Concat(dataMembers - .SelectMany(x => YieldSelector(x, options)) - .Concat( - $"if ({self}.IsValueCreated)" - .CreateScope( - $"yield return new ({self}.Value, {Marshaller.InvokeMarshallerMethod(typeIdentifier, "entity", $"\"{structName}\"", options, MarshallerOptions.FieldReference)}{HandeNullability(typeIdentifier)});" - ) - ) - ) - .ScopeTo( - $"IEnumerable> {interfaceName}.{Constants.DynamoDBGenerator.Marshaller.AttributeExpressionValueTrackerAccessedValues}({typeIdentifier.AnnotatedString} entity)"); - - - foreach (var yield in yields) - yield return yield; - - yield return $"public override string ToString() => {self}.Value;"; - } - - private static string? HandeNullability(TypeIdentifier typeSymbol) => - typeSymbol.IsSupposedToBeNull ? $" ?? {AttributeValueUtilityFactory.Null}" : null; - - private static IEnumerable YieldSelector( - (bool IsUnknown, DynamoDbDataMember DDB, string AttributeReference, string AttributeInterfaceName) x, - MarshallerOptions options) - { - var accessPattern = $"entity.{x.DDB.DataMember.Name}"; - - if (x.IsUnknown) - { - return x.DDB.DataMember.TypeIdentifier.TypeSymbol.NotNullIfStatement( - accessPattern, - $"foreach (var x in ({x.DDB.DataMember.Name} as {x.AttributeInterfaceName}).{Constants.DynamoDBGenerator.Marshaller.AttributeExpressionValueTrackerAccessedValues}({accessPattern}))" - .CreateScope("yield return x;") - ) - .ScopeTo($"if ({x.DDB.DataMember.NameAsPrivateField}.IsValueCreated)"); - } - - - return $"if ({x.DDB.DataMember.NameAsPrivateField}.IsValueCreated)".CreateScope( - x.DDB.DataMember.TypeIdentifier.TypeSymbol.NotNullIfStatement( - accessPattern, - $"yield return new ({x.DDB.DataMember.NameAsPrivateField}.Value, {Marshaller.InvokeMarshallerMethod(x.DDB.DataMember.TypeIdentifier, $"entity.{x.DDB.DataMember.Name}", $"\"{x.DDB.DataMember.Name}\"", options, MarshallerOptions.FieldReference)}{HandeNullability(x.DDB.DataMember.TypeIdentifier)});" - )); - } - - internal static IEnumerable CreateClasses(DynamoDBMarshallerArguments[] arguments, - Func getDynamoDbProperties, MarshallerOptions options) - { - // Using _comparer can double classes when there's a None nullable property mixed with a nullable property - var hashSet = new HashSet(TypeIdentifier.Default); - - return arguments - .SelectMany(x => - CodeFactory.Create(x.ArgumentType, y => CreateStruct(y, getDynamoDbProperties, options), hashSet)); - } - - private static CodeFactory CreateStruct(TypeIdentifier typeIdentifier, Func fn, - MarshallerOptions options) - { - var dataMembers = options.IsConvertable(typeIdentifier) - ? Array.Empty<(bool IsUnknown, DynamoDbDataMember DDB, string AttributeReference, string AttributeInterfaceName)>() - : fn(typeIdentifier.TypeSymbol) - .Select(x => ( - IsUnknown: options.IsUnknown(x.DataMember.TypeIdentifier), - DDB: x, - AttributeReference: TypeName(x.DataMember.TypeIdentifier.TypeSymbol), - AttributeInterfaceName: - $"{Constants.DynamoDBGenerator.Marshaller.AttributeExpressionValueTrackerInterface}<{x.DataMember.TypeIdentifier.AnnotatedString}>" - )) - .ToArray(); - - var structName = TypeName(typeIdentifier.TypeSymbol); - var interfaceName = - $"{Constants.DynamoDBGenerator.Marshaller.AttributeExpressionValueTrackerInterface}<{typeIdentifier.AnnotatedString}>"; - - var @struct = - $"public readonly struct {structName} : {interfaceName}".CreateScope(TypeContents(typeIdentifier, - dataMembers, - structName, interfaceName, options)); - - return new CodeFactory(@struct, - dataMembers.Where(x => x.IsUnknown).Select(x => x.DDB.DataMember.TypeIdentifier)); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal static string GloballyAccessibleName(ITypeSymbol parentClass, ITypeSymbol nestedClass) => - GlobalTypeName(parentClass, nestedClass); - - internal static (IEnumerable method, string typeName) RootSignature(ITypeSymbol parentClass, - ITypeSymbol nestedClass) - { - var typeName = GlobalTypeName(parentClass, nestedClass); - return ( - $"public {typeName} {Constants.DynamoDBGenerator.Marshaller.AttributeExpressionValueTrackerMethodName}()" - .CreateScope( - "var incrementer = new DynamoExpressionValueIncrementer();", - $"return new {typeName}(incrementer.GetNext, {MarshallerOptions.FieldReference});" - ), typeName); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Generations/Marshalling/Keys.cs b/src/DynamoDBGenerator.SourceGenerator/Generations/Marshalling/Keys.cs deleted file mode 100644 index 5003e9f8..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Generations/Marshalling/Keys.cs +++ /dev/null @@ -1,160 +0,0 @@ -using DynamoDBGenerator.SourceGenerator.Extensions; -using DynamoDBGenerator.SourceGenerator.Types; -using Microsoft.CodeAnalysis; -using static DynamoDBGenerator.SourceGenerator.Constants.DynamoDBGenerator; - -namespace DynamoDBGenerator.SourceGenerator.Generations.Marshalling; - -internal static partial class Marshaller -{ - internal static class KeyMarshaller - { - private const string DictionaryName = "attributeValues"; - private const string EnforcePkReference = "isPartitionKey"; - private const string EnforceRkReference = "isRangeKey"; - - private static readonly Func MethodName = - TypeExtensions.SuffixedTypeSymbolNameFactory(null, SymbolEqualityComparer.IncludeNullability); - - private const string PkReference = "partitionKey"; - private const string RkReference = "rangeKey"; - - private static IEnumerable CreateAssignment(string validateReference, string keyReference, - DynamoDbDataMember dataMember, MarshallerOptions options) - { - const string reference = "value"; - var expression = $"{keyReference} is {dataMember.DataMember.TypeIdentifier.UnannotatedString} {{ }} {reference}"; - - var innerContent = $"if ({expression}) " - .CreateScope( - $@"{DictionaryName}.Add(""{dataMember.AttributeName}"", {InvokeMarshallerMethod(dataMember.DataMember.TypeIdentifier, reference, $"nameof({keyReference})", options)});") - .Concat($"else if ({keyReference} is null) ".CreateScope( - $@"throw {ExceptionHelper.KeysArgumentNullExceptionMethod}(""{dataMember.DataMember.Name}"", ""{keyReference}"");")) - .Concat("else".CreateScope( - $@"throw {ExceptionHelper.KeysInvalidConversionExceptionMethod}(""{dataMember.DataMember.Name}"", ""{keyReference}"", {keyReference}, ""{dataMember.DataMember.TypeIdentifier.UnannotatedString}"");")); - - return $"if ({validateReference})".CreateScope(innerContent); - } - - private static IEnumerable MethodBody(ITypeSymbol typeSymbol, - Func fn, MarshallerOptions options) - { - var keyStructure = DynamoDbDataMember.GetKeyStructure(fn(typeSymbol)); - if (keyStructure is null) - { - yield return @$"throw {ExceptionHelper.NoDynamoDBKeyAttributesExceptionMethod}(""{typeSymbol}"");"; - - yield break; - } - - yield return $"var {DictionaryName} = new Dictionary(2);"; - - var switchBody = GetAssignments(keyStructure.Value, options) - .SelectMany(x => - $"case {(x.IndexName is null ? "null" : @$"""{x.IndexName}""")}:".CreateScope(x.assignments) - .Append("break;")) - .Append($"default: throw {ExceptionHelper.MissMatchedIndexNameExceptionMethod}(nameof(index), index);"); - - foreach (var s in "switch (index)".CreateScope(switchBody)) - yield return s; - - var validateSwitch = $"if ({EnforcePkReference} && {EnforceRkReference} && {DictionaryName}.Count == 2)" - .CreateScope($"return {DictionaryName};") - .Concat($"if ({EnforcePkReference} && {EnforceRkReference} is false && {DictionaryName}.Count == 1)" - .CreateScope($"return {DictionaryName};")) - .Concat($"if ({EnforcePkReference} is false && {EnforceRkReference} && {DictionaryName}.Count == 1)" - .CreateScope($"return {DictionaryName};")) - .Concat($"if ({EnforcePkReference} && {EnforceRkReference} && {DictionaryName}.Count == 1)".CreateScope( - $"throw {ExceptionHelper.KeysMissingDynamoDBAttributeExceptionMethod}({PkReference}, {RkReference});")) - .Append($"throw {ExceptionHelper.ShouldNeverHappenExceptionMethod}();"); - - foreach (var s in validateSwitch) - yield return s; - } - - internal static IEnumerable CreateKeys(IEnumerable arguments, - Func getDynamoDbProperties, MarshallerOptions options) - { - var hashSet = new HashSet(TypeIdentifier.Nullable); - - return arguments - .SelectMany(x => CodeFactory.Create(x.EntityTypeSymbol, - y => StaticAttributeValueDictionaryKeys(y, getDynamoDbProperties, options), hashSet)); - } - - private static IEnumerable<(string? IndexName, IEnumerable assignments)> GetAssignments( - DynamoDBKeyStructure keyStructure, MarshallerOptions options) - { - yield return keyStructure switch - { - { PartitionKey: var pk, SortKey: { } sortKey } => (null, - CreateAssignment(EnforcePkReference, PkReference, pk, options) - .Concat(CreateAssignment(EnforceRkReference, RkReference, sortKey, options))), - { PartitionKey: var pk, SortKey: null } => (null, - CreateAssignment(EnforcePkReference, PkReference, pk, options) - .Concat(MissingAssigment(EnforceRkReference, RkReference))) - }; - - foreach (var gsi in keyStructure.GlobalSecondaryIndices) - { - yield return gsi switch - { - { PartitionKey: var pk, SortKey: { } sortKey } => (gsi.Name, - CreateAssignment(EnforcePkReference, PkReference, pk, options) - .Concat(CreateAssignment(EnforceRkReference, RkReference, sortKey, options))), - { PartitionKey: var pk, SortKey: null } => (gsi.Name, - CreateAssignment(EnforcePkReference, PkReference, pk, options) - .Concat(MissingAssigment(EnforceRkReference, RkReference))) - }; - } - - foreach (var lsi in keyStructure.LocalSecondaryIndices) - { - yield return (lsi, keyStructure.PartitionKey) switch - { - { PartitionKey: var pk, lsi: var sortKey } => (lsi.Name, - CreateAssignment(EnforcePkReference, PkReference, pk, options) - .Concat(CreateAssignment(EnforceRkReference, RkReference, sortKey.SortKey, options))) - }; - } - } - - private static IEnumerable MissingAssigment(string validateReference, string keyReference) - { - var expression = $"{validateReference} && {keyReference} is not null"; - return $"if ({expression})".CreateScope( - $"throw {ExceptionHelper.KeysValueWithNoCorrespondenceMethod}(\"{keyReference}\", {keyReference});"); - } - - internal static IEnumerable IndexKeyMarshallerRootSignature(ITypeSymbol typeSymbol) - { - return - $"public {Constants.DynamoDBGenerator.Marshaller.IndexKeyMarshallerInterface} IndexKeyMarshaller(string index)" - .CreateScope( - "ArgumentNullException.ThrowIfNull(index);", - $"return new {IndexKeyMarshallerImplementationTypeName}((pk, rk, ipk, irk, dm) => {ClassName}.{MethodName(typeSymbol)}({MarshallerOptions.FieldReference}, pk, rk, ipk, irk, dm), index);" - ); - } - - public const string PrimaryKeyMarshallerReference = "PrimaryKeyMarshaller"; - - public const string PrimaryKeyMarshallerDeclaration = - $"public {Constants.DynamoDBGenerator.Marshaller.KeyMarshallerInterface} {PrimaryKeyMarshallerReference} {{ get; }}"; - - internal static string AssignmentRoot(ITypeSymbol typeSymbol) - { - return - $"new {KeyMarshallerImplementationTypeName}((pk, rk, ipk, irk, dm) => {ClassName}.{MethodName(typeSymbol)}({MarshallerOptions.FieldReference}, pk, rk, ipk, irk, dm))"; - } - - private static CodeFactory StaticAttributeValueDictionaryKeys(TypeIdentifier typeIdentifier, - Func fn, MarshallerOptions options) - { - var code = - $"public static Dictionary {MethodName(typeIdentifier.TypeSymbol)}({options.FullName} {MarshallerOptions.ParamReference}, object? {PkReference}, object? {RkReference}, bool {EnforcePkReference}, bool {EnforceRkReference}, string? index = null)" - .CreateScope(MethodBody(typeIdentifier.TypeSymbol, fn, options)); - - return code.ToConversion(); - } - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Generations/Marshalling/Marshaller.cs b/src/DynamoDBGenerator.SourceGenerator/Generations/Marshalling/Marshaller.cs deleted file mode 100644 index 1afa35f7..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Generations/Marshalling/Marshaller.cs +++ /dev/null @@ -1,213 +0,0 @@ -using DynamoDBGenerator.SourceGenerator.Extensions; -using DynamoDBGenerator.SourceGenerator.Types; -using Microsoft.CodeAnalysis; -using static DynamoDBGenerator.SourceGenerator.Constants.DynamoDBGenerator; -namespace DynamoDBGenerator.SourceGenerator.Generations.Marshalling; - -internal static partial class Marshaller -{ - private const string ClassName = $"_{Constants.DynamoDBGenerator.Marshaller.MarshallMethodName}_"; - private const string DataMember = "dataMember"; - private const string DictionaryReference = "attributeValues"; - private static readonly Func GetSerializationMethodName = TypeExtensions.SuffixedTypeSymbolNameFactory(null, SymbolEqualityComparer.IncludeNullability); - private const string ParamReference = "entity"; - - internal static IEnumerable CreateClass(DynamoDBMarshallerArguments[] arguments, Func getDynamoDbProperties, MarshallerOptions options) - { - return $"file static class {ClassName}".CreateScope(TypeContent(arguments, getDynamoDbProperties, options)); - } - private static CodeFactory CreateDictionaryMethod(TypeIdentifier typeIdentifier, Func fn, MarshallerOptions options) - { - var properties = fn(typeIdentifier.TypeSymbol) - .Select(x => - { - var accessPattern = $"{ParamReference}.{x.DataMember.Name}"; - - var marshallerInvocation = InvokeMarshallerMethod(x.DataMember.TypeIdentifier, accessPattern, $"\"{x.DataMember.Name}\"", options); - - var assignment = x.DataMember.TypeIdentifier.IsSupposedToBeNull - ? $"if ({x.DataMember.NameAsCamelCase} is not null)" - .CreateScope($"{DictionaryReference}[\"{x.AttributeName}\"] = {x.DataMember.NameAsCamelCase};") - .Prepend($"var {x.DataMember.NameAsCamelCase} = {marshallerInvocation};") - : new[] { $"{DictionaryReference}[\"{x.AttributeName}\"] = {marshallerInvocation};" }; - - return ( - dictionaryAssignment: assignment, - capacityTernary: x.DataMember.TypeIdentifier.IsSupposedToBeNull ? x.DataMember.TypeIdentifier.TypeSymbol.NotNullTernaryExpression(in accessPattern, "1", "0") : "1", - x.DataMember - ); - }) - .ToArray(); - - var enumerable = Enumerable.Empty(); - if (typeIdentifier.IsSupposedToBeNull) - enumerable = $"if ({ParamReference} is null)".CreateScope("return null;"); - else if (typeIdentifier.TypeSymbol.IsReferenceType) - enumerable = $"if ({ParamReference} is null)".CreateScope($"throw {ExceptionHelper.NullExceptionMethod}({DataMember});"); - - var body = - enumerable.Concat(InitializeDictionary(properties.Select(x => x.capacityTernary)) - .Concat(properties.SelectMany(x => x.dictionaryAssignment)) - .Append($"return {DictionaryReference};")); - - var code = - $"public static Dictionary{(typeIdentifier.IsSupposedToBeNull ? '?' : null)} {GetSerializationMethodName(typeIdentifier.TypeSymbol)}({typeIdentifier.AnnotatedString} {ParamReference}, {options.FullName} {MarshallerOptions.ParamReference}, string? {DataMember} = null)" - .CreateScope(body); - - return new CodeFactory(code, properties.Select(y => y.DataMember.TypeIdentifier)); - - } - - private static IEnumerable TypeContent(DynamoDBMarshallerArguments[] arguments, Func getDynamoDbProperties, MarshallerOptions options) - { - var hashset = new HashSet(TypeIdentifier.Nullable); - - return arguments.SelectMany(x => CodeFactory - .Create( - x.EntityTypeSymbol, - y => CreateMethod(y, getDynamoDbProperties, options), - hashset - ) - .Concat(CodeFactory.Create(x.ArgumentType, y => CreateMethod(y, getDynamoDbProperties, options), - hashset)) - ) - .Concat(KeyMarshaller.CreateKeys(arguments, getDynamoDbProperties, options)); - } - private static CodeFactory CreateMethod(TypeIdentifier typeIdentifier, Func fn, MarshallerOptions options) - { - if (options.TryWriteConversion(typeIdentifier.TypeSymbol, ParamReference) is {} conversion) - { - var signature = CreateSignature(typeIdentifier, options); - return typeIdentifier.CanBeNull is false - ? signature.CreateScope($"return {conversion};").ToConversion() - : signature.CreateScope($"if ({ParamReference} is null)" - .CreateScope(typeIdentifier.IsSupposedToBeNull - ? "return null;" - : $"throw {ExceptionHelper.NullExceptionMethod}({DataMember});" - ) - .Append($"return {conversion};") - ) - .ToConversion(); - } - - return typeIdentifier switch - { - SingleGeneric singleGeneric when CreateSignature(singleGeneric, options) is var signature => singleGeneric.Type switch - { - SingleGeneric.SupportedType.Nullable => signature - .CreateScope( - $"if ({ParamReference} is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {InvokeMarshallerMethod(singleGeneric.T, $"{ParamReference}.Value", DataMember, options)};") - ).ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.Array => signature - .CreateScope( - $"if ({ParamReference} is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.FromArray}({ParamReference}, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeMarshallerMethod(singleGeneric.T, "a", "d", options, "o")}{(singleGeneric.T.IsSupposedToBeNull ? $" ?? {AttributeValueUtilityFactory.Null}" : null)});") - ).ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.List => signature - .CreateScope( - $"if ({ParamReference} is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.FromList}({ParamReference}, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeMarshallerMethod(singleGeneric.T, "a", "d", options, "o")}{(singleGeneric.T.IsSupposedToBeNull ? $" ?? {AttributeValueUtilityFactory.Null}" : null)});") - ).ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.IReadOnlyCollection - or SingleGeneric.SupportedType.IEnumerable - or SingleGeneric.SupportedType.ICollection => signature - .CreateScope( - $"if ({ParamReference} is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.FromEnumerable}({ParamReference}, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeMarshallerMethod(singleGeneric.T, "a", "d", options, "o")}{(singleGeneric.T.IsSupposedToBeNull ? $" ?? {AttributeValueUtilityFactory.Null}" : null)});") - ).ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.Set when singleGeneric.T.TypeSymbol.SpecialType is SpecialType.System_String - => signature - .CreateScope( - $"if ({ParamReference} is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {(singleGeneric.T.IsSupposedToBeNull ? AttributeValueUtilityFactory.FromNullableStringSet : AttributeValueUtilityFactory.FromStringSet)}({ParamReference}, {DataMember});") - ) - .ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.Set when singleGeneric.T.IsNumeric - => signature - .CreateScope( - $"if ({ParamReference} is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {(singleGeneric.T.IsSupposedToBeNull ? AttributeValueUtilityFactory.FromNullableNumberSet : AttributeValueUtilityFactory.FromNumberSet)}({ParamReference}, {DataMember});") - ) - .ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.Set => throw new ArgumentException("Only string and integers are supported for sets", UncoveredConversionException(singleGeneric, nameof(CreateMethod))), - _ => throw UncoveredConversionException(singleGeneric, nameof(CreateMethod)) - }, - KeyValueGeneric {TKey.SpecialType: not SpecialType.System_String} keyValueGeneric => throw new ArgumentException("Only strings are supported for for TKey", - UncoveredConversionException(keyValueGeneric, nameof(CreateMethod))), - KeyValueGeneric keyValueGeneric when CreateSignature(keyValueGeneric, options) is var signature => keyValueGeneric.Type switch - { - KeyValueGeneric.SupportedType.Dictionary => signature - .CreateScope( - $"if ({ParamReference} is null)" - .CreateScope(keyValueGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.FromDictionary}({ParamReference}, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeMarshallerMethod(keyValueGeneric.TValue, "a", "d", options, "o")}{(keyValueGeneric.TValue.IsSupposedToBeNull ? $" ?? {AttributeValueUtilityFactory.Null}" : null)});") - ) - .ToConversion(keyValueGeneric.TValue), - KeyValueGeneric.SupportedType.LookUp => signature - .CreateScope( - $"if ({ParamReference} is null)" - .CreateScope(keyValueGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.FromLookup}({ParamReference}, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeMarshallerMethod(keyValueGeneric.TValue, "a", "d", options, "o")}{(keyValueGeneric.TValue.IsSupposedToBeNull ? $" ?? {AttributeValueUtilityFactory.Null}" : null)});") - ) - .ToConversion(keyValueGeneric.TValue), - _ => throw UncoveredConversionException(keyValueGeneric, nameof(CreateMethod)) - }, - UnknownType unknownType => CreateDictionaryMethod(unknownType, fn, options), - _ => throw UncoveredConversionException(typeIdentifier, nameof(CreateMethod)) - - }; - - } - private static string CreateSignature(TypeIdentifier typeIdentifier, MarshallerOptions options) - { - var typeSymbol = typeIdentifier.TypeSymbol; - return typeIdentifier.IsSupposedToBeNull - ? $"public static {Constants.AWSSDK_DynamoDBv2.AttributeValue}? {GetSerializationMethodName(typeSymbol)}({typeIdentifier.AnnotatedString} {ParamReference}, {options.FullName} {MarshallerOptions.ParamReference}, string? {DataMember} = null)" - : $"public static {Constants.AWSSDK_DynamoDBv2.AttributeValue} {GetSerializationMethodName(typeSymbol)}({typeIdentifier.AnnotatedString} {ParamReference}, {options.FullName} {MarshallerOptions.ParamReference}, string? {DataMember} = null)"; - } - - private static IEnumerable InitializeDictionary(IEnumerable capacityCalculations) - { - var capacityCalculation = string.Join(" + ", capacityCalculations); - if (capacityCalculation is "") - { - yield return $"var {DictionaryReference} = new Dictionary(0);"; - } - else - { - yield return $"var capacity = {capacityCalculation};"; - yield return $"var {DictionaryReference} = new Dictionary(capacity);"; - } - } - - internal static string InvokeMarshallerMethod(TypeIdentifier typeIdentifier, string parameterReference, string dataMember, MarshallerOptions options, string optionParam = MarshallerOptions.ParamReference) - { - var invocation = $"{ClassName}.{GetSerializationMethodName(typeIdentifier.TypeSymbol)}({parameterReference}, {optionParam}, {dataMember})"; - - return options.IsUnknown(typeIdentifier) is false - ? invocation - : $"{AttributeValueUtilityFactory.ToAttributeValue}({invocation})"; - } - - internal static IEnumerable RootSignature(TypeIdentifier typeIdentifier) - { - - return $"public Dictionary<{nameof(String)}, {Constants.AWSSDK_DynamoDBv2.AttributeValue}> {Constants.DynamoDBGenerator.Marshaller.MarshallMethodName}({typeIdentifier.AnnotatedString} {ParamReference})" - .CreateScope( - $"ArgumentNullException.ThrowIfNull({ParamReference});", - $"return {ClassName}.{GetSerializationMethodName(typeIdentifier.TypeSymbol)}({ParamReference}, {MarshallerOptions.FieldReference});" - ); - } - - private static ArgumentException UncoveredConversionException(TypeIdentifier typeIdentifier, string method) - { - return new ArgumentException($"The '{typeIdentifier.GetType().FullName}' with backing type '{typeIdentifier.TypeSymbol.ToDisplayString()}' has not been covered in method '{method}'."); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Generations/UnMarshaller.cs b/src/DynamoDBGenerator.SourceGenerator/Generations/UnMarshaller.cs deleted file mode 100644 index 1e484241..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Generations/UnMarshaller.cs +++ /dev/null @@ -1,292 +0,0 @@ -using DynamoDBGenerator.SourceGenerator.Extensions; -using DynamoDBGenerator.SourceGenerator.Types; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using static DynamoDBGenerator.SourceGenerator.Constants.DynamoDBGenerator; - -namespace DynamoDBGenerator.SourceGenerator.Generations; - -public static class UnMarshaller -{ - private const string DataMember = "dataMember"; - private const string Dict = "dict"; - private static readonly Func GetDeserializationMethodName = TypeExtensions.SuffixedTypeSymbolNameFactory(null, SymbolEqualityComparer.IncludeNullability); - private const string UnMarshallerClass = $"_{Marshaller.UnmarshalMethodName}_"; - private const string Value = "attributeValue"; - private static IEnumerable<(bool useParentheses, IEnumerable assignments)> Assignments(TypeIdentifier typeIdentifier, (DynamoDbDataMember DDB, string MethodCall, string Name)[] assignments) - { - const string indent = " "; - var type = typeIdentifier.TypeSymbol; - if (type.IsTupleType) - yield return (true, assignments.Select(x => $"{indent}{x.DDB.DataMember.Name}: {x.MethodCall}")); - else - { - var resolve = assignments - .GroupJoin( - TryGetMatchedConstructorArguments(type), - x => x.DDB.DataMember.Name, - x => x.DataMember, - (x, y) => (x.MethodCall, x.DDB, Constructor: y.OfType<(string DataMember, string ParameterName)?>().FirstOrDefault()) - ) - .GroupBy(x => x.Constructor.HasValue) - .OrderByDescending(x => x.Key) - .Select(x => - { - return x.Key - ? (x.Key, x.Select(z => $"{indent}{z.Constructor!.Value.ParameterName} : {z.MethodCall}")) - : (x.Key, x.Where(z => z.DDB.DataMember.IsAssignable).Select(z => $"{indent}{z.DDB.DataMember.Name} = {z.MethodCall}")); - }); - - foreach (var valueTuple in resolve) - yield return valueTuple; - } - - } - internal static IEnumerable CreateClass(DynamoDBMarshallerArguments[] arguments, - Func getDynamoDbProperties, MarshallerOptions options) - { - return $"file static class {UnMarshallerClass}".CreateScope(CreateTypeContents(arguments, getDynamoDbProperties, options)); - } - private static CodeFactory CreateCode(TypeIdentifier typeIdentifier, Func fn, MarshallerOptions options) - { - var assignments = fn(typeIdentifier.TypeSymbol) - .Select(x => (DDB: x, MethodCall: InvokeUnmarshallMethod(x.DataMember.TypeIdentifier, $"{AttributeValueUtilityFactory.GetAttributeValueOrNull}({Dict}, \"{x.AttributeName}\")", $"\"{x.DataMember.Name}\"", options), x.DataMember.Name)) - .ToArray(); - - var blockBody = - $"if ({Dict} is null)" - .CreateScope(typeIdentifier.IsSupposedToBeNull ? "return null;" : $"throw {ExceptionHelper.NullExceptionMethod}({DataMember});").Concat( - Assignments(typeIdentifier, assignments) - .AllAndLast(x => ObjectAssignmentBlock(x.useParentheses, x.assignments, false), x => ObjectAssignmentBlock(x.useParentheses, x.assignments, true)) - .SelectMany(x => x) - .DefaultIfEmpty("();") - // Is needed in order to not perform new entity? where '?' is not allowed in the end of the string. - .Prepend(typeIdentifier.TypeSymbol.IsTupleType ? "return" : $"return new {typeIdentifier.AnnotatedString.TrimEnd('?')}") - ); - - var method = $"public static {typeIdentifier.AnnotatedString} {GetDeserializationMethodName(typeIdentifier.TypeSymbol)}(Dictionary? {Dict}, {options.FullName} {MarshallerOptions.ParamReference}, string? {DataMember} = null)".CreateScope(blockBody); - - return new CodeFactory(method, assignments.Select(x => x.DDB.DataMember.TypeIdentifier)); - - } - private static CodeFactory CreateMethod(TypeIdentifier typeIdentifier, Func fn, - MarshallerOptions options) - { - if (options.TryReadConversion(typeIdentifier, Value) is {} conversion) - { - var signature = CreateSignature(typeIdentifier, options); - - if (typeIdentifier.IsSupposedToBeNull) - return signature - .CreateScope( - $"if ({Value} is null)" - .CreateScope("return null;") - .Append($"return {conversion};") - ) - .ToConversion(); - - return signature - .CreateScope( - $"if ({Value} is null)" - .CreateScope($"throw {ExceptionHelper.NullExceptionMethod}({DataMember});") - .Append( - $"return {conversion} ?? throw {ExceptionHelper.NullExceptionMethod}({DataMember});" - ) - ) - .ToConversion(); - } - - return typeIdentifier switch - { - SingleGeneric singleGeneric when CreateSignature(singleGeneric, options) is var signature => singleGeneric.Type switch - { - SingleGeneric.SupportedType.Nullable => signature - .CreateScope( - $"if ({Value} is null || {Value}.NULL is true)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {InvokeUnmarshallMethod(singleGeneric.T, Value, DataMember, options)};" ) - ) - .ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.List or SingleGeneric.SupportedType.ICollection => signature - .CreateScope( - $"if ({Value} is null || {Value}.L is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.ToList}({Value}.L, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeUnmarshallMethod(singleGeneric.T, "a", "d", options, "o")});") - ) - .ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.Array or SingleGeneric.SupportedType.IReadOnlyCollection => signature - .CreateScope( - $"if ({Value} is null || {Value}.L is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.ToArray}({Value}.L, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeUnmarshallMethod(singleGeneric.T, "a", "d", options, "o")});") - ) - .ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.IEnumerable => signature - .CreateScope( - $"if ({Value} is null || {Value}.L is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.ToEnumerable}({Value}.L, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeUnmarshallMethod(singleGeneric.T, "a", "d", options, "o")});") - ) - .ToConversion(singleGeneric.T), - SingleGeneric.SupportedType.Set when singleGeneric.T.TypeSymbol.SpecialType is SpecialType.System_String => signature - .CreateScope( - $"if ({Value} is null || {Value}.SS is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.ClassName}.{(singleGeneric.T.IsSupposedToBeNull ? $"ToNullableString{typeIdentifier.TypeSymbol.Name}" : $"ToString{typeIdentifier.TypeSymbol.Name}")}({Value}.SS, {DataMember});") - ) - .ToConversion(), - SingleGeneric.SupportedType.Set when singleGeneric.T.IsNumeric => signature - .CreateScope( - $"if ({Value} is null || {Value}.NS is null)" - .CreateScope(singleGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.ClassName}.{(singleGeneric.T.IsSupposedToBeNull ? $"ToNullableNumber{typeIdentifier.TypeSymbol.Name}" : $"ToNumber{typeIdentifier.TypeSymbol.Name}")}<{singleGeneric.T.UnannotatedString}>({Value}.NS, {DataMember});") - ) - .ToConversion(singleGeneric), - SingleGeneric.SupportedType.Set => throw new ArgumentException("Only string and integers are supported for sets", UncoveredConversionException(singleGeneric, nameof(CreateMethod))), - _ => throw UncoveredConversionException(singleGeneric, nameof(CreateMethod)) - }, - KeyValueGeneric {TKey.SpecialType: not SpecialType.System_String} keyValueGeneric => throw new ArgumentException("Only strings are supported for for TKey", - UncoveredConversionException(keyValueGeneric, nameof(CreateMethod))), - KeyValueGeneric keyValueGeneric when CreateSignature(keyValueGeneric, options) is var signature => keyValueGeneric.Type switch - { - KeyValueGeneric.SupportedType.Dictionary => signature - .CreateScope( - $"if ({Value} is null || {Value}.M is null)" - .CreateScope(keyValueGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.ToDictionary}({Value}.M, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeUnmarshallMethod(keyValueGeneric.TValue, "a", "d", options, "o")});") - ) - .ToConversion(keyValueGeneric.TValue), - KeyValueGeneric.SupportedType.LookUp => signature - .CreateScope( - $"if ({Value} is null || {Value}.M is null)" - .CreateScope(keyValueGeneric.ReturnNullOrThrow(DataMember)) - .Append($"return {AttributeValueUtilityFactory.ToLookup}({Value}.M, {MarshallerOptions.ParamReference}, {DataMember}, static (a, o, d) => {InvokeUnmarshallMethod(keyValueGeneric.TValue, "a", "d", options, "o")});") - ) - .ToConversion(keyValueGeneric.TValue), - _ => throw UncoveredConversionException(keyValueGeneric, nameof(CreateMethod)) - - }, - UnknownType => CreateCode(typeIdentifier, fn, options), - _ => throw UncoveredConversionException(typeIdentifier, nameof(CreateMethod)) - }; - - } - - private static string CreateSignature(TypeIdentifier typeIdentifier, MarshallerOptions options) - { - return $"public static {typeIdentifier.AnnotatedString} {GetDeserializationMethodName(typeIdentifier.TypeSymbol)}(AttributeValue? {Value}, {options.FullName} {MarshallerOptions.ParamReference}, string? {DataMember} = null)"; - } - - private static IEnumerable CreateTypeContents(IEnumerable arguments, - Func getDynamoDbProperties, MarshallerOptions options) - { - var hashSet = new HashSet(TypeIdentifier.Nullable); - return arguments.SelectMany(x => - CodeFactory.Create( - x.EntityTypeSymbol, - y => CreateMethod(y, getDynamoDbProperties, options), - hashSet - ) - ); - } - - private static string InvokeUnmarshallMethod(TypeIdentifier typeIdentifier, string paramReference, string dataMember, MarshallerOptions options, string marshallerOptionsReference = MarshallerOptions.ParamReference) - { - if (options.IsUnknown(typeIdentifier) is false) - return $"{GetDeserializationMethodName(typeIdentifier.TypeSymbol)}({paramReference}, {marshallerOptionsReference}, {dataMember})"; - - return - $"{GetDeserializationMethodName(typeIdentifier.TypeSymbol)}({paramReference}?.M, {marshallerOptionsReference}, {dataMember})"; - - } - private static IEnumerable ObjectAssignmentBlock(bool useParentheses, IEnumerable assignments, bool applySemiColon) - { - if (useParentheses) - { - yield return "("; - - foreach (var assignment in assignments.AllButLast(s => $"{s},")) - yield return assignment; - - if (applySemiColon) - yield return ");"; - else - yield return ")"; - } - else - { - yield return "{"; - - foreach (var assignment in assignments.AllButLast(s => $"{s},")) - yield return assignment; - - if (applySemiColon) - yield return "};"; - else - yield return "}"; - - } - - } - - - internal static IEnumerable RootSignature(TypeIdentifier typeIdentifier) - { - return $"public {typeIdentifier.AnnotatedString} {Marshaller.UnmarshalMethodName}(Dictionary<{nameof(String)}, {Constants.AWSSDK_DynamoDBv2.AttributeValue}> entity)".CreateScope( - "ArgumentNullException.ThrowIfNull(entity);", - $"return {UnMarshallerClass}.{GetDeserializationMethodName(typeIdentifier.TypeSymbol)}(entity, {MarshallerOptions.FieldReference});"); - } - private static IEnumerable<(string DataMember, string ParameterName)> TryGetMatchedConstructorArguments(ITypeSymbol typeSymbol) - { - - if (typeSymbol is not INamedTypeSymbol namedTypeSymbol) - return Enumerable.Empty<(string, string )>(); - - if (namedTypeSymbol.InstanceConstructors.Length is 0) - return Enumerable.Empty<(string, string )>(); - - if (namedTypeSymbol is {Name: "KeyValuePair", ContainingNamespace.Name: nameof(System.Collections.Generic)}) - return namedTypeSymbol.InstanceConstructors - .First(x => x.Parameters.Length is 2) - .Parameters - .Select(x => (MemberName: $"{char.ToUpperInvariant(x.Name[0])}{x.Name.Substring(1)}", ParameterName: x.Name)); - - // Should not need to be looked at when it's a RecordDeclarationSyntax - return namedTypeSymbol switch - { - _ when namedTypeSymbol.InstanceConstructors - .SelectMany( - x => x.GetAttributes().Where(y => y.AttributeClass is - { - ContainingNamespace.Name: Namespace.Attributes, - Name: Constants.DynamoDBGenerator.Attribute.DynamoDBMarshallerConstructor, - ContainingAssembly.Name: AssemblyName - }), - (x, _) => x - ) - .FirstOrDefault() is { } ctor => ctor.DeclaringSyntaxReferences - .Select(x => x.GetSyntax()) - .OfType() - .Select( - x => x.DescendantNodes() - .OfType() - .Select(y => (MemberName: y.Left.ToString(), ParameterName: y.Right.ToString())) - ) - .FirstOrDefault() ?? Enumerable.Empty<(string, string)>(), - {IsRecord: true} when namedTypeSymbol.InstanceConstructors[0] - .DeclaringSyntaxReferences - .Select(x => x.GetSyntax()) - .OfType() - .FirstOrDefault() is { } ctor => ctor - .DescendantNodes() - .OfType() - .Select(x => (MemberName: x.Identifier.Text, ParameterName: x.Identifier.Text)), - _ => Array.Empty<(string, string)>() - }; - - } - private static ArgumentException UncoveredConversionException(TypeIdentifier typeIdentifier, string method) - { - return new ArgumentException($"The '{typeIdentifier.GetType().FullName}' with backing type '{typeIdentifier.TypeSymbol.ToDisplayString()}' has not been covered in method '{method}'."); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/MarshallerFactory.cs b/src/DynamoDBGenerator.SourceGenerator/MarshallerFactory.cs deleted file mode 100644 index d7b3aa6c..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/MarshallerFactory.cs +++ /dev/null @@ -1,111 +0,0 @@ -using System.Diagnostics; -using DynamoDBGenerator.SourceGenerator.Extensions; -using DynamoDBGenerator.SourceGenerator.Generations; -using DynamoDBGenerator.SourceGenerator.Generations.Marshalling; -using DynamoDBGenerator.SourceGenerator.Types; -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator; - -public static class MarshallerFactory -{ - private static IEnumerable CreateImplementations( - ITypeSymbol parentType, - DynamoDBMarshallerArguments[] arguments, - MarshallerOptions options) - { - return arguments.SelectMany(CollectionSelector); - - IEnumerable CollectionSelector(DynamoDBMarshallerArguments argument) - { - var (expressionValueMethod, valueTrackerTypeName) = - AttributeExpressionValue.RootSignature(parentType, argument.ArgumentType.TypeSymbol); - var (expressionMethodName, nameTrackerTypeName) = - AttributeExpressionName.RootSignature(parentType, argument.EntityTypeSymbol.TypeSymbol); - var constructor = - $"public {argument.ImplementationName}({options.FullName} {MarshallerOptions.ParamReference})" - .CreateScope($"{MarshallerOptions.FieldReference} = {MarshallerOptions.ParamReference};", - $"{Marshaller.KeyMarshaller.PrimaryKeyMarshallerReference} = {Marshaller.KeyMarshaller.AssignmentRoot(argument.EntityTypeSymbol.TypeSymbol)};"); - - return constructor.Concat(Marshaller.RootSignature(argument.EntityTypeSymbol)) - .Concat(UnMarshaller.RootSignature(argument.EntityTypeSymbol)) - .Concat(Marshaller.KeyMarshaller.IndexKeyMarshallerRootSignature(argument.EntityTypeSymbol.TypeSymbol)) - .Concat(expressionValueMethod) - .Append(expressionMethodName) - .Append(Marshaller.KeyMarshaller.PrimaryKeyMarshallerDeclaration) - .Prepend(options.FieldDeclaration) - .ScopeTo( - $"file sealed class {argument.ImplementationName}: {Constants.DynamoDBGenerator.Marshaller.Interface}<{argument.EntityTypeSymbol.AnnotatedString}, {argument.ArgumentType.AnnotatedString}, {nameTrackerTypeName}, {valueTrackerTypeName}>"); - } - } - - private static IEnumerable PublicAccessibility( - ITypeSymbol parentType, - DynamoDBMarshallerArguments[] arguments, - MarshallerOptions options - ) - { - return arguments - .Select(x => - { - var valueTrackerTypeName = - AttributeExpressionValue.GloballyAccessibleName(parentType, x.ArgumentType.TypeSymbol); - var nameTrackerTypeName = - AttributeExpressionName.GloballyAccessibleName(parentType, x.EntityTypeSymbol.TypeSymbol); - - return options.TryInstantiate() switch - { - { } y => - $"public static {Constants.DynamoDBGenerator.Marshaller.Interface}<{x.EntityTypeSymbol.AnnotatedString}, {x.ArgumentType.AnnotatedString}, {nameTrackerTypeName}, {valueTrackerTypeName}> {x.AccessName} {{ get; }} = new {x.ImplementationName}({y});", - null => - $"public static {Constants.DynamoDBGenerator.Marshaller.Interface}<{x.EntityTypeSymbol.AnnotatedString}, {x.ArgumentType.AnnotatedString}, {nameTrackerTypeName}, {valueTrackerTypeName}> {x.AccessName}({options.FullName} options) => new {x.ImplementationName}(options);" - }; - }); - } - - public static IEnumerable Create( - INamedTypeSymbol originatingType, - DynamoDBMarshallerArguments[] arguments, - MarshallerOptions options - ) - { - var timestamp = Stopwatch.GetTimestamp(); - var dynamoDbProperties = TypeExtensions.CacheFactory( - SymbolEqualityComparer.IncludeNullability, - TypeExtensions.GetDynamoDbProperties - ); - const string res = $@"#nullable enable -using System; -using System.Linq; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using {Constants.AWSSDK_DynamoDBv2.Namespace.ModelFullName}; -using {Constants.DynamoDBGenerator.Namespace.Root}; -using {Constants.DynamoDBGenerator.Namespace.AttributesFullName}; -using {Constants.DynamoDBGenerator.Namespace.ExceptionsFullName}; -using {Constants.DynamoDBGenerator.Namespace.InternalFullName};"; - - var marshaller = originatingType - .NamespaceDeclaration( - originatingType - .TypeDeclaration() - .CreateScope( - PublicAccessibility(originatingType, arguments, options) - .Concat(options.ClassDeclaration) - .Concat(AttributeExpressionName.CreateClasses(arguments, dynamoDbProperties, options)) - .Concat(AttributeExpressionValue.CreateClasses(arguments, dynamoDbProperties, options)) - ) - .Concat(CreateImplementations(originatingType, arguments, options)) - .Concat(Marshaller.CreateClass(arguments, dynamoDbProperties, options)) - .Concat(UnMarshaller.CreateClass(arguments, dynamoDbProperties, options)) - ) - .Prepend(res); - - - foreach (var x in marshaller) - yield return x; - // Need to walk through all the strings in order to capture the duration correctly. - yield return - $"// "; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Types/CodeFactory.cs b/src/DynamoDBGenerator.SourceGenerator/Types/CodeFactory.cs deleted file mode 100644 index ea42919a..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Types/CodeFactory.cs +++ /dev/null @@ -1,50 +0,0 @@ -using DynamoDBGenerator.SourceGenerator.Extensions; -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator.Types; - -public readonly struct CodeFactory -{ - public CodeFactory(IEnumerable lines, IEnumerable dependantTypes) - { - _lines = lines; - _dependantTypes = dependantTypes; - } - - public CodeFactory(IEnumerable lines) - { - _lines = lines; - _dependantTypes = Enumerable.Empty(); - } - - /// - /// The code lines. - /// - private readonly IEnumerable _lines; - - /// - /// The types that are are dependant on. - /// - private readonly IEnumerable _dependantTypes; - - public static IEnumerable Create( - TypeIdentifier typeSymbol, - Func codeSelector, - ISet handledTypes - ) - { - // We already support the type. - if (handledTypes.Add(typeSymbol) is false) - yield break; - - var code = codeSelector(typeSymbol); - - foreach (var s in code._lines) - yield return s; - - foreach (var nestedTypeSymbol in code._dependantTypes) - foreach (var nestedCode in Create(nestedTypeSymbol, codeSelector, handledTypes)) - yield return nestedCode; - } - -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Types/DataMember.cs b/src/DynamoDBGenerator.SourceGenerator/Types/DataMember.cs deleted file mode 100644 index 316cc8f2..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Types/DataMember.cs +++ /dev/null @@ -1,53 +0,0 @@ -using DynamoDBGenerator.SourceGenerator.Extensions; -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator.Types; - -/// -/// Either an field or property. -/// -public readonly struct DataMember -{ - private DataMember(in ISymbol symbol, in string fieldName, in ITypeSymbol type, in bool isAssignable) - { - Name = fieldName; - BaseSymbol = symbol; - IsAssignable = isAssignable; - NameAsPrivateField = fieldName.ToPrivateFieldFromPascal(); - NameAsCamelCase = fieldName.ToCamelCaseFromPascal(); - TypeIdentifier = type.TypeIdentifier(); - } - - public static DataMember FromField(in IFieldSymbol fieldSymbol) - { - ISymbol symbol = fieldSymbol; - var name = fieldSymbol.Name; - var type = fieldSymbol.Type; - - return new DataMember(in symbol, in name, in type, fieldSymbol.IsReadOnly is false); - } - - public static DataMember FromProperty(in IPropertySymbol property) - { - ISymbol symbol = property; - var name = property.Name; - var type = property.Type; - - return new DataMember(in symbol, in name, in type, property.SetMethod?.DeclaredAccessibility is Accessibility.Public); - } - - /// - /// The which this instance is based on. - /// - public ISymbol BaseSymbol { get; } - - /// - /// The name of the data member. - /// - public string Name { get; } - - public TypeIdentifier TypeIdentifier { get; } - public string NameAsPrivateField { get; } - public string NameAsCamelCase { get; } - public bool IsAssignable { get; } -} diff --git a/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDBKeyStructure.cs b/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDBKeyStructure.cs deleted file mode 100644 index cb8ec005..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDBKeyStructure.cs +++ /dev/null @@ -1,89 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator.Types; - -/// -/// Represents the key structure of a DynamoDB table. -/// -public readonly struct DynamoDBKeyStructure -{ - public DynamoDBKeyStructure( - DynamoDbDataMember partitionKey, - DynamoDbDataMember? sortKey, - IEnumerable localSecondaryIndices, - IEnumerable globalSecondaryIndices) - { - PartitionKey = partitionKey; - SortKey = sortKey; - LocalSecondaryIndices = localSecondaryIndices; - GlobalSecondaryIndices = globalSecondaryIndices; - } - - /// - /// Represents the primary partition key. - /// - public DynamoDbDataMember PartitionKey { get; } - - /// - /// Represents the primary sort key. - /// - public DynamoDbDataMember? SortKey { get; } - - /// - /// Represents 0 - N amount of LSI. - /// - public IEnumerable LocalSecondaryIndices { get; } - - /// - /// Represents 0 - N amount of GSI. - /// - public IEnumerable GlobalSecondaryIndices { get; } -} - -/// -/// https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LSI.html -/// -public readonly struct LocalSecondaryIndex -{ - public LocalSecondaryIndex(DynamoDbDataMember sortKey, string name) - { - SortKey = sortKey; - Name = name; - } - - /// - /// Represents the sort key of a LSI. - /// - public DynamoDbDataMember SortKey { get; } - - /// - /// Represents the name of the LSI. - /// - public string Name { get; } -} - -/// -/// https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html -/// -public readonly struct GlobalSecondaryIndex -{ - public GlobalSecondaryIndex(DynamoDbDataMember partitionKey, DynamoDbDataMember? sortKey, string name) - { - PartitionKey = partitionKey; - SortKey = sortKey; - Name = name; - } - - /// - /// Represents the partition key of a GSI. - /// - public DynamoDbDataMember PartitionKey { get; } - - /// - /// Represents the sort key of a GSI. - /// - public DynamoDbDataMember? SortKey { get; } - - /// - /// Represents the name of the GSI. - /// - public string Name { get; } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDBMarshallerArguments.cs b/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDBMarshallerArguments.cs deleted file mode 100644 index 30b413e9..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDBMarshallerArguments.cs +++ /dev/null @@ -1,26 +0,0 @@ -using DynamoDBGenerator.SourceGenerator.Extensions; -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator.Types; - -public readonly record struct DynamoDBMarshallerArguments -{ - public DynamoDBMarshallerArguments( - INamedTypeSymbol entityTypeSymbol, - INamedTypeSymbol? argumentType, - string? propertyName - ) - { - EntityTypeSymbol = entityTypeSymbol.WithNullableAnnotation(NullableAnnotation.NotAnnotated).TypeIdentifier(); - ArgumentType = argumentType is null - ? EntityTypeSymbol - : argumentType.WithNullableAnnotation(NullableAnnotation.NotAnnotated).TypeIdentifier(); - AccessName = propertyName ?? $"{EntityTypeSymbol.TypeSymbol.Name}Marshaller"; - ImplementationName = $"{AccessName}Implementation"; - } - - public string ImplementationName { get; } - public TypeIdentifier EntityTypeSymbol { get; } - public TypeIdentifier ArgumentType { get; } - public string AccessName { get; } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDbDataMember.cs b/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDbDataMember.cs deleted file mode 100644 index e10480f0..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Types/DynamoDbDataMember.cs +++ /dev/null @@ -1,147 +0,0 @@ -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator.Types; - -/// -/// A DynamoDB data member that originates from either a field or property. -/// -public readonly struct DynamoDbDataMember -{ - public DynamoDbDataMember(in DataMember dataMember, IReadOnlyList attributeData) - { - _attributes = attributeData; - AttributeName = _attributes - .Select(AttributeNameSelector) - .FirstOrDefault(x => string.IsNullOrWhiteSpace(x) is false) ?? dataMember.Name; - DataMember = dataMember; - } - - private static string? AttributeNameSelector(AttributeData attributeData) - { - return attributeData switch - { - {AttributeClass: null} => null, - {AttributeClass.Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBHashKey, ConstructorArguments.Length: 1} when FilterString(attributeData.ConstructorArguments[0]) is { } attributeName => attributeName, - {AttributeClass.Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBRangeKey, ConstructorArguments.Length: 1} when FilterString(attributeData.ConstructorArguments[0]) is { } attributeName => attributeName, - {AttributeClass.Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBProperty, ConstructorArguments.Length: 1} when FilterString(attributeData.ConstructorArguments[0]) is { } attributeName => attributeName, - { - AttributeClass.Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBHashKey or Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBRangeKey or Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBProperty, - ConstructorArguments.Length: > 0 - } => throw new InvalidOperationException("Unable to extract attributeName constructor argument from DynamoDBAttributes."), - _ => null - }; - } - - - /// - /// The name of a DynamoDB attribute - /// - /// - /// https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html - /// - public string AttributeName { get; } - - /// - public DataMember DataMember { get; } - - private readonly IReadOnlyList _attributes; - - - public static AttributeData[] GetDynamoDbAttributes(ISymbol symbol) - { - return symbol - .GetAttributes() - .Where(x => x.AttributeClass is {ContainingAssembly.Name: Constants.AWSSDK_DynamoDBv2.AssemblyName}) - .ToArray(); - } - public static bool IsIgnored(AttributeData[] attributes) - { - return attributes.Length is not 0 && attributes.Any(x => x.AttributeClass is {Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBIgnore}); - } - - public static DynamoDBKeyStructure? GetKeyStructure(IEnumerable members) - { - var items = members - .SelectMany(x => x._attributes, (x, y) => (DataMember: x, Attribute: y)) - .ToArray(); - - var partitionKey = items - .Where(x => x.Attribute.AttributeClass is {Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBHashKey}) - .Select(x => x.DataMember) - .Cast() - .FirstOrDefault(); - - if (partitionKey is null) - return null; - - var rangeKey = items - .Where(x => x.Attribute.AttributeClass is {Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBRangeKey}) - .Select(x => x.DataMember) - .Cast() - .FirstOrDefault(); - - var lsi = items - .Where(x => x.Attribute.AttributeClass is {Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBLocalSecondaryIndexRangeKey}) - .SelectMany(x => GetStringArrayFromConstructor(x.Attribute), - (x, y) => new LocalSecondaryIndex(x.DataMember, y!)); - - var gsi = items - .Where(x => x.Attribute.AttributeClass is - { - Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBGlobalSecondaryIndexHashKey or Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBGlobalSecondaryIndexRangeKey - }) - .GroupBy(x => x.Attribute.AttributeClass!.Name switch - { - Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBGlobalSecondaryIndexHashKey - when GetStringArrayFromConstructor(x.Attribute).FirstOrDefault() is { } index => index, - Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBGlobalSecondaryIndexRangeKey - when GetStringArrayFromConstructor(x.Attribute).FirstOrDefault() is { } index => index, - _ => throw new NotSupportedException(x.DataMember.DataMember.TypeIdentifier.TypeSymbol.ToDisplayString()) - }) - .Select(x => - { - var gsiPartitionKey = x - .Where(y => y.Attribute.AttributeClass is {Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBGlobalSecondaryIndexHashKey}) - .Select(y => y.DataMember) - .Cast() - .FirstOrDefault(); - - var gsiRangeKey = x - .Where(y => y.Attribute.AttributeClass is {Name: Constants.AWSSDK_DynamoDBv2.Attribute.DynamoDBGlobalSecondaryIndexRangeKey}) - .Select(y => y.DataMember) - .Cast() - .FirstOrDefault(); - - if (gsiPartitionKey is null) - throw new NotSupportedException("Could not determine GSI"); - - return new GlobalSecondaryIndex(gsiPartitionKey.Value, gsiRangeKey, x.Key); - }); - - return new DynamoDBKeyStructure(partitionKey.Value, rangeKey, lsi, gsi); - - static IEnumerable GetStringArrayFromConstructor(AttributeData attribute) - { - if (attribute.ConstructorArguments.Select(FilterString).FirstOrDefault(x => x is not null) is { } str) - return new[] {str}; - - return attribute.ConstructorArguments - .Where(y => y.Kind is TypedConstantKind.Array) - .Select(y => y.Values - .Select(FilterString) - .Where(x => x is not null) as IEnumerable - ) - .FirstOrDefault() ?? Enumerable.Empty(); - } - } - - private static string? FilterString(TypedConstant constant) => - constant is - { - Kind: TypedConstantKind.Primitive, - Value: string str - } - && string.IsNullOrWhiteSpace(str) is false - ? str - : null; -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Types/MarshallerOptions.cs b/src/DynamoDBGenerator.SourceGenerator/Types/MarshallerOptions.cs deleted file mode 100644 index 56fa0de7..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Types/MarshallerOptions.cs +++ /dev/null @@ -1,144 +0,0 @@ -using DynamoDBGenerator.SourceGenerator.Extensions; -using Microsoft.CodeAnalysis; -using static DynamoDBGenerator.SourceGenerator.Constants.DynamoDBGenerator.Attribute.DynamoDbMarshallerOptionsArgument; - -namespace DynamoDBGenerator.SourceGenerator.Types; - -public readonly struct MarshallerOptions -{ - private readonly INamedTypeSymbol _convertersType; - private readonly int _enumStrategy; - // TODO name needs to take namespace etc into account in order to make it accessible from the outside. - private const string TypeName = "MarshallerOptions"; - public const string FieldReference = "_options"; - public const string ParamReference = "options"; - private const string ConvertersProperty = "Converters"; - private readonly string _converterFullPath; - public string FullName { get; } - public string FieldDeclaration { get; } - - public bool IsUnknown(TypeIdentifier typeIdentifier) => typeIdentifier is UnknownType && IsConvertable(typeIdentifier) is false; - public bool IsConvertable(TypeIdentifier typeIdentifier) => typeIdentifier.TypeSymbol.TypeKind is TypeKind.Enum || Converters.ContainsKey(typeIdentifier.TypeSymbol); - - private MarshallerOptions( - INamedTypeSymbol originalType, - INamedTypeSymbol convertersType, - IEnumerable> converters, - int enumStrategy - ) - { - Converters = converters.ToDictionary(x => x.Value, x => x, SymbolEqualityComparer.Default); - _convertersType = convertersType; - _enumStrategy = enumStrategy; - _converterFullPath = _convertersType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat); - FullName = $"{originalType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}.{TypeName}"; - FieldDeclaration = $"private readonly {FullName} {FieldReference};"; - } - - public string? TryInstantiate() - { - if (_convertersType.InstanceConstructors.Length is 0 || - _convertersType.InstanceConstructors.All(x => x.Parameters.Length is 0)) - return $"new {FullName}(new {_converterFullPath}())"; - - return null; - } - - - public string? TryWriteConversion(ITypeSymbol typeSymbol, string elementParam) - { - // Converters comes first so that you your customized converters are always prioritized. - if (Converters.TryGetValue(typeSymbol, out var match)) - return $"{ParamReference}.{ConvertersProperty}.{match.Key}.Write({elementParam})"; - - if (typeSymbol.TypeKind is TypeKind.Enum) - { - return _enumStrategy switch - { - ConversionStrategy.Integer => $"new AttributeValue {{ N = ((int){elementParam}).ToString() }}", - ConversionStrategy.Name => $"new AttributeValue {{ S = {elementParam}.ToString() }}", - ConversionStrategy.NameCI => $"new AttributeValue {{ S = {elementParam}.ToString() }}", - ConversionStrategy.LowerCase => $"new AttributeValue {{ S = {elementParam}.ToString().ToLowerInvariant() }}", - ConversionStrategy.UpperCase => $"new AttributeValue {{ S = {elementParam}.ToString().ToUpperInvariant() }}", - _ => throw new ArgumentException($"Could not resolve enum conversion strategy from value '{_enumStrategy}'.") - }; - } - - return null; - } - public string? TryReadConversion(TypeIdentifier typeIdentifier, string attributeValueParam) - { - // Converters comes first so that you your customized converters are always prioritized. - if (Converters.TryGetValue(typeIdentifier.TypeSymbol, out var match)) - return $"{ParamReference}.{ConvertersProperty}.{match.Key}.Read({attributeValueParam})"; - - if (typeIdentifier.TypeSymbol.TypeKind is TypeKind.Enum) - { - return _enumStrategy switch - { - ConversionStrategy.Integer => $"(Int32.TryParse({attributeValueParam}.N, out var e) ? ({typeIdentifier.UnannotatedString}?) e : null)", - ConversionStrategy.Name => $"(Enum.TryParse<{typeIdentifier.UnannotatedString}>({attributeValueParam}.S, false, out var e) ? ({typeIdentifier.UnannotatedString}?) e : null)", - ConversionStrategy.NameCI - or ConversionStrategy.LowerCase - or ConversionStrategy.UpperCase - => $"(Enum.TryParse<{typeIdentifier.UnannotatedString}>({attributeValueParam}.S, true, out var e) ? ({typeIdentifier.UnannotatedString}?) e : null)", - _ => throw new ArgumentException($"Could not resolve enum conversion strategy from value '{_enumStrategy}'.") - }; - } - - return null; - } - - - private Dictionary> Converters { get; } - - public IEnumerable ClassDeclaration - { - get - { - var body = $"public {TypeName} ({_converterFullPath} converters)" - .CreateScope($"{ConvertersProperty} = converters;") - .Append($"public {_converterFullPath} {ConvertersProperty} {{ get; }}"); - - return $"public sealed class {TypeName}".CreateScope(body); - } - } - - public static MarshallerOptions Create(INamedTypeSymbol orignalType,INamedTypeSymbol converterTypeSymbol, int enumStrategy) - { - var keyValuePairs = converterTypeSymbol - .GetMembersToObject() - .Select(ConverterDataMemberOrNull) - .Where(x => x.HasValue) - .Select(x => x!.Value); - - return new MarshallerOptions(orignalType, converterTypeSymbol, keyValuePairs, enumStrategy); - } - - private static KeyValuePair? ConverterDataMemberOrNull(ISymbol symbol) - { - return symbol switch - { - { DeclaredAccessibility: not (Accessibility.Public or Accessibility.Internal) } => null, - IFieldSymbol x when Predicate(x.Type) => new KeyValuePair(x.Name, ((INamedTypeSymbol)x.Type).TypeArguments[0]), - IPropertySymbol x when Predicate(x.Type) => new KeyValuePair(x.Name, ((INamedTypeSymbol)x.Type).TypeArguments[0]), - IFieldSymbol x when x.Type.Interfaces.FirstOrDefault(Predicate) is { } y => new KeyValuePair(x.Name, y.TypeArguments[0]), - IPropertySymbol x when x.Type.Interfaces.FirstOrDefault(Predicate) is { } y => new KeyValuePair(x.Name, y.TypeArguments[0]), - _ => null - }; - - static bool Predicate(ITypeSymbol x) - { - if (x is not INamedTypeSymbol namedTypeSymbol) - return false; - - return namedTypeSymbol is - { - ContainingNamespace.Name: Constants.DynamoDBGenerator.Namespace.Converters, - TypeKind: TypeKind.Interface, Name: Constants.DynamoDBGenerator.Converter.ReferenceType or Constants.DynamoDBGenerator.Converter.ValueType, - TypeParameters.Length: 1, - ContainingAssembly.Name : Constants.DynamoDBGenerator.AssemblyName - }; - } - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator.SourceGenerator/Types/TypeIdentifier.cs b/src/DynamoDBGenerator.SourceGenerator/Types/TypeIdentifier.cs deleted file mode 100644 index 58437227..00000000 --- a/src/DynamoDBGenerator.SourceGenerator/Types/TypeIdentifier.cs +++ /dev/null @@ -1,282 +0,0 @@ -using System.Collections.Concurrent; -using DynamoDBGenerator.SourceGenerator.Extensions; -using Microsoft.CodeAnalysis; - -namespace DynamoDBGenerator.SourceGenerator.Types; - -public abstract record TypeIdentifier -{ - private static readonly ConcurrentDictionary RepresentationDictionary = - new(SymbolEqualityComparer.IncludeNullability); - - internal static readonly IEqualityComparer Default = - new TypeSymbolDelegator(SymbolEqualityComparer.Default); - - internal static readonly IEqualityComparer Nullable = - new TypeSymbolDelegator(SymbolEqualityComparer.IncludeNullability); - - protected TypeIdentifier(ITypeSymbol typeSymbol) - { - IsSupposedToBeNull = typeSymbol switch - { - { IsReferenceType: true, NullableAnnotation: NullableAnnotation.None or NullableAnnotation.Annotated } => true, - { IsReferenceType: true, NullableAnnotation: NullableAnnotation.NotAnnotated } => false, - { IsValueType: true, OriginalDefinition.SpecialType: SpecialType.System_Nullable_T } => true, - { IsValueType: true } => false, - _ => throw new ArgumentOutOfRangeException( - $"Could not determine nullability of type '{typeSymbol.ToDisplayString()}'.") - }; - - TypeSymbol = typeSymbol; - var (annotated, original) = Representation(typeSymbol); - UnannotatedString = original; - AnnotatedString = annotated; - CanBeNull = typeSymbol is { IsReferenceType: true } or { IsValueType: true, OriginalDefinition.SpecialType: SpecialType.System_Nullable_T }; - IsNumeric = IsNumericMethod(typeSymbol); - } - - /// - /// Represents whether it can even be null. - /// - public bool CanBeNull { get; } - /// - /// Represents whether the type is intended to be nullable - /// - public bool IsSupposedToBeNull { get; } - public bool IsNumeric { get; } - public string AnnotatedString { get; } - public string UnannotatedString { get; } - - public ITypeSymbol TypeSymbol { get; } - - private static (string annotated, string original) Representation(ITypeSymbol typeSymbol) - { - return RepresentationDictionary.GetOrAdd(typeSymbol, x => - { - var displayString = x.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat); - - var unAnnotated = x.OriginalDefinition.SpecialType == SpecialType.System_Nullable_T - ? displayString.Substring(0, displayString.Length - 1) - : displayString; - - return RepresentationDictionary[typeSymbol] = (ToString(typeSymbol, displayString), unAnnotated); - }); - - static string ToString(ITypeSymbol x, string displayString) - { - if (x is IArrayTypeSymbol arrayTypeSymbol) - { - var result = ToString(arrayTypeSymbol.ElementType, - arrayTypeSymbol.ElementType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)); - - return x.NullableAnnotation switch - { - NullableAnnotation.Annotated or NullableAnnotation.None => $"{result}[]?", - NullableAnnotation.NotAnnotated => $"{result}[]", - _ => throw new ArgumentException(ExceptionMessage(x)) - }; - } - - if (x is not INamedTypeSymbol namedTypeSymbol || namedTypeSymbol.TypeArguments.Length is 0) - return x.NullableAnnotation switch - { - // Having `Annotated` and `None` produce append '?' is fine as long as `SuffixedTypeSymbolNameFactory` is giving them different names. Otherwise we could create broken signatures due to duplication. - NullableAnnotation.Annotated or NullableAnnotation.None => $"{displayString}?", - NullableAnnotation.NotAnnotated => displayString, - _ => throw new ArgumentException(ExceptionMessage(x)) - }; - - if (namedTypeSymbol.OriginalDefinition.SpecialType is SpecialType.System_Nullable_T) - return displayString; - - if (namedTypeSymbol.IsTupleType) - { - var tupleElements = namedTypeSymbol.TupleElements - .Select(y => - $"{ToString(y.Type, $"{y.Type.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)}")} {y.Name}"); - return $"({string.Join(", ", tupleElements)})"; - } - - var index = displayString.AsSpan().IndexOf('<'); - if (index == -1) - return displayString; - - var typeWithoutGenericParameters = displayString.Substring(0, index); - var typeParameters = string.Join(", ", - namedTypeSymbol.TypeArguments.Select(y => - ToString(y, y.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)))); - return namedTypeSymbol.NullableAnnotation switch - { - // Having `Annotated` and `None` produce append '?' is fine as long as `SuffixedTypeSymbolNameFactory` is giving them different names. Otherwise we could create broken signatures due to duplication. - NullableAnnotation.Annotated or NullableAnnotation.None => - $"{typeWithoutGenericParameters}<{typeParameters}>?", - NullableAnnotation.NotAnnotated => $"{typeWithoutGenericParameters}<{typeParameters}>", - _ => throw new ArgumentException(ExceptionMessage(namedTypeSymbol)) - }; - - static string ExceptionMessage(ISymbol typeSymbol) - { - return $"Could nullable annotation on type: {typeSymbol.ToDisplayString()}"; - } - } - } - - private static bool IsNumericMethod(ITypeSymbol typeSymbol) - { - if (typeSymbol.OriginalDefinition.SpecialType == SpecialType.System_Nullable_T) - typeSymbol = ((INamedTypeSymbol)typeSymbol).TypeArguments[0]; - - return typeSymbol.SpecialType - is SpecialType.System_Int16 - or SpecialType.System_Byte - or SpecialType.System_Int32 - or SpecialType.System_Int64 - or SpecialType.System_SByte - or SpecialType.System_UInt16 - or SpecialType.System_UInt32 - or SpecialType.System_UInt64 - or SpecialType.System_Decimal - or SpecialType.System_Double - or SpecialType.System_Single; - - } - - public string ReturnNullOrThrow(string dataMember) - { - return IsSupposedToBeNull - ? "return null;" - : $"throw {Constants.DynamoDBGenerator.ExceptionHelper.NullExceptionMethod}({dataMember});"; - } - - private sealed class TypeSymbolDelegator : IEqualityComparer - { - private readonly IEqualityComparer _comparer; - - public TypeSymbolDelegator(IEqualityComparer comparer) - { - _comparer = comparer; - } - - public bool Equals(TypeIdentifier? x, TypeIdentifier? y) - { - return ReferenceEquals(x, y) || x switch - { - null => false, - _ => y is not null && _comparer.Equals(x.TypeSymbol, y.TypeSymbol) - }; - } - - public int GetHashCode(TypeIdentifier obj) - { - return _comparer.GetHashCode(obj.TypeSymbol); - } - } -} - -public sealed record UnknownType(ITypeSymbol TypeSymbol) : TypeIdentifier(TypeSymbol); - -public sealed record KeyValueGeneric : TypeIdentifier -{ - public enum SupportedType - { - LookUp = 1, - Dictionary = 2 - } - - private KeyValueGeneric(in ITypeSymbol typeSymbol, in ITypeSymbol tKey, in ITypeSymbol tValue, - in SupportedType supportedType) : base(typeSymbol) - { - Type = supportedType; - TKey = tKey; - TValue = tValue.TypeIdentifier(); - } - - public SupportedType Type { get; } - - // ReSharper disable once InconsistentNaming - public ITypeSymbol TKey { get; } - - // ReSharper disable once InconsistentNaming - public TypeIdentifier TValue { get; } - - public static KeyValueGeneric? CreateInstance(in ITypeSymbol typeSymbol) - { - if (typeSymbol is not INamedTypeSymbol type) - return null; - - if (type is not { IsGenericType: true, TypeArguments.Length: 2 }) - return null; - - SupportedType? supported = type switch - { - { Name: "ILookup" } => SupportedType.LookUp, - { Name: "Dictionary" or "IReadOnlyDictionary" or "IDictionary" } => SupportedType.Dictionary, - _ => null - }; - return supported is null - ? null - : new KeyValueGeneric(typeSymbol, type.TypeArguments[0], type.TypeArguments[1], supported.Value); - } -} - -public sealed record SingleGeneric : TypeIdentifier -{ - public enum SupportedType - { - Nullable = 1, - Set = 2, - Array = 3, - ICollection = 4, - IReadOnlyCollection = 5, - IEnumerable = 6, - List = 7 - } - - private SingleGeneric(ITypeSymbol type, ITypeSymbol innerType, in SupportedType supportedType) : base(type) - - { - Type = supportedType; - T = innerType.TypeIdentifier(); - } - - public SupportedType Type { get; } - public TypeIdentifier T { get; } - - public static SingleGeneric? CreateInstance(in ITypeSymbol typeSymbol) - { - if (typeSymbol is IArrayTypeSymbol arrayTypeSymbol) - return new SingleGeneric(typeSymbol, arrayTypeSymbol.ElementType, SupportedType.Array); - - if (typeSymbol is not INamedTypeSymbol type) - return null; - - if (type is not { IsGenericType: true, TypeArguments.Length: 1 }) - return null; - - SupportedType? supported = type switch - { - _ when type.TryGetNullableValueType() is not null => SupportedType.Nullable, - _ when type.OriginalDefinition.ToDisplayString() == "System.Collections.Generic.List" => SupportedType - .List, - { Name: "ISet" } => SupportedType.Set, - _ when type.AllInterfaces.Any(x => x is { Name: "ISet" }) => SupportedType.Set, - { Name: "IReadOnlySet" } => SupportedType.Set, - _ when type.AllInterfaces.Any(x => x is { Name: "IReadOnlySet" }) => SupportedType.Set, - { OriginalDefinition.SpecialType: SpecialType.System_Collections_Generic_ICollection_T } => SupportedType - .ICollection, - _ when type.AllInterfaces.Any(x => x is - { OriginalDefinition.SpecialType: SpecialType.System_Collections_Generic_ICollection_T }) => - SupportedType.ICollection, - { OriginalDefinition.SpecialType: SpecialType.System_Collections_Generic_IReadOnlyCollection_T } => - SupportedType.IReadOnlyCollection, - _ when type.AllInterfaces.Any(x => x is - { OriginalDefinition.SpecialType: SpecialType.System_Collections_Generic_IReadOnlyCollection_T }) => - SupportedType.IReadOnlyCollection, - { OriginalDefinition.SpecialType: SpecialType.System_Collections_Generic_IEnumerable_T } => SupportedType - .IEnumerable, - _ => null - }; - - return supported is null ? null : new SingleGeneric(type, type.TypeArguments[0], supported.Value); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Attributes/DynamoDBMarshallerAttribute.cs b/src/DynamoDBGenerator/Attributes/DynamoDBMarshallerAttribute.cs deleted file mode 100644 index cd4638a6..00000000 --- a/src/DynamoDBGenerator/Attributes/DynamoDBMarshallerAttribute.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -namespace DynamoDBGenerator.Attributes; - -/// -/// Attribute used to source generate an implementation of . -/// -/// -/// The example below demonstrates a console app where this attribute is used: -/// -/// public class Program -/// { -/// public static void Main(string[] args) -/// { -/// var orderEntity = new OrderEntity -/// { -/// Id = "1", -/// Cost = 2.3 -/// }; -/// var attributeValues = OrderEntity.MyCustomPropertyName.Marshall(orderEntity); -/// foreach(var keyValue in attributeValues) -/// { -/// Console.WriteLine(attributeValues); -/// } -/// } -/// } -/// [DynamoDBMarshaller(EntityType = typeof(OrderEntity), AccessName = "MyCustomPropertyName"))] -/// public class OrderEntity -/// { -/// [DynamoDBHashKey] -/// public string Id { get; set; } -/// public decimal Cost { get; set; } -/// } -/// -/// -[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, AllowMultiple = true)] -public class DynamoDBMarshallerAttribute : Attribute -{ - /// - /// Gets or sets the type that will be used for marshalling and unmarshalling. - /// - /// - /// The default value will be the type where the attribute was applied to. - /// - public Type? EntityType { get; set; } - - /// - /// Gets or sets the name for how the marshaller is accessed. - /// - /// - /// - /// The default value will be dependant on the by having the naming format of `{Type.Name}Marshaller` but without the reflection. - /// - /// - /// By default it the marshaller can be accessed as a property, but can be transformed into a method if you add constructor dependencies to - /// - /// - public string? AccessName { get; set; } - - /// - /// Gets or sets the type that - /// will use as its argument type-parameter. - /// - /// - /// The default value will be , this is will make the the generated code be implemented in a PUT oriented manner. - /// - public Type? ArgumentType { get; set; } - -} diff --git a/src/DynamoDBGenerator/Attributes/DynamoDBMarshallerConstructorAttribute.cs b/src/DynamoDBGenerator/Attributes/DynamoDBMarshallerConstructorAttribute.cs deleted file mode 100644 index 25ac7553..00000000 --- a/src/DynamoDBGenerator/Attributes/DynamoDBMarshallerConstructorAttribute.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -namespace DynamoDBGenerator.Attributes; - -/// -/// Attribute used on a constructor to indicate that it should be used for creating instances of the type during the -/// -/// process. -/// -[AttributeUsage(AttributeTargets.Constructor)] -public class DynamoDBMarshallerConstructorAttribute : Attribute -{ -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Attributes/DynamoDbMarshallerOptionsAttribute.cs b/src/DynamoDBGenerator/Attributes/DynamoDbMarshallerOptionsAttribute.cs deleted file mode 100644 index b7c60785..00000000 --- a/src/DynamoDBGenerator/Attributes/DynamoDbMarshallerOptionsAttribute.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using DynamoDBGenerator.Converters; -using DynamoDBGenerator.Options; - -namespace DynamoDBGenerator.Attributes; - -/// -/// -/// Contains options that will be applied for all specified on a -/// . -/// -/// -[AttributeUsage(AttributeTargets.Class)] -public class DynamoDbMarshallerOptionsAttribute : Attribute -{ - /// - /// - /// Sets the converter where the source generator will look for - /// and . - /// - /// - /// The default type is . - /// - /// - public Type? Converters { get; set; } - - /// - /// - /// Sets the conversion strategy will be used for all . - /// - /// - /// The default strategy is . - /// - /// - public EnumConversion EnumConversion { get; set; } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/IAttributeValueConverter.cs b/src/DynamoDBGenerator/Converters/IAttributeValueConverter.cs deleted file mode 100644 index 896ab4af..00000000 --- a/src/DynamoDBGenerator/Converters/IAttributeValueConverter.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.DynamoDBv2.Model; - -namespace DynamoDBGenerator.Converters; - -/// -/// Represents a converter for where must be a value type. -/// -/// -/// The type to convert To and From. -/// -public interface IValueTypeConverter where T : struct -{ - /// - /// A function responsible for converting towards . - /// - /// - /// The value map into . - /// - /// - /// The or . - /// - /// - /// You should return if you're unable to perform the mapping. - /// - public T? Read(AttributeValue attributeValue); - - /// - /// A function responsible for converting towards - /// - /// - /// The value to write into an . - /// - /// - /// A mapped . - /// - public AttributeValue Write(T element); -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/IReferenceTypeConverter.cs b/src/DynamoDBGenerator/Converters/IReferenceTypeConverter.cs deleted file mode 100644 index c471d11f..00000000 --- a/src/DynamoDBGenerator/Converters/IReferenceTypeConverter.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.DynamoDBv2.Model; - -namespace DynamoDBGenerator.Converters; - -/// -/// Represents a converter for where must be a reference type. -/// -/// -/// The type to convert To and From. -/// -public interface IReferenceTypeConverter where T : class -{ - /// - /// A function responsible for converting towards . - /// - /// - /// The value map into . - /// - /// - /// The or . - /// - /// - /// You should return if you're unable to perform the mapping. - /// - public T? Read(AttributeValue attributeValue); - - /// - /// A function responsible for converting towards - /// - /// - /// The value to write into an . - /// - /// - /// A mapped . - /// - public AttributeValue Write(T element); -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/BoolConverter.cs b/src/DynamoDBGenerator/Converters/Internal/BoolConverter.cs deleted file mode 100644 index b39caf09..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/BoolConverter.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class BoolConverter : IValueTypeConverter, IStaticSingleton -{ - private static AttributeValue True { get; } = new() { BOOL = true }; - private static AttributeValue False { get; } = new() { BOOL = false }; - - public bool? Read(AttributeValue attributeValue) - { - return attributeValue.IsBOOLSet ? attributeValue.BOOL : null; - } - - public AttributeValue Write(bool element) - { - return element ? True : False; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/ByteConverter.cs b/src/DynamoDBGenerator/Converters/Internal/ByteConverter.cs deleted file mode 100644 index 3a181302..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/ByteConverter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class ByteConverter : IValueTypeConverter, IStaticSingleton -{ - public byte? Read(AttributeValue attributeValue) - { - return byte.TryParse(attributeValue.N, out var @byte) ? @byte : null; - } - - public AttributeValue Write(byte element) - { - return new AttributeValue { N = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/CharConverter.cs b/src/DynamoDBGenerator/Converters/Internal/CharConverter.cs deleted file mode 100644 index 553eb17a..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/CharConverter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class CharConverter : IValueTypeConverter, IStaticSingleton -{ - public char? Read(AttributeValue attributeValue) - { - return attributeValue.S.Length > 0 ? attributeValue.S[0] : null; - } - - public AttributeValue Write(char element) - { - return new AttributeValue { S = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/DecimalConverter.cs b/src/DynamoDBGenerator/Converters/Internal/DecimalConverter.cs deleted file mode 100644 index eb9d136f..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/DecimalConverter.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Globalization; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class DecimalConverter : IValueTypeConverter, IStaticSingleton -{ - public decimal? Read(AttributeValue attributeValue) - { - return decimal.TryParse(attributeValue.N, out var @decimal) ? @decimal : null; - } - - public AttributeValue Write(decimal element) - { - return new AttributeValue { N = element.ToString(CultureInfo.InvariantCulture) }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/DoubleConverter.cs b/src/DynamoDBGenerator/Converters/Internal/DoubleConverter.cs deleted file mode 100644 index dac95b16..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/DoubleConverter.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Globalization; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class DoubleConverter : IValueTypeConverter, IStaticSingleton -{ - public double? Read(AttributeValue attributeValue) - { - return double.TryParse(attributeValue.N, out var @double) ? @double : null; - } - - public AttributeValue Write(double element) - { - return new AttributeValue { N = element.ToString(CultureInfo.InvariantCulture) }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/FloatConverter.cs b/src/DynamoDBGenerator/Converters/Internal/FloatConverter.cs deleted file mode 100644 index 8c8b3320..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/FloatConverter.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Globalization; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class FloatConverter : IValueTypeConverter, IStaticSingleton -{ - public float? Read(AttributeValue attributeValue) - { - return float.TryParse(attributeValue.N, out var @float) ? @float : null; - } - - public AttributeValue Write(float element) - { - return new AttributeValue { N = element.ToString(CultureInfo.InvariantCulture) }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/GuidConverter.cs b/src/DynamoDBGenerator/Converters/Internal/GuidConverter.cs deleted file mode 100644 index f21ed92d..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/GuidConverter.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class GuidConverter : IValueTypeConverter, IStaticSingleton -{ - public Guid? Read(AttributeValue attributeValue) - { - return Guid.TryParse(attributeValue.S, out var guid) ? guid : null; - - } - - public AttributeValue Write(Guid element) - { - return new AttributeValue { S = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/ISO8601DateOnlyConverter.cs b/src/DynamoDBGenerator/Converters/Internal/ISO8601DateOnlyConverter.cs deleted file mode 100644 index b06caec4..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/ISO8601DateOnlyConverter.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class ISO8601DateOnlyConverter : IValueTypeConverter, IStaticSingleton -{ - public DateOnly? Read(AttributeValue attributeValue) - { - return DateOnly.TryParse(attributeValue.S, out var date) ? date : null; - } - - public AttributeValue Write(DateOnly element) - { - return new AttributeValue { S = element.ToString("O") }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/ISO8601DateTimeConverter.cs b/src/DynamoDBGenerator/Converters/Internal/ISO8601DateTimeConverter.cs deleted file mode 100644 index 4b001550..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/ISO8601DateTimeConverter.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class ISO8601DateTimeConverter : IValueTypeConverter, IStaticSingleton -{ - public DateTime? Read(AttributeValue attributeValue) - { - return DateTime.TryParse(attributeValue.S, out var dateTime) ? dateTime : null; - } - - public AttributeValue Write(DateTime element) - { - return new AttributeValue { S = element.ToString("O") }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/ISO8601DateTimeOffsetConverter.cs b/src/DynamoDBGenerator/Converters/Internal/ISO8601DateTimeOffsetConverter.cs deleted file mode 100644 index ab55e1e3..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/ISO8601DateTimeOffsetConverter.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class ISO8601DateTimeOffsetConverter : IValueTypeConverter, IStaticSingleton -{ - public DateTimeOffset? Read(AttributeValue attributeValue) - { - return DateTimeOffset.TryParse(attributeValue.S, out var dateTimeOffset) - ? dateTimeOffset - : null; - } - - public AttributeValue Write(DateTimeOffset element) - { - return new AttributeValue { S = element.ToString("O") }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/ISO8601TimeOnlyConverter.cs b/src/DynamoDBGenerator/Converters/Internal/ISO8601TimeOnlyConverter.cs deleted file mode 100644 index d0da5687..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/ISO8601TimeOnlyConverter.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal class ISO8601TimeOnlyConverter: IValueTypeConverter, IStaticSingleton -{ - public TimeOnly? Read(AttributeValue attributeValue) - { - return TimeOnly.TryParse(attributeValue.S, out var timeOnly) ? timeOnly : null; - } - - public AttributeValue Write(TimeOnly element) - { - return new AttributeValue {S = element.ToString("O")}; - } -} diff --git a/src/DynamoDBGenerator/Converters/Internal/ISO8601TimeSpanConverter.cs b/src/DynamoDBGenerator/Converters/Internal/ISO8601TimeSpanConverter.cs deleted file mode 100644 index 253de296..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/ISO8601TimeSpanConverter.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Xml; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class ISO8601TimeSpanConverter : IValueTypeConverter, IStaticSingleton -{ - public TimeSpan? Read(AttributeValue attributeValue) - { - var @string = attributeValue.S; - if (string.IsNullOrWhiteSpace(@string)) - return null; - - if (@string[0] is not 'P') - return TimeSpan.TryParse(@string, out var timespan) - ? timespan - : null; - try - { - return XmlConvert.ToTimeSpan(@string); - } - catch - { - return null; - } - } - - public AttributeValue Write(TimeSpan element) - { - return new AttributeValue { S = XmlConvert.ToString(element) }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/Int32Converter.cs b/src/DynamoDBGenerator/Converters/Internal/Int32Converter.cs deleted file mode 100644 index 0bee649a..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/Int32Converter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class Int32Converter : IValueTypeConverter, IStaticSingleton -{ - public int? Read(AttributeValue attributeValue) - { - return int.TryParse(attributeValue.N, out var @int) ? @int : null; - } - - public AttributeValue Write(int element) - { - return new AttributeValue { N = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/LongConverter.cs b/src/DynamoDBGenerator/Converters/Internal/LongConverter.cs deleted file mode 100644 index eac0865e..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/LongConverter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class LongConverter : IValueTypeConverter, IStaticSingleton -{ - public long? Read(AttributeValue attributeValue) - { - return long.TryParse(attributeValue.N, out var @long) ? @long : null; - } - - public AttributeValue Write(long element) - { - return new AttributeValue { N = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/MemoryStreamConverter.cs b/src/DynamoDBGenerator/Converters/Internal/MemoryStreamConverter.cs deleted file mode 100644 index 3b0d9053..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/MemoryStreamConverter.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.IO; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class MemoryStreamConverter : IReferenceTypeConverter, IStaticSingleton -{ - public MemoryStream? Read(AttributeValue attributeValue) - { - return attributeValue.B; - } - - public AttributeValue Write(MemoryStream element) - { - return new AttributeValue { B = element }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/SByteConverter.cs b/src/DynamoDBGenerator/Converters/Internal/SByteConverter.cs deleted file mode 100644 index d9a158a7..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/SByteConverter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class SByteConverter : IValueTypeConverter, IStaticSingleton -{ - public sbyte? Read(AttributeValue attributeValue) - { - return sbyte.TryParse(attributeValue.N, out var @sbyte) ? @sbyte : null; - } - - public AttributeValue Write(sbyte element) - { - return new AttributeValue { N = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/ShortConverter.cs b/src/DynamoDBGenerator/Converters/Internal/ShortConverter.cs deleted file mode 100644 index 0f08daf4..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/ShortConverter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class ShortConverter : IValueTypeConverter, IStaticSingleton -{ - public short? Read(AttributeValue attributeValue) - { - return short.TryParse(attributeValue.N, out var @short) ? @short : null; - } - - public AttributeValue Write(short element) - { - return new AttributeValue { N = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/StringConverter.cs b/src/DynamoDBGenerator/Converters/Internal/StringConverter.cs deleted file mode 100644 index 02cede06..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/StringConverter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class StringConverter : IReferenceTypeConverter, IStaticSingleton -{ - public string? Read(AttributeValue attributeValue) - { - return attributeValue.S; - } - - public AttributeValue Write(string element) - { - return new AttributeValue { S = element }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/UIntConverter.cs b/src/DynamoDBGenerator/Converters/Internal/UIntConverter.cs deleted file mode 100644 index 5c06a4de..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/UIntConverter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class UIntConverter : IValueTypeConverter, IStaticSingleton -{ - public uint? Read(AttributeValue attributeValue) - { - return uint.TryParse(attributeValue.N, out var @uint) ? @uint : null; - } - - public AttributeValue Write(uint element) - { - return new AttributeValue { N = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/ULongConverter.cs b/src/DynamoDBGenerator/Converters/Internal/ULongConverter.cs deleted file mode 100644 index 3010e14c..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/ULongConverter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class ULongConverter : IValueTypeConverter, IStaticSingleton -{ - public ulong? Read(AttributeValue attributeValue) - { - return ulong.TryParse(attributeValue.N, out var @ulong) ? @ulong : null; - } - - public AttributeValue Write(ulong element) - { - return new AttributeValue { N = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Converters/Internal/UShortConverter.cs b/src/DynamoDBGenerator/Converters/Internal/UShortConverter.cs deleted file mode 100644 index 8bee9509..00000000 --- a/src/DynamoDBGenerator/Converters/Internal/UShortConverter.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Reflection.Metadata; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Converters.Internal; - -internal sealed class UShortConverter : IValueTypeConverter, IStaticSingleton -{ - public ushort? Read(AttributeValue attributeValue) - { - return ushort.TryParse(attributeValue.N, out var @ushort) ? @ushort : null; - } - - public AttributeValue Write(ushort element) - { - return new AttributeValue { N = element.ToString() }; - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/DynamoDBGenerator.csproj b/src/DynamoDBGenerator/DynamoDBGenerator.csproj deleted file mode 100644 index a729a544..00000000 --- a/src/DynamoDBGenerator/DynamoDBGenerator.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - net10.0;net8.0 - enable - true - 0.0.0 - DynamoDBGenerator - Robert Andersson - Generate low-level DynamoDB code for any DTO via source generators. - Robert Anderson - https://github.com/inputfalken/DynamoDB.SourceGenerator - MIT - https://github.com/inputfalken/DynamoDB.SourceGenerator - git - true - true - - - - - - diff --git a/src/DynamoDBGenerator/Exceptions/DynamoDBMarshallingException.cs b/src/DynamoDBGenerator/Exceptions/DynamoDBMarshallingException.cs deleted file mode 100644 index 2d97537b..00000000 --- a/src/DynamoDBGenerator/Exceptions/DynamoDBMarshallingException.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -namespace DynamoDBGenerator.Exceptions; - -/// -/// Represents an exception that is thrown when an error occurs during DynamoDB marshalling operations. -/// -public class DynamoDBMarshallingException : InvalidOperationException -{ - /// - /// Initializes a new instance of the class with the specified data member name and error message. - /// - /// The name of the data member associated with the exception. - /// A message that describes the error. - public DynamoDBMarshallingException(string memberName, string message) : base($"{message} (Data member '{memberName}')") - { - MemberName = memberName; - } - - /// - /// Gets the name of the data member associated with the exception. - /// - public string MemberName { get; } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Extensions/DynamoDBMarshallerExtensions.cs b/src/DynamoDBGenerator/Extensions/DynamoDBMarshallerExtensions.cs deleted file mode 100644 index dd27ea6d..00000000 --- a/src/DynamoDBGenerator/Extensions/DynamoDBMarshallerExtensions.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Extensions; - -/// -/// Contains extension methods for -/// -public static class DynamoDBMarshallerExtensions -{ - /// - /// Creates an based on the expressions being built inside - /// The expression can be accessed in the same order as you passed arguments to . - /// - public static IAttributeExpression ToAttributeExpression( - Func entityReferences, - Func argumentReferences, - TArg arg, - params Func[] expressionBuilders - ) - where TReferences : IAttributeExpressionNameTracker - where TArgumentReferences : IAttributeExpressionValueTracker - { - var nameTracker = entityReferences(); - var valueTracker = argumentReferences(); - - var expressions = Expressions(nameTracker, valueTracker, expressionBuilders); - - return new AttributeExpression( - Expressions: expressions, - Values: CreateDictionary(valueTracker.AccessedValues(arg)), - Names: CreateDictionary(nameTracker.AccessedNames()) - ); - - static Dictionary CreateDictionary( - IEnumerable> keyValuePairs) - { - var dict = new Dictionary(); - foreach (var keyValuePair in keyValuePairs) - dict[keyValuePair.Key] = keyValuePair.Value; - - return dict; - } - - static string[] Expressions( - TReferences references, - TArgumentReferences argumentReferences, - Func[] expressionBuilders) - { - var arr = new string[expressionBuilders.Length]; - for (var i = 0; i < expressionBuilders.Length; i++) - arr[i] = expressionBuilders[i](references, argumentReferences); - - return arr; - } - } - - /// - public static IAttributeExpression ToAttributeExpression( - this IDynamoDBMarshaller item, - TArg arg, - params Func[] expressionBuilders - ) - where TReferences : IAttributeExpressionNameTracker - where TArgumentReferences : IAttributeExpressionValueTracker - { - return ToAttributeExpression( - item.AttributeExpressionNameTracker, - item.AttributeExpressionValueTracker, - arg, - expressionBuilders - ); - } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/IAttributeExpression.cs b/src/DynamoDBGenerator/IAttributeExpression.cs deleted file mode 100644 index 5ed32bae..00000000 --- a/src/DynamoDBGenerator/IAttributeExpression.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections.Generic; -using Amazon.DynamoDBv2.Model; -namespace DynamoDBGenerator; - -/// -/// Contains the necessary fields to create AttributeExpressions. -/// -public interface IAttributeExpression -{ - /// - /// Represents Name and values sent to DynamoDB. - /// - public Dictionary Values { get; } - - /// - /// Represents the names of attributes in DynamoDB. - /// - public Dictionary Names { get; } - - /// - /// Represents the expressions. - /// - public IReadOnlyList Expressions { get; } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/IAttributeExpressionNameTracker.cs b/src/DynamoDBGenerator/IAttributeExpressionNameTracker.cs deleted file mode 100644 index 91671c2e..00000000 --- a/src/DynamoDBGenerator/IAttributeExpressionNameTracker.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Collections.Generic; -namespace DynamoDBGenerator; - -/// -/// Represents a tracker for attribute names used in DynamoDB expression. -/// -public interface IAttributeExpressionNameTracker -{ - - /// - /// An whose elements are retrieved when the names have been programmatically accessed. - /// - public IEnumerable> AccessedNames(); -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/IAttributeExpressionValueTracker.cs b/src/DynamoDBGenerator/IAttributeExpressionValueTracker.cs deleted file mode 100644 index 0b47a27e..00000000 --- a/src/DynamoDBGenerator/IAttributeExpressionValueTracker.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Collections.Generic; -using Amazon.DynamoDBv2.Model; -namespace DynamoDBGenerator; - -/// -/// Represents a tracker for attribute values used in DynamoDB expression. -/// -/// The type of argument used in DynamoDB operations. -public interface IAttributeExpressionValueTracker -{ - /// - /// An whose elements are retrieved when the values have been programmatically accessed. - /// - public IEnumerable> AccessedValues(TArgument arg); -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/IDynamoDBKeyMarshaller.cs b/src/DynamoDBGenerator/IDynamoDBKeyMarshaller.cs deleted file mode 100644 index 6814717d..00000000 --- a/src/DynamoDBGenerator/IDynamoDBKeyMarshaller.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Collections.Generic; -using Amazon.DynamoDBv2.Model; -namespace DynamoDBGenerator; - -/// -/// Represents a marshaller responsible for converting .NET based types into a format suitable for DynamoDB. -/// -public interface IDynamoDBKeyMarshaller -{ - /// - /// Marshalls both the and into AttributeValues - /// - /// The partition key to be marshalled. - /// The range key to be marshalled. - /// A Dictionary containing marshalled AttributeValues for both keys. - public Dictionary Keys(object partitionKey, object rangeKey); - - /// - /// Marshalls a partition key into AttributeValues - /// - /// The partition key to be marshalled. - /// A Dictionary containing marshalled AttributeValues for the partition key. - public Dictionary PartitionKey(object key); - - /// - /// Marshalls a range key into AttributeValues - /// - /// The range key to be marshalled. - /// A Dictionary containing marshalled AttributeValues for the range key. - public Dictionary RangeKey(object key); -} - -/// -public interface IDynamoDBIndexKeyMarshaller : IDynamoDBKeyMarshaller -{ - /// - /// Gets the index associated with the marshalling process. - /// - public string Index { get; } -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/IDynamoDBMarshaller.cs b/src/DynamoDBGenerator/IDynamoDBMarshaller.cs deleted file mode 100644 index d6d60c9c..00000000 --- a/src/DynamoDBGenerator/IDynamoDBMarshaller.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System.Collections.Generic; -using Amazon.DynamoDBv2.Model; -namespace DynamoDBGenerator; - -/// -/// Represents a marshaller responsible for converting objects of type and -/// into a containing AttributeValues. -/// -/// The type of entity to be marshalled. -/// The type of argument used for marshalling. -/// The type for tracking attribute names related to . -/// The type for tracking argument attribute values related to . -public interface IDynamoDBMarshaller - where TEntityAttributeNameTracker : IAttributeExpressionNameTracker - where TArgumentAttributeValueTracker : IAttributeExpressionValueTracker -{ - /// - /// Creates a tracker for managing argument attribute values of type for DynamoDB operations. - /// - /// A tracker for argument attribute values. - public TArgumentAttributeValueTracker AttributeExpressionValueTracker(); - - /// - /// Creates a tracker for managing attribute names related to . - /// - /// A tracker for attribute names. - public TEntityAttributeNameTracker AttributeExpressionNameTracker(); - - /// - /// Marshals an object of type into a collection of AttributeValues. - /// - /// The entity to be serialized. - /// A Dictionary containing AttributeValues. - public Dictionary Marshall(TEntity entity); - - /// - /// Unmarshalls a collection of AttributeValues into an object of type . - /// - /// The AttributeValues to be deserialized. - /// An object of type . - public TEntity Unmarshall(Dictionary attributes); - - /// - public IDynamoDBKeyMarshaller PrimaryKeyMarshaller { get; } - - /// - public IDynamoDBIndexKeyMarshaller IndexKeyMarshaller(string index); -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Internal/AttributeExpression.cs b/src/DynamoDBGenerator/Internal/AttributeExpression.cs deleted file mode 100644 index 4dfa200b..00000000 --- a/src/DynamoDBGenerator/Internal/AttributeExpression.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.Collections.Generic; -using Amazon.DynamoDBv2.Model; -namespace DynamoDBGenerator.Internal; - -internal sealed record AttributeExpression(Dictionary Values, Dictionary Names, IReadOnlyList Expressions) : IAttributeExpression -{ - public Dictionary Values { get; } = Values; - public Dictionary Names { get; } = Names; - public IReadOnlyList Expressions { get; } = Expressions; -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Internal/DynamoDBKeyMarshallerDelegator.cs b/src/DynamoDBGenerator/Internal/DynamoDBKeyMarshallerDelegator.cs deleted file mode 100644 index efc2014a..00000000 --- a/src/DynamoDBGenerator/Internal/DynamoDBKeyMarshallerDelegator.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using Amazon.DynamoDBv2.Model; -namespace DynamoDBGenerator.Internal; - -/// -/// This is an internal API that supports the source generator and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new version. -/// -public sealed class DynamoDBKeyMarshallerDelegator : IDynamoDBKeyMarshaller -{ -#pragma warning disable CS1591 - private readonly Func> _implementation; - public DynamoDBKeyMarshallerDelegator(Func> implementation) => _implementation = implementation; - public Dictionary Keys(object partitionKey, object rangeKey) => _implementation(partitionKey, rangeKey, true, true, null); - public Dictionary PartitionKey(object key) => _implementation(key, null, true, false, null); - public Dictionary RangeKey(object key) => _implementation(null, key, false, true, null); -#pragma warning restore CS1591 -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Internal/DynamoExpressionValueIncrementer.cs b/src/DynamoDBGenerator/Internal/DynamoExpressionValueIncrementer.cs deleted file mode 100644 index 0327cd6f..00000000 --- a/src/DynamoDBGenerator/Internal/DynamoExpressionValueIncrementer.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace DynamoDBGenerator.Internal; - -/// -/// This is an internal API that supports the source generator and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new version. -/// -public struct DynamoExpressionValueIncrementer -{ -#pragma warning disable CS1591 - private int _current; - - public string GetNext() - { - unchecked - { - return $":p{++_current}"; - } - } -#pragma warning restore CS1591 -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Internal/ExceptionHelper.cs b/src/DynamoDBGenerator/Internal/ExceptionHelper.cs deleted file mode 100644 index 0845f7fe..00000000 --- a/src/DynamoDBGenerator/Internal/ExceptionHelper.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using DynamoDBGenerator.Exceptions; -namespace DynamoDBGenerator.Internal; - -/// -/// This is an internal API that supports the source generator and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new version. -/// -public static class ExceptionHelper -{ -#pragma warning disable CS1591 - public static DynamoDBMarshallingException NotNull(string? memberName) - { - return new DynamoDBMarshallingException(memberName ?? "", "The data member is not supposed to be null, to allow this; make the data member nullable."); - } - - public static DynamoDBMarshallingException KeysArgumentNotNull(string memberName, string argumentName) - { - return new DynamoDBMarshallingException(memberName, $"Argument '{argumentName}' can not be null."); - } - - public static DynamoDBMarshallingException KeysInvalidConversion(string memberName, string argumentName, object value, string expectedType) - { - return new DynamoDBMarshallingException(memberName, $"Value '{{{value}}}' from argument '{argumentName}' is not convertable to '{expectedType}'."); - } - - public static InvalidOperationException KeysValueWithNoCorrespondence(string argumentName, object value) - { - return new InvalidOperationException($"Value '{value}' from argument '{argumentName}' was provided but there's no corresponding DynamoDBKeyAttribute."); - } - - public static InvalidOperationException MissingDynamoDBAttribute(object? pkReference, object? rkReference) - { - return new InvalidOperationException($"Unable to create keys with the provided arguments (PartitionKey: {{{pkReference}}}, RangeKey: {{{rkReference}}}) due to missing DynamoDBKeyAttributes."); - } - - public static InvalidOperationException NoDynamoDBAttributes(string typeName) - { - return new InvalidOperationException($"Could not create keys for type '{typeName}', include DynamoDBKeyAttribute on the correct properties."); - } - - public static Exception ShouldNeverHappen() - { - return new Exception("Should never happen."); - } - - public static ArgumentOutOfRangeException MissMatchedIndex(string paramName, string value) - { - return new ArgumentOutOfRangeException(paramName, $"Could not find any index match for value '{value}'."); - } -#pragma warning restore CS1591 -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Internal/IndexDynamoDBMarshallerDelegator.cs b/src/DynamoDBGenerator/Internal/IndexDynamoDBMarshallerDelegator.cs deleted file mode 100644 index 3f752485..00000000 --- a/src/DynamoDBGenerator/Internal/IndexDynamoDBMarshallerDelegator.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using Amazon.DynamoDBv2.Model; -namespace DynamoDBGenerator.Internal; - -/// -/// This is an internal API that supports the source generator and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new version. -/// -public sealed class IndexDynamoDBMarshallerDelegator : IDynamoDBIndexKeyMarshaller -{ -#pragma warning disable CS1591 - private readonly Func> _implementation; - public IndexDynamoDBMarshallerDelegator(Func> implementation, string index) - { - _implementation = implementation; - Index = index; - } - public Dictionary Keys(object partitionKey, object rangeKey) => _implementation(partitionKey, rangeKey, true, true, Index); - public Dictionary PartitionKey(object key) => _implementation(key, null, true, false, Index); - public Dictionary RangeKey(object key) => _implementation(null, key, false, true, Index); - - /// - /// Gets the index provided. - /// - public string Index { get; } -#pragma warning restore CS1591 -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Internal/MarshallHelper.cs b/src/DynamoDBGenerator/Internal/MarshallHelper.cs deleted file mode 100644 index b32a3c61..00000000 --- a/src/DynamoDBGenerator/Internal/MarshallHelper.cs +++ /dev/null @@ -1,527 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Numerics; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using Amazon.DynamoDBv2.Model; - -namespace DynamoDBGenerator.Internal; - -/// -/// This is an internal API that supports the source generator and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new version. -/// -public static class MarshallHelper -{ -#pragma warning disable CS1591 - public static AttributeValue Null { get; } = new() { NULL = true }; - - [return: NotNullIfNotNull(nameof(dict))] - public static AttributeValue? ToAttributeValue( - [NotNullIfNotNull(nameof(dict))] Dictionary? dict - ) - { - return dict is null - ? null - : new AttributeValue { M = dict }; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static AttributeValue? GetAttributeValueOrNull(Dictionary dict, string key) - { - ref readonly var attributeValue = ref CollectionsMarshal.GetValueRefOrNullRef(dict, key); - - return Unsafe.IsNullRef(in attributeValue) - ? null - : attributeValue; - } - - public static AttributeValue FromDictionary( - IEnumerable> dictionary, - TArgument argument, - string? dataMember, - Func resultSelector) - { - Dictionary dict; - if (dictionary.TryGetNonEnumeratedCount(out var count)) - { - if (count is 0) - return new AttributeValue { M = [] }; - - dict = new Dictionary(count); - } - else - dict = []; - - foreach (var (key, value) in dictionary) - dict[key] = resultSelector(value, argument, $"{dataMember}[{key}]"); - - return new AttributeValue { M = dict }; - } - - public static AttributeValue FromNullableNumberSet(IEnumerable numbers, string? _) - where T : struct, INumber - { - if (numbers.TryGetNonEnumeratedCount(out var count) is false) - return new AttributeValue - { - NS = numbers.Select(number => number?.ToString()).ToList() - }; - - if (count is 0) - return new AttributeValue { NS = [] }; - - var list = new List(count); - list.AddRange(numbers.Select(number => number?.ToString())); - - return new AttributeValue { NS = list }; - } - - public static AttributeValue FromNumberSet(IEnumerable numbers, string? dataMember) - where T : struct, INumber - { - if (numbers.TryGetNonEnumeratedCount(out var count) is false) - { - var noCapacity = new List(); - - foreach (var number in numbers) - { - var @string = number.ToString(); - if (string.IsNullOrEmpty(@string)) - throw ExceptionHelper.NotNull($"{dataMember}[UNKNOWN]"); - - noCapacity.Add(@string); - } - - return new AttributeValue { NS = noCapacity }; - } - - if (count is 0) - return new AttributeValue { NS = [] }; - - var list = new List(count); - - foreach (var number in numbers) - { - var @string = number.ToString(); - if (string.IsNullOrEmpty(@string)) - throw ExceptionHelper.NotNull($"{dataMember}[UNKNOWN]"); - - list.Add(@string); - } - - return new AttributeValue { NS = list }; - } - - public static AttributeValue FromNullableStringSet(IEnumerable strings, string? _) - { - if (strings.TryGetNonEnumeratedCount(out var count) is false) - return new AttributeValue { SS = strings.ToList() }; - - if (count is 0) - return new AttributeValue { SS = [] }; - - var list = new List(count); - list.AddRange(strings); - - return new AttributeValue { SS = list }; - } - - public static AttributeValue FromStringSet(IEnumerable strings, string? dataMember) - { - if (strings.TryGetNonEnumeratedCount(out var count) is false) - { - var list = new List(); - foreach (var @string in strings) - { - if (@string is null) - throw ExceptionHelper.NotNull($"{dataMember}[UNKNOWN]"); - list.Add(@string); - } - - return new AttributeValue { SS = list }; - } - else - { - if (count is 0) - return new AttributeValue { SS = [] }; - - var list = new List(count); - - foreach (var @string in strings) - list.Add(@string ?? throw ExceptionHelper.NotNull($"{dataMember}[UNKNOWN]")); - - return new AttributeValue { SS = list }; - } - } - - private static TSet ToStringSet( - List numbers, - Func factory, - string? dataMember - ) - where TSet : ICollection - { - var span = CollectionsMarshal.AsSpan(numbers); - var set = factory(span.Length); - - foreach (var @string in span) - { - if (@string is null) - throw ExceptionHelper.NotNull($"{dataMember}[UNKNOWN]"); - - set.Add(@string); - } - - return set; - } - - private static TSet ToNullableStringSet( - List numbers, - Func factory, - string? _ - ) - where TSet : ICollection - { - var span = CollectionsMarshal.AsSpan(numbers); - var set = factory(span.Length); - - foreach (var @string in span) - set.Add(@string); - - return set; - } - - private static TSet ToNumberSet( - List numbers, - Func factory, - string? dataMember - ) - where TSet : ICollection - where TNumber : struct, INumber - { - var span = CollectionsMarshal.AsSpan(numbers); - var set = factory(span.Length); - - foreach (var number in span) - { - if (number is null) - throw ExceptionHelper.NotNull($"{dataMember}[UNKNOWN]"); - - set.Add(TNumber.Parse(number, null)); - } - - return set; - } - - private static TSet ToNullableNumberSet( - List numbers, - Func factory, - string? _ - ) - where TSet : ICollection - where TNumber : struct, INumber - { - var span = CollectionsMarshal.AsSpan(numbers); - var set = factory(span.Length); - - foreach (var number in span) - { - if (number is null) - set.Add(null); - else - set.Add(TNumber.Parse(number, null)); - } - - return set; - } - - public static ISet ToStringISet(List ss, string? dataMember) - { - return ToStringSet>(ss, i => new HashSet(i), dataMember); - } - - public static IReadOnlySet ToStringIReadOnlySet(List ss, string? dataMember) - { - return ToStringSet>(ss, i => new HashSet(i), dataMember); - } - - public static HashSet ToStringHashSet(List ss, string? dataMember) - { - return ToStringSet>(ss, i => new HashSet(i), dataMember); - } - - public static ISet ToNullableStringISet(List ss, string? dataMember) - { - return ToNullableStringSet>(ss, i => new HashSet(i), dataMember); - } - - public static IReadOnlySet ToNullableStringIReadOnlySet(List ss, string? dataMember) - { - return ToNullableStringSet>(ss, i => new HashSet(i), dataMember); - } - - public static HashSet ToNullableStringHashSet(List ss, string? dataMember) - { - return ToNullableStringSet>(ss, i => new HashSet(i), dataMember); - } - - public static SortedSet ToNullableStringSortedSet(List ss, string? _) - { - var span = CollectionsMarshal.AsSpan(ss); - var set = new SortedSet(); - foreach (var se in span) - set.Add(se); - - return set; - } - - public static SortedSet ToStringSortedSet(List ss, string? dataMember) - { - var span = CollectionsMarshal.AsSpan(ss); - var set = new SortedSet(); - foreach (var se in span) - { - if (se is null) - throw ExceptionHelper.NotNull($"{dataMember}[UNKNOWN]"); - - set.Add(se); - } - - return set; - } - - public static ISet ToNumberISet(List ns, string? dataMember) - where TNumber : struct, INumber - { - return ToNumberSet>(ns, i => new HashSet(i), dataMember); - } - - public static IReadOnlySet ToNumberIReadOnlySet(List ns, string? dataMember) - where TNumber : struct, INumber - { - return ToNumberSet>(ns, i => new HashSet(i), dataMember); - } - - public static HashSet ToNumberHashSet(List ss, string? dataMember) - where TNumber : struct, INumber - { - return ToNumberSet>(ss, i => new HashSet(i), dataMember); - } - - public static SortedSet ToNumberSortedSet(List ns, string? dataMember) - where TNumber : struct, INumber - { - var span = CollectionsMarshal.AsSpan(ns); - var set = new SortedSet(); - foreach (var se in span) - { - if (se is null) - throw ExceptionHelper.NotNull($"{dataMember}[UNKNOWN]"); - - set.Add(TNumber.Parse(se, null)); - } - - return set; - } - - public static ISet ToNullableNumberISet(List ns, string? dataMember) - where TNumber : struct, INumber - { - return ToNullableNumberSet>(ns, i => new HashSet(i), dataMember); - } - - public static IReadOnlySet ToNullableNumberIReadOnlySet(List ns, string? dataMember) - where TNumber : struct, INumber - { - return ToNullableNumberSet>(ns, i => new HashSet(i), dataMember); - } - - public static HashSet ToNullableNumberHashSet(List ns, string? dataMember) - where TNumber : struct, INumber - { - return ToNullableNumberSet>(ns, i => new HashSet(i), dataMember); - } - - public static SortedSet ToNullableNumberSortedSet(List ns, string? _) - where TNumber : struct, INumber - { - return new SortedSet(ns.Select(x => x is null ? (TNumber?)null : TNumber.Parse(x, null))); - } - - public static ILookup ToLookup( - Dictionary dictionary, - TArgument argument, - string? dataMember, - Func resultSelector - ) - { - return Iterator(dictionary, argument, dataMember, resultSelector) - .ToLookup(static x => x.Key, static x => x.Value); - - static IEnumerable> Iterator( - Dictionary dictionary, - TArgument argument, - string? dataMember, - Func resultSelector - ) - { - foreach (var (key, (attributeValue, i)) in dictionary.SelectMany( - static x => x.Value.L.Select(static (x, i) => (x, y: i)), static (x, y) => (x.Key, y))) - yield return new KeyValuePair(key, - resultSelector(attributeValue, argument, $"{dataMember}[{key}][{i}]")); - } - } - - public static AttributeValue FromLookup( - ILookup lookup, - TArgument argument, - string? dataMember, - Func resultSelector - ) - { - var attributeValues = new Dictionary(lookup.Count); - - foreach (var grouping in lookup) - attributeValues[grouping.Key] = - FromEnumerable(grouping, argument, $"{dataMember}[{grouping.Key}]", resultSelector); - - return new AttributeValue { M = attributeValues }; - } - - public static Dictionary ToDictionary( - IReadOnlyDictionary dictionary, - TArgument argument, - string? dataMember, - Func resultSelector) - { - if (dictionary.Count is 0) - return []; - - var elements = new Dictionary(dictionary.Count); - - foreach (var (key, value) in dictionary) - elements[key] = resultSelector(value, argument, $"{dataMember}[{key}]"); - - return elements; - } - - public static AttributeValue FromArray( - T[] array, - TArgument argument, - string? dataMember, - Func resultSelector) - { - var span = array.AsSpan(); - if (span.Length is 0) - return new AttributeValue { L = [] }; - var attributeValues = new List(span.Length); - for (var i = 0; i < span.Length; i++) - attributeValues.Add(resultSelector(span[i], argument, $"{dataMember}[{i}]")); - - return new AttributeValue { L = attributeValues }; - } - - public static AttributeValue FromList( - List list, - TArgument argument, - string? dataMember, - Func resultSelector) - { - var span = CollectionsMarshal.AsSpan(list); - if (span.Length is 0) - return new AttributeValue { L = [] }; - - var attributeValues = new List(span.Length); - for (var i = 0; i < span.Length; i++) - attributeValues.Add(resultSelector(span[i], argument, $"{dataMember}[{i}]")); - - return new AttributeValue { L = attributeValues }; - } - - public static AttributeValue FromEnumerable( - IEnumerable enumerable, - TArgument argument, - string? dataMember, - Func resultSelector) - { - if (enumerable.TryGetNonEnumeratedCount(out var count) is false) - return new AttributeValue - { - L = [..enumerable.Select((element, i) => resultSelector(element, argument, $"{dataMember}[{i}]"))] - }; - - if (count == 0) - return new AttributeValue { L = [] }; - - var list = new List(count); - foreach (var (element, i) in enumerable.Select((x, y) => (x, y))) - list.Add(resultSelector(element, argument, $"{dataMember}[{i}]")); - - return new AttributeValue { L = list }; - } - - public static List ToList( - List attributeValues, - TArgument argument, - string? dataMember, - Func resultSelector - ) - { - var span = CollectionsMarshal.AsSpan(attributeValues); - if (span.Length is 0) - return []; - - var elements = new List(span.Length); - for (var i = 0; i < span.Length; i++) - elements.Add(resultSelector(span[i], argument, $"{dataMember}[{i}]")); - - return elements; - } - - public static IEnumerable ToEnumerable( - List attributeValues, - TArgument argument, - string? dataMember, - Func resultSelector - ) - { - return attributeValues.Count is 0 - ? [] - : Iterator(attributeValues, argument, dataMember, resultSelector); - - static IEnumerable Iterator( - List list, - TArgument argument, - string? dataMember, - Func resultSelector - ) - { - for (var i = 0; i < list.Count; i++) - yield return resultSelector(list[i], argument, $"{dataMember}[{i}]"); - } - } - - public static TResult[] ToArray( - List attributeValues, - TArgument argument, - string? dataMember, - Func resultSelector - ) - { - var span = CollectionsMarshal.AsSpan(attributeValues); - if (span.Length is 0) - return []; - - var elements = new TResult[span.Length]; - for (var i = 0; i < span.Length; i++) - elements[i] = resultSelector(span[i], argument, $"{dataMember}[{i}]"); - - return elements; - } -#pragma warning restore CS1591 -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Internal/Singleton.cs b/src/DynamoDBGenerator/Internal/Singleton.cs deleted file mode 100644 index 1631da18..00000000 --- a/src/DynamoDBGenerator/Internal/Singleton.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace DynamoDBGenerator.Internal; - -internal interface IStaticSingleton where T : new() -{ - private static T? _backingField; - internal static virtual T Singleton => _backingField ??= new T(); -} - -internal static class Singleton -{ - public static T Static() where T : IStaticSingleton, new() => T.Singleton; -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Options/AttributeValueConverters.cs b/src/DynamoDBGenerator/Options/AttributeValueConverters.cs deleted file mode 100644 index 8ba1a223..00000000 --- a/src/DynamoDBGenerator/Options/AttributeValueConverters.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System; -using System.IO; -using DynamoDBGenerator.Converters; -using DynamoDBGenerator.Converters.Internal; -using DynamoDBGenerator.Internal; - -namespace DynamoDBGenerator.Options; - -/// -/// Contains the default AttributeValue Converters. -/// You can inherit from this class in order to extend the default behaviour. -/// -public class AttributeValueConverters -{ - /// - /// The converter. - /// - public IReferenceTypeConverter StringConverter { get; protected init; } = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter DateTimeConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter DateTimeOffsetConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter BoolConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter CharConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IReferenceTypeConverter MemoryStreamConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter Int32Converter { get; protected init; } = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter DecimalConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter DoubleConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter FloatConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter LongConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter ULongConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter UIntConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter SbyteConverter { get; protected init; } = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter ShortConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter ByteConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter UShortConverter { get; protected init;} = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter DateOnlyConverter { get; protected init; } = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter TimeOnlyConverter { get; protected init; } = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter TimeSpanConverter { get; protected init; } = Singleton.Static(); - - /// - /// The converter. - /// - public IValueTypeConverter GuidConverter { get; protected init; } = Singleton.Static(); -} \ No newline at end of file diff --git a/src/DynamoDBGenerator/Options/EnumConversion.cs b/src/DynamoDBGenerator/Options/EnumConversion.cs deleted file mode 100644 index f53b0355..00000000 --- a/src/DynamoDBGenerator/Options/EnumConversion.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; - -namespace DynamoDBGenerator.Options; - -/// -/// The strategy to persist and read . -/// -public enum EnumConversion -{ - /// - /// - /// Use the underlying value. - /// - /// - Integer = 1, - - /// - /// - /// Use the name representation by calling . - /// - /// - /// This will be case sensitive when parsing the . - /// - /// - Name = 2, - - /// - /// - /// Use the name representation by calling . - /// - /// - /// This will be case insensitive when parsing the . - /// - /// - CaseInsensitiveName = 3, - - /// - /// - /// Use the name representation by calling followed by - /// . - /// - /// - /// This will be case insensitive when parsing the . - /// - /// - LowerCaseName = 4, - - /// - /// - /// Use the name representation by calling followed by - /// . - /// - /// - /// This will be case insensitive when parsing the . - /// - /// - UpperCaseName = 5 -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Container.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Container.cs deleted file mode 100644 index 6a2a5d64..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Container.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks; - -public sealed record Container(T Value); \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Dtos/PersonBenchmarker.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Dtos/PersonBenchmarker.cs deleted file mode 100644 index fb3fc6ee..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Dtos/PersonBenchmarker.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Dtos; - -//[SimpleJob(RuntimeMoniker.Net80)] -//[MemoryDiagnoser] -//public class PersonBenchmarker() : MarshalBenchmarker( -// PersonEntity.PersonEntityMarshaller.Marshall, -// PersonEntity.PersonEntityMarshaller.Unmarshall -//); \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/CollectionBenchmarks.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/CollectionBenchmarks.cs deleted file mode 100644 index a1d0139e..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/CollectionBenchmarks.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using BenchmarkDotNet.Attributes; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions.Types; - -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling; - -[DynamoDBMarshaller(EntityType = typeof(Container>), AccessName = "DictionaryMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container>), AccessName = "StringHashSetMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container>), AccessName = "ListMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container>), AccessName = "IntHashSetMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container>>), AccessName = "KeyValuePairListMarshaller")] -public partial class CollectionBenchmarks -{ - private readonly DynamoDbMarshallerBenchmarkHelper>, Container>, ContainerDictionarystringintNames, ContainerDictionarystringintValues> _dictionary = DictionaryMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper>, Container>, ContainerHashSetstringNames, ContainerHashSetstringValues> _stringHashSet = StringHashSetMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper>, Container>, ContainerListstringNames, ContainerListstringValues> _stringList = ListMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper>, Container>, ContainerHashSetintNames, ContainerHashSetintValues> _intHashSet = IntHashSetMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper>>, Container>>, ContainerListKeyValuePairstringintNames, ContainerListKeyValuePairstringintValues> _keyValuePairList = KeyValuePairListMarshaller.ToBenchmarkHelper(); - - [Benchmark] - public Container> Unmarshall_Dictionary() => _dictionary.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Dictionary() => _dictionary.Marshall(); - - [Benchmark] - public Container> Unmarshall_StringHashSet() => _stringHashSet.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_StringHashSet() => _stringHashSet.Marshall(); - - [Benchmark] - public Container> Unmarshall_StringList() => _stringList.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_StringList() => _stringList.Marshall(); - - [Benchmark] - public Container> Unmarshall_IntHashSet() => _intHashSet.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_IntHashSet() => _intHashSet.Marshall(); - - [Benchmark] - public Container>> Unmarshall_KeyValuePairList() => _keyValuePairList.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_KeyValuePairList() => _keyValuePairList.Marshall(); -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/ComparisonBenchmarks.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/ComparisonBenchmarks.cs deleted file mode 100644 index 492943f3..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/ComparisonBenchmarks.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using BenchmarkDotNet.Attributes; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions.Types; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Models; - -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling; - -[DynamoDBMarshaller(EntityType = typeof(Person))] -public partial class ComparisonBenchmarks -{ - private readonly AWSComparisonBenchmarkHelper _marshaller = - PersonMarshaller.ToAwsComparisonHelper(); - - [Benchmark] - public Person Unmarshall_Person_DTO() => _marshaller.Unmarshall(); - - [Benchmark] - public Person Amazon_Unmarshall_Person_DTO() => _marshaller.Unmarshall_AWS(); - - [Benchmark] - public Dictionary Marshall_Person_DTO() => _marshaller.Marshall(); - - [Benchmark] - public Dictionary Amazon_Marshall_Person_DTO() => _marshaller.Marshall_AWS(); -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Extensions.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Extensions.cs deleted file mode 100644 index 82a490ae..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Extensions.cs +++ /dev/null @@ -1,20 +0,0 @@ -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions.Types; - -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions; - -public static class Extensions -{ - public static DynamoDbMarshallerBenchmarkHelper ToBenchmarkHelper( - this IDynamoDBMarshaller marshaller) where T3 : IAttributeExpressionNameTracker - where T4 : IAttributeExpressionValueTracker - { - return new DynamoDbMarshallerBenchmarkHelper(marshaller); - } - - public static AWSComparisonBenchmarkHelper ToAwsComparisonHelper( - this IDynamoDBMarshaller marshaller) where T3 : IAttributeExpressionNameTracker - where T4 : IAttributeExpressionValueTracker - { - return new AWSComparisonBenchmarkHelper(marshaller); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Types/AWSComparisonBenchmarkHelper.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Types/AWSComparisonBenchmarkHelper.cs deleted file mode 100644 index ed4d393d..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Types/AWSComparisonBenchmarkHelper.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System.Runtime.CompilerServices; -using Amazon; -using Amazon.DynamoDBv2; -using Amazon.DynamoDBv2.DataModel; -using Amazon.DynamoDBv2.Model; -using AutoFixture; - -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions.Types; - -public class AWSComparisonBenchmarkHelper - where T4 : IAttributeExpressionValueTracker - where T3 : IAttributeExpressionNameTracker -{ - private readonly IDynamoDBMarshaller _marshaller; - private readonly T _element; - private readonly Dictionary _attributeValues; - - private readonly DynamoDBContext _context; - - private readonly ToDocumentConfig _dynamoDbOperationConfig; - - public AWSComparisonBenchmarkHelper(IDynamoDBMarshaller marshaller) - { - _marshaller = marshaller; - _element = SetupFixture().Create(); - _attributeValues = marshaller.Marshall(_element); - _dynamoDbOperationConfig = new ToDocumentConfig { Conversion = DynamoDBEntryConversion.V2 }; - _context = new DynamoDBContextBuilder() - .WithDynamoDBClient(() => new AmazonDynamoDBClient(RegionEndpoint.EUWest1)) - .Build(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public T Unmarshall() => _marshaller.Unmarshall(_attributeValues); - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Dictionary Marshall() => _marshaller.Marshall(_element); - - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Dictionary Marshall_AWS() => _context - .ToDocument(_element, _dynamoDbOperationConfig) - .ToAttributeMap(_dynamoDbOperationConfig.Conversion); - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public T Unmarshall_AWS() => - _context.FromDocument(Amazon.DynamoDBv2.DocumentModel.Document.FromAttributeMap(_attributeValues)); - - private static Fixture SetupFixture() - { - var fixture = new Fixture(); - fixture.Customize(o => o.FromFactory((DateTime dt) => DateOnly.FromDateTime(dt))); - fixture.Customize(o => o.FromFactory((DateTime dt) => TimeOnly.FromDateTime(dt))); - // Allow recursive types - fixture.Behaviors - .OfType() - .ToList() - .ForEach(b => fixture.Behaviors.Remove(b)); - fixture.Behaviors.Add(new OmitOnRecursionBehavior()); - return fixture; - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Types/DynamoDbMarshallerBenchmarkHelper.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Types/DynamoDbMarshallerBenchmarkHelper.cs deleted file mode 100644 index 92a38861..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/Extensions/Types/DynamoDbMarshallerBenchmarkHelper.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.Runtime.CompilerServices; -using Amazon.DynamoDBv2.Model; -using AutoFixture; - -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions.Types; - -public class DynamoDbMarshallerBenchmarkHelper - where T4 : IAttributeExpressionValueTracker - where T3 : IAttributeExpressionNameTracker -{ - private readonly IDynamoDBMarshaller _marshaller; - private readonly T _element; - private readonly Dictionary _attributeValues; - - public DynamoDbMarshallerBenchmarkHelper(IDynamoDBMarshaller marshaller) - { - _marshaller = marshaller; - _element = SetupFixture().Create(); - _attributeValues = marshaller.Marshall(_element); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public T Unmarshall() => _marshaller.Unmarshall(_attributeValues); - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Dictionary Marshall() => _marshaller.Marshall(_element); - - private static Fixture SetupFixture() - { - var fixture = new Fixture(); - fixture.Customize(o => o.FromFactory((DateTime dt) => DateOnly.FromDateTime(dt))); - fixture.Customize(o => o.FromFactory((DateTime dt) => TimeOnly.FromDateTime(dt))); - // Allow recursive types - fixture.Behaviors - .OfType() - .ToList() - .ForEach(b => fixture.Behaviors.Remove(b)); - fixture.Behaviors.Add(new OmitOnRecursionBehavior()); - return fixture; - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/PrimitiveBenchmarks.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/PrimitiveBenchmarks.cs deleted file mode 100644 index 05222bd9..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/PrimitiveBenchmarks.cs +++ /dev/null @@ -1,91 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using BenchmarkDotNet.Attributes; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions.Types; - -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling; - -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "BooleanMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "CharMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "Int32Marshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "Int64Marshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "StringMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "UInt32Marshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "UInt64Marshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "GuidMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "EnumMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "DoubleMarshaller")] -public partial class PrimitiveBenchmarks -{ - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerboolNames, ContainerboolValues> _bool = BooleanMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainercharNames, ContainercharValues> _char = CharMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerintNames, ContainerintValues> _int = Int32Marshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerlongNames, ContainerlongValues> _long = Int64Marshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerstringNames, ContainerstringValues> _string = StringMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContaineruintNames, ContaineruintValues> _uint = UInt32Marshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerulongNames, ContainerulongValues> _ulong = UInt64Marshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerGuidNames, ContainerGuidValues> _guid = GuidMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerDayOfWeekNames, ContainerDayOfWeekValues> _enum = EnumMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerdoubleNames, ContainerdoubleValues> _double = DoubleMarshaller.ToBenchmarkHelper(); - - [Benchmark] - public Container Unmarshall_Bool() => _bool.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Bool() => _bool.Marshall(); - - [Benchmark] - public Container Unmarshall_Char() => _char.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Char() => _char.Marshall(); - - [Benchmark] - public Container Unmarshall_Int32() => _int.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Int() => _int.Marshall(); - - [Benchmark] - public Container Unmarshall_Int64() => _long.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Int64() => _long.Marshall(); - - [Benchmark] - public Container Unmarshall_String() => _string.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_String() => _string.Marshall(); - - [Benchmark] - public Container Unmarshall_UInt32() => _uint.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_UInt32() => _uint.Marshall(); - - [Benchmark] - public Container Unmarshall_UInt64() => _ulong.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Uint64() => _ulong.Marshall(); - - [Benchmark] - public Container Unmarshall_Guid() => _guid.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Guid() => _guid.Marshall(); - - [Benchmark] - public Container Unmarshall_Enum() => _enum.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Enum() => _enum.Marshall(); - - [Benchmark] - public Container Unmarshall_Double() => _double.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_Double() => _double.Marshall(); -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/TemporalBenchmarks.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/TemporalBenchmarks.cs deleted file mode 100644 index 8b4d4121..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Benchmarks/Marshalling/TemporalBenchmarks.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using BenchmarkDotNet.Attributes; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling.Extensions.Types; - -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling; - -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "DateTimeMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "DateTimeOffsetMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "DateOnlyMarshaller")] -[DynamoDBMarshaller(EntityType = typeof(Container), AccessName = "TimeOnlyMarshaller")] -public partial class TemporalBenchmarks -{ - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerDateTimeNames, ContainerDateTimeValues> _dateTime = DateTimeMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerDateTimeOffsetNames, ContainerDateTimeOffsetValues> _dateTimeOffset = DateTimeOffsetMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerDateOnlyNames, ContainerDateOnlyValues> _dateOnly = DateOnlyMarshaller.ToBenchmarkHelper(); - private readonly DynamoDbMarshallerBenchmarkHelper, Container, ContainerTimeOnlyNames, ContainerTimeOnlyValues> _timeOnly = TimeOnlyMarshaller.ToBenchmarkHelper(); - - [Benchmark] - public Container Unmarshall_TimeOnly() => _timeOnly.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_TimeOnly() => _timeOnly.Marshall(); - - [Benchmark] - public Container Unmarshall_DateOnly() => _dateOnly.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_DateOnly() => _dateOnly.Marshall(); - - [Benchmark] - public Container Unmarshall_DateTimeOffset() => _dateTimeOffset.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_DateTimeOffset() => _dateTimeOffset.Marshall(); - - [Benchmark] - public Container Unmarshall_DateTime() => _dateTime.Unmarshall(); - - [Benchmark] - public Dictionary Marshall_DateTime() => _dateTime.Marshall(); -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/DynamoDBGenerator.SourceGenerator.Benchmarks.csproj b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/DynamoDBGenerator.SourceGenerator.Benchmarks.csproj deleted file mode 100644 index 114ffa1a..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/DynamoDBGenerator.SourceGenerator.Benchmarks.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - Exe - net10.0 - enable - enable - false - - - - - - - - - - - - diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/Address.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/Address.cs deleted file mode 100644 index 2b94e9d7..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/Address.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Models; - -public sealed record Address -{ - public string Id { get; set; } = null!; - - public string? Street { get; set; } = null!; - - public PostalCode PostalCode { get; set; } = null!; - - public List Neighbours { get; set; } = null!; -} diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/Person.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/Person.cs deleted file mode 100644 index e861ba91..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/Person.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.DataModel; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Models; - -public record Person -{ - [DynamoDBHashKey] - public required string Id { get; set; } - - public required List Strings { get; set; } - public required List Numbers { get; set; } - public required List Neighbours { get; set; } - public required string Firstname { get; set; } - public required string Lastname { get; set; } - public required DateTime BirthDate { get; set; } - public required DateTime UpdatedAt { get; set; } - public required DateTime InsertedAt { get; set; } - public required DateTime? DeletedAt { get; set; } - public required Address Address { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/PostalCode.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/PostalCode.cs deleted file mode 100644 index a31ae1b6..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Models/PostalCode.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator.Benchmarks.Models; - -public sealed class PostalCode -{ - public string ZipCode { get; set; } = null!; - public string Town { get; set; } = null!; -} diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Program.cs b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Program.cs deleted file mode 100644 index b4a29fdf..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/Program.cs +++ /dev/null @@ -1,4 +0,0 @@ -using BenchmarkDotNet.Running; -using DynamoDBGenerator.SourceGenerator.Benchmarks.Benchmarks.Marshalling; - -BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args); \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/README.md b/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/README.md deleted file mode 100644 index 3964b629..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Benchmarks/README.md +++ /dev/null @@ -1,22 +0,0 @@ -Command (executed from rooth of repository): - -`dotnet run --project tests/DynamoDBGenerator.SourceGenerator.Benchmarks --configuration 'Release' -- --exporters 'MarkDown' --filter '*Marshalling.Comparison*' --memory --job 'Default'` - -Result: - -``` - -BenchmarkDotNet v0.15.6, Windows 11 (10.0.26200.7171) -Intel Core Ultra 9 185H 2.50GHz, 1 CPU, 22 logical and 16 physical cores -.NET SDK 10.0.100 - [Host] : .NET 10.0.0 (10.0.0, 10.0.25.52411), X64 RyuJIT x86-64-v3 - DefaultJob : .NET 10.0.0 (10.0.0, 10.0.25.52411), X64 RyuJIT x86-64-v3 - - -``` -| Method | Mean | Error | StdDev | Gen0 | Gen1 | Allocated | -|----------------------------- |-----------:|---------:|----------:|-------:|-------:|----------:| -| Unmarshall_Person_DTO | 655.8 ns | 7.40 ns | 6.92 ns | 0.0553 | - | 696 B | -| Amazon_Unmarshall_Person_DTO | 4,929.2 ns | 97.26 ns | 129.83 ns | 0.7935 | 0.0076 | 10041 B | -| Marshall_Person_DTO | 548.0 ns | 5.46 ns | 5.11 ns | 0.3052 | 0.0038 | 3840 B | -| Amazon_Marshall_Person_DTO | 4,396.5 ns | 23.98 ns | 22.43 ns | 0.9460 | - | 12084 B | diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/CustomObjects/ChildClassTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/CustomObjects/ChildClassTests.cs deleted file mode 100644 index 514a8b2f..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/CustomObjects/ChildClassTests.cs +++ /dev/null @@ -1,143 +0,0 @@ -using Amazon; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize.CustomObjects; - -[DynamoDBMarshaller(EntityType = typeof(ParentClass))] -public partial class ChildClassTests -{ - [Fact] - public void Deserialize_AllFieldsSet_AllIncluded() - { - var result = ParentClassMarshaller.Unmarshall(new Dictionary - { - { nameof(ParentClass.Id), new AttributeValue { S = "I am the root" } }, - { - nameof(ParentClass.CustomClass), new AttributeValue - { - M = new Dictionary - { - { nameof(ParentClass.CustomClass.PropertyId), new AttributeValue { S = "I am the property" } }, - { - nameof(ParentClass.CustomClass.GrandChild), new AttributeValue - { - M = new Dictionary - { - { - nameof(ParentClass.ChildClass.GrandChildClass.GrandChildId), - new AttributeValue { S = "I am the grandchild id" } - } - } - } - } - } - } - } - }); - - result.Id.Should().Be("I am the root"); - result.CustomClass.Should().NotBeNull(); - result.CustomClass!.PropertyId.Should().Be("I am the property"); - result.CustomClass.GrandChild.Should().NotBeNull(); - result.CustomClass.GrandChild!.GrandChildId.Should().Be("I am the grandchild id"); - } - - [Fact] - public void Deserialize_ChildClass_NotIncluded() - { - var result = ParentClassMarshaller.Unmarshall(new Dictionary - { - { nameof(ParentClass.Id), new AttributeValue { S = "I am the root" } } - }); - - result.Id.Should().Be("I am the root"); - result.CustomClass.Should().BeNull(); - } - - [Fact] - public void Deserialize_ChildClassField_NotIncluded() - { - var attributeValues = new Dictionary - { - { nameof(ParentClass.Id), new AttributeValue { S = "I am the root" } }, - { - nameof(ParentClass.CustomClass), new AttributeValue - { - M = new Dictionary() - } - } - }; - ParentClass result = ParentClassMarshaller.Unmarshall(attributeValues); - result.Id.Should().Be("I am the root"); - result.CustomClass.Should().NotBeNull(); - result.CustomClass!.PropertyId.Should().BeNull(); - result.CustomClass.GrandChild.Should().BeNull(); - } - - [Fact] - public void Deserialize_GrandChildClass_NotIncluded() - { - var result = ParentClassMarshaller.Unmarshall(new Dictionary - { - { nameof(ParentClass.Id), new AttributeValue { S = "I am the root" } }, - { - nameof(ParentClass.CustomClass), new AttributeValue - { - M = new Dictionary - { - { nameof(ParentClass.CustomClass.PropertyId), new AttributeValue { S = "I am the property" } } - } - } - } - }); - - result.Id.Should().Be("I am the root"); - result.CustomClass.Should().NotBeNull(); - result.CustomClass!.PropertyId.Should().Be("I am the property"); - result.CustomClass.GrandChild.Should().BeNull(); - } - - [Fact] - public void Deserialize_GrandChildClassField_NotIncluded() - { - var result = ParentClassMarshaller.Unmarshall(new Dictionary - { - { nameof(ParentClass.Id), new AttributeValue { S = "I am the root" } }, - { - nameof(ParentClass.CustomClass), new AttributeValue - { - M = new Dictionary - { - { nameof(ParentClass.CustomClass.PropertyId), new AttributeValue { S = "I am the property" } }, - { - nameof(ParentClass.CustomClass.GrandChild), new AttributeValue() - } - } - } - } - }); - - result.Id.Should().Be("I am the root"); - result.CustomClass.Should().NotBeNull(); - result.CustomClass!.PropertyId.Should().Be("I am the property"); - result.CustomClass.GrandChild.Should().BeNull(); - } -} - -public class ParentClass -{ - public string? Id { get; set; } - public ChildClass? CustomClass { get; set; } - - public class ChildClass - { - public string? PropertyId { get; set; } - public GrandChildClass? GrandChild { get; set; } - - public class GrandChildClass - { - public string? GrandChildId { get; set; } - } - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/CustomObjects/SiblingClasstests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/CustomObjects/SiblingClasstests.cs deleted file mode 100644 index 967788cd..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/CustomObjects/SiblingClasstests.cs +++ /dev/null @@ -1,78 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize.CustomObjects; - -[DynamoDBMarshaller(EntityType = typeof(SiblingClassOne))] -public partial class SiblingClassTests -{ - [Fact] - public void Serialize_AllFieldsSet_AllIncluded() - { - var result = SiblingClassOneMarshaller - .Unmarshall(new Dictionary - { - { nameof(SiblingClassOne.Id), new AttributeValue { S = "I am the root" } }, - - { - nameof(SiblingClassOne.CustomClass), new AttributeValue - { - M = new Dictionary - { - { - nameof(SiblingClassOne.CustomClass.PropertyId), new AttributeValue - { S = "I am the property" } - } - } - } - } - }); - - result.Id.Should().Be("I am the root"); - result.CustomClass.Should().NotBeNull(); - result.CustomClass!.PropertyId.Should().Be("I am the property"); - } - - [Fact] - public void Serialize_CustomProperty_NotIncluded() - { - var result = SiblingClassOneMarshaller.Unmarshall(new Dictionary - { - { nameof(SiblingClassOne.Id), new AttributeValue { S = "I am the root" } } - }); - - result.Id.Should().Be("I am the root"); - result.CustomClass.Should().BeNull(); - } - - [Fact] - public void Serialize_CustomPropertyField_NotIncluded() - { - var result = SiblingClassOneMarshaller.Unmarshall(new Dictionary - { - { nameof(SiblingClassOne.Id), new AttributeValue { S = "I am the root" } }, - - { - nameof(SiblingClassOne.CustomClass), new AttributeValue - { - M = new Dictionary() - } - } - }); - - result.Id.Should().Be("I am the root"); - result.CustomClass.Should().NotBeNull(); - result.CustomClass!.PropertyId.Should().BeNull(); - } -} - -public class SiblingClassOne -{ - public string? Id { get; set; } - public SiblingClassTwo? CustomClass { get; set; } -} - -public class SiblingClassTwo -{ - public string? PropertyId { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/DictionaryTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/DictionaryTests.cs deleted file mode 100644 index 32504773..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/DictionaryTests.cs +++ /dev/null @@ -1,157 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(DictionaryClass))] -public partial class DictionaryTests -{ - [Fact] - public void Deserialize_CustomValuedDictionary_ShouldContainCorrectKeyValues() - { - DictionaryClassMarshaller.Unmarshall(new Dictionary - { - { - nameof(DictionaryClass.CustomValuedDictionary), new AttributeValue - { - M = new Dictionary - { - { - "Test", new AttributeValue - { - M = new Dictionary - { - { "Name", new AttributeValue { S = "John" } }, - { "SomethingElse", new AttributeValue { S = "FooBar" } } - } - } - }, - { - "Test2", new AttributeValue - { - M = new Dictionary - { - { "Name", new AttributeValue { S = "John2" } }, - { "SomethingElse", new AttributeValue { S = "FooBar2" } } - } - } - } - } - } - } - }) - .CustomValuedDictionary - .Should() - .BeOfType>() - .Which - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be("Test"); - x.Value.Name.Should().Be("John"); - x.Value.SomethingElse.Should().Be("FooBar"); - }, - x => - { - x.Key.Should().Be("Test2"); - x.Value.Name.Should().Be("John2"); - x.Value.SomethingElse.Should().Be("FooBar2"); - } - ); - } - - [Fact] - public void Deserialize_Dictionary_ShouldContainCorrectKeyValues() - { - DictionaryClassMarshaller.Unmarshall(new Dictionary - { - { - nameof(DictionaryClass.Dictionary), new AttributeValue - { - M = new Dictionary - { - { "Two", new AttributeValue { N = "2" } }, - { "One", new AttributeValue { N = "1" } } - } - } - } - }) - .Dictionary - .Should() - .BeOfType>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("Two", 2)), - x => x.Should().Be(new KeyValuePair("One", 1))); - } - - [Fact] - public void Deserialize_IReadOnlyDictionary_ShouldBeDictionaryAndContainCorrectKeyValues() - { - DictionaryClassMarshaller.Unmarshall(new Dictionary - { - { - nameof(DictionaryClass.ReadOnlyDictionaryInterface), new AttributeValue - { - M = new Dictionary - { - { "Two", new AttributeValue { N = "2" } }, - { "One", new AttributeValue { N = "1" } } - } - } - } - }) - .ReadOnlyDictionaryInterface - .Should() - .BeOfType>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("Two", 2)), - x => x.Should().Be(new KeyValuePair("One", 1))); - } - - [Fact] - public void Deserialize_IDictionary_ShouldBeDictionaryAndContainCorrectKeyValues() - { - DictionaryClassMarshaller.Unmarshall(new Dictionary - { - { - nameof(DictionaryClass.DictionaryInterface), new AttributeValue - { - M = new Dictionary - { - { "Two", new AttributeValue { N = "2" } }, - { "One", new AttributeValue { N = "1" } } - } - } - } - }) - .DictionaryInterface - .Should() - .BeOfType>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("Two", 2)), - x => x.Should().Be(new KeyValuePair("One", 1))); - } -} - -public class DictionaryClass -{ - [DynamoDBProperty] - public Dictionary? Dictionary { get; set; } - - [DynamoDBProperty] - public IReadOnlyDictionary? ReadOnlyDictionaryInterface { get; set; } - - [DynamoDBProperty] - public IDictionary? DictionaryInterface { get; set; } - - public Dictionary? CustomValuedDictionary { get; set; } - - public class CustomClass - { - public string? Name { get; set; } - public string? SomethingElse { get; set; } - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/KeyValueCollectionTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/KeyValueCollectionTests.cs deleted file mode 100644 index b4b63462..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/KeyValueCollectionTests.cs +++ /dev/null @@ -1,296 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(KeyValueCollectionClass))] -public partial class KeyValueCollectionTests -{ - [Fact] - public void Deserialize_ICollection_ShouldBeListWithCorrectElements() - { - KeyValueCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(KeyValueCollectionClass.CollectionInterface), new AttributeValue - { - L = new List - { - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "ABC" } }, - { "Value", new AttributeValue { N = "1" } } - } - }, - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "Foo" } }, - { "Value", new AttributeValue { N = "2" } } - } - } - } - } - } - }) - .CollectionInterface - .Should() - .BeOfType>>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("ABC", 1)), - x => x.Should().Be(new KeyValuePair("Foo", 2))); - } - - [Fact] - public void Deserialize_IReadOnlyCollection_ShouldBeArrayWithCorrectElements() - { - KeyValueCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(KeyValueCollectionClass.ReadOnlyCollectionInterface), new AttributeValue - { - L = new List - { - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "ABC" } }, - { "Value", new AttributeValue { N = "1" } } - } - }, - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "Foo" } }, - { "Value", new AttributeValue { N = "2" } } - } - } - } - } - } - }) - .ReadOnlyCollectionInterface - .Should() - .BeOfType[]>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("ABC", 1)), - x => x.Should().Be(new KeyValuePair("Foo", 2))); - } - - [Fact] - public void Deserialize_IList_ShouldBeListWithCorrectElements() - { - KeyValueCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(KeyValueCollectionClass.ListInterface), new AttributeValue - { - L = new List - { - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "ABC" } }, - { "Value", new AttributeValue { N = "1" } } - } - }, - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "Foo" } }, - { "Value", new AttributeValue { N = "2" } } - } - } - } - } - } - }) - .ListInterface - .Should() - .BeOfType>>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("ABC", 1)), - x => x.Should().Be(new KeyValuePair("Foo", 2))); - } - - [Fact] - public void Deserialize_IReadOnlyList_ShouldBeArrayWithCorrectElements() - { - KeyValueCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(KeyValueCollectionClass.ReadOnlyListInterface), new AttributeValue - { - L = new List - { - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "ABC" } }, - { "Value", new AttributeValue { N = "1" } } - } - }, - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "Foo" } }, - { "Value", new AttributeValue { N = "2" } } - } - } - } - } - } - }) - .ReadOnlyListInterface - .Should() - .BeOfType[]>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("ABC", 1)), - x => x.Should().Be(new KeyValuePair("Foo", 2))); - } - - [Fact] - public void Deserialize_List_ShouldBeListWithCorrectElements() - { - KeyValueCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(KeyValueCollectionClass.List), new AttributeValue - { - L = new List - { - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "ABC" } }, - { "Value", new AttributeValue { N = "1" } } - } - }, - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "Foo" } }, - { "Value", new AttributeValue { N = "2" } } - } - } - } - } - } - }) - .List - .Should() - .BeOfType>>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("ABC", 1)), - x => x.Should().Be(new KeyValuePair("Foo", 2))); - } - - [Fact] - public void Deserialize_Array_ShouldBeArrayWithCorrectElements() - { - KeyValueCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(KeyValueCollectionClass.Array), new AttributeValue - { - L = new List - { - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "ABC" } }, - { "Value", new AttributeValue { N = "1" } } - } - }, - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "Foo" } }, - { "Value", new AttributeValue { N = "2" } } - } - } - } - } - } - }) - .Array - .Should() - .BeOfType[]>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("ABC", 1)), - x => x.Should().Be(new KeyValuePair("Foo", 2))); - } - - [Fact] - public void Deserialize_IEnumerable_ShouldContainCorrectValues() - { - KeyValueCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(KeyValueCollectionClass.EnumerableInterface), new AttributeValue - { - L = new List - { - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "ABC" } }, - { "Value", new AttributeValue { N = "1" } } - } - }, - new() - { - M = new Dictionary - { - { "Key", new AttributeValue { S = "Foo" } }, - { "Value", new AttributeValue { N = "2" } } - } - } - } - } - } - }) - .EnumerableInterface - .Should() - .SatisfyRespectively(x => x.Should().Be(new KeyValuePair("ABC", 1)), - x => x.Should().Be(new KeyValuePair("Foo", 2))); - } -} - -public class KeyValueCollectionClass -{ - public IEnumerable>? EnumerableInterface { get; set; } - public List>? List { get; set; } - public KeyValuePair[]? Array { get; set; } - public IList>? ListInterface { get; set; } - public IReadOnlyList>? ReadOnlyListInterface { get; set; } - public ICollection>? CollectionInterface { get; set; } - public IReadOnlyCollection>? ReadOnlyCollectionInterface { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/LookUpTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/LookUpTests.cs deleted file mode 100644 index fc5bcf82..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/LookUpTests.cs +++ /dev/null @@ -1,69 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(LookUpClass))] -public partial class LookUpTests -{ - [Fact] - public void Deserialize_EmptyLookup_IsIncluded() - { - LookUpClassMarshaller - .Unmarshall(new Dictionary - { { nameof(LookUpClass.Lookup), new AttributeValue { M = new Dictionary() } } }) - .Should() - .BeOfType() - .Which - .Lookup - .Should() - .BeEmpty(); - } - - [Fact] - public void Deserialize_LookupWithValues_IsIncluded() - { - LookUpClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(LookUpClass.Lookup), new AttributeValue - { - M = new Dictionary - { - { - "first", - new AttributeValue - { L = new List { new() { N = "1" }, new() { N = "2" } } } - }, - { - "second", - new AttributeValue - { L = new List { new() { N = "3" }, new() { N = "4" } } } - } - } - } - } - }) - .Should() - .BeOfType() - .Which - .Lookup - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be("first"); - x.Should().SatisfyRespectively(y => y.Should().Be(1), y => y.Should().Be(2)); - }, x => - { - x.Key.Should().Be("second"); - x.Should().SatisfyRespectively(y => y.Should().Be(3), y => y.Should().Be(4)); - }); - } -} - -public class LookUpClass -{ - [DynamoDBProperty] - public ILookup? Lookup { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/NullableTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/NullableTests.cs deleted file mode 100644 index 2b684710..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/NullableTests.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Exceptions; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(OptionalIntegerClass))] -public partial class NullableTests -{ - [Fact] - public void Deserialize_NoValueMapped_ShouldThrow() - { - // If we have an AttributeValue that can not be be mapped when we have the key, then we should throw. - var act = () => OptionalIntegerClassMarshaller.Unmarshall(new Dictionary - { { "OptionalProperty", new AttributeValue { N = null } } }); - act.Should().Throw(); - } - - [Fact] - public void Deserialize_NoValueProvided_ShouldNotThrow() - { - var act = () => OptionalIntegerClassMarshaller.Unmarshall(new Dictionary()); - act.Should().NotThrow(); - } - - [Fact] - public void Deserialize_KeyValueProvided_ShouldNotThrow() - { - var result = OptionalIntegerClassMarshaller - .Unmarshall(new Dictionary - { - { nameof(OptionalIntegerClass.OptionalProperty), new AttributeValue { N = "2" } } - } - ); - result.OptionalProperty.Should().Be(2); - } -} - -public class OptionalIntegerClass -{ - public int? OptionalProperty { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/StringCollectionTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/StringCollectionTests.cs deleted file mode 100644 index 1edc4b48..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/StringCollectionTests.cs +++ /dev/null @@ -1,149 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(StringedCollectionClass))] -public partial class StringCollectionTests -{ - [Fact] - public void Deserialize_ICollection_ShouldBeListWithCorrectElements() - { - StringedCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(StringedCollectionClass.CollectionInterface), - new AttributeValue { L = new List { new() { S = "ABC" }, new() { S = "Foo" } } } - } - }) - .CollectionInterface - .Should() - .BeOfType>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be("ABC"), x => x.Should().Be("Foo")); - } - - [Fact] - public void Deserialize_IReadOnlyCollection_ShouldBeArrayWithCorrectElements() - { - StringedCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(StringedCollectionClass.ReadOnlyCollectionInterface), - new AttributeValue { L = new List { new() { S = "ABC" }, new() { S = "Foo" } } } - } - }) - .ReadOnlyCollectionInterface - .Should() - .BeOfType() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be("ABC"), x => x.Should().Be("Foo")); - } - - [Fact] - public void Deserialize_IList_ShouldBeListWithCorrectElements() - { - StringedCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(StringedCollectionClass.ListInterface), - new AttributeValue { L = new List { new() { S = "ABC" }, new() { S = "Foo" } } } - } - }) - .ListInterface - .Should() - .BeOfType>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be("ABC"), x => x.Should().Be("Foo")); - } - - [Fact] - public void Deserialize_IReadOnlyList_ShouldBeOfArrayWithCorrectElements() - { - StringedCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(StringedCollectionClass.ReadOnlyListInterface), - new AttributeValue { L = new List { new() { S = "ABC" }, new() { S = "Foo" } } } - } - }) - .ReadOnlyListInterface - .Should() - .BeOfType() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be("ABC"), x => x.Should().Be("Foo")); - } - - [Fact] - public void Deserialize_List_ShouldBeOfListWithCorrectElements() - { - StringedCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(StringedCollectionClass.List), - new AttributeValue { L = new List { new() { S = "ABC" }, new() { S = "Foo" } } } - } - }) - .List - .Should() - .BeOfType>() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be("ABC"), x => x.Should().Be("Foo")); - } - - [Fact] - public void Deserialize_Array_ShouldBeOfArrayWithCorrectElements() - { - StringedCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(StringedCollectionClass.Array), - new AttributeValue { L = new List { new() { S = "ABC" }, new() { S = "Foo" } } } - } - }) - .Array - .Should() - .BeOfType() - .Which - .Should() - .SatisfyRespectively(x => x.Should().Be("ABC"), x => x.Should().Be("Foo")); - } - - [Fact] - public void Deserialize_IEnumerable_ShouldContainCorrectElements() - { - StringedCollectionClassMarshaller - .Unmarshall(new Dictionary - { - { - nameof(StringedCollectionClass.EnumerableInterface), - new AttributeValue { L = new List { new() { S = "ABC" }, new() { S = "Foo" } } } - } - }) - .EnumerableInterface - .Should() - .SatisfyRespectively(x => x.Should().Be("ABC"), x => x.Should().Be("Foo")); - } -} - -public class StringedCollectionClass -{ - public IEnumerable? EnumerableInterface { get; set; } - public List? List { get; set; } - public string[]? Array { get; set; } - public IList? ListInterface { get; set; } - public IReadOnlyList? ReadOnlyListInterface { get; set; } - public ICollection? CollectionInterface { get; set; } - public IReadOnlyCollection? ReadOnlyCollectionInterface { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/TupleTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/TupleTests.cs deleted file mode 100644 index 63083d03..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/Generics/TupleTests.cs +++ /dev/null @@ -1,139 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(TupleClass))] -[DynamoDBMarshaller(EntityType = typeof((int X, int Y)), AccessName = "XAndYTuple")] -[DynamoDBMarshaller(EntityType = typeof((int, int )), AccessName = "UnnamedTuple")] -[DynamoDBMarshaller(EntityType = typeof((string Id, (int X, int Y) Coordinates)), AccessName = "NestedXAndYTuple")] -public partial class TupleTests -{ - [Fact] - public void Deserialize_UnnamedTuple_Properties() - { - UnnamedTuple - .Unmarshall(new Dictionary - { { "Item1", new AttributeValue { N = "1" } }, { "Item2", new AttributeValue { N = "2" } } }) - .Should() - .Be((1, 2)); - } - - [Fact] - public void Deserialize_NestedXAndYTuple_Properties() - { - NestedXAndYTuple - .Unmarshall(new Dictionary - { - { "Id", new AttributeValue { S = "123" } }, - { - "Coordinates", new AttributeValue - { - M = new Dictionary - { - { "X", new AttributeValue { N = "1" } }, - { "Y", new AttributeValue { N = "2" } } - } - } - } - }) - .Should() - .Be(("123", (1, 2))); - } - - [Fact] - public void Deserialize_XAndYTuple_Properties() - { - XAndYTuple - .Unmarshall(new Dictionary - { - { "X", new AttributeValue { N = "1" } }, - { "Y", new AttributeValue { N = "2" } } - }) - .Should() - .Be((1, 2)); - } - - [Fact] - public void Deserialize_Both_Properties() - { - var result = TupleClassMarshaller - .Unmarshall(new Dictionary - { - { - "XYCoordinate", new AttributeValue - { - M = new Dictionary - { - { "X", new AttributeValue { N = "1" } }, - { "Y", new AttributeValue { N = "2" } } - } - } - }, - { - "XYZCoordinate", new AttributeValue - { - M = new Dictionary - { - { "X", new AttributeValue { N = "3" } }, - { "Y", new AttributeValue { N = "4" } }, - { "Z", new AttributeValue { N = "5" } } - } - } - } - }); - - result.XYCoordinate.Should().Be((1, 2)); - result.XYZCoordinate.Should().Be((3, 4, 5)); - } - - [Fact] - public void Deserialize_XY_Property() - { - var result = TupleClassMarshaller - .Unmarshall(new Dictionary - { - { - "XYCoordinate", new AttributeValue - { - M = new Dictionary - { - { "X", new AttributeValue { N = "1" } }, - { "Y", new AttributeValue { N = "2" } } - } - } - } - }); - - result.XYCoordinate.Should().Be((1, 2)); - result.XYZCoordinate.Should().Be(null); - } - - [Fact] - public void Deserialize_XYZ_Property() - { - var result = TupleClassMarshaller - .Unmarshall(new Dictionary - { - { - "XYZCoordinate", new AttributeValue - { - M = new Dictionary - { - { "X", new AttributeValue { N = "3" } }, - { "Y", new AttributeValue { N = "4" } }, - { "Z", new AttributeValue { N = "5" } } - } - } - } - }); - result.XYCoordinate.Should().BeNull(); - result.XYZCoordinate.Should().Be((3, 4, 5)); - } -} - -public class TupleClass -{ - public (int X, int Y)? XYCoordinate { get; set; } - public (int X, int Y, int Z)? XYZCoordinate { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/InheritenceTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/InheritenceTests.cs deleted file mode 100644 index 8cd56be3..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/InheritenceTests.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize; - -[DynamoDBMarshaller(EntityType = typeof(Cat))] -public partial class InheritanceTests -{ - [Fact] - public void Includes_Inherited_DataMember() - { - var result = CatMarshaller.Unmarshall(new Dictionary - { - { nameof(Cat.MjaoFactor), new AttributeValue { N = "100" } }, - { nameof(Cat.Name), new AttributeValue { S = "Mjaao" } } - }); - - result.MjaoFactor.Should().Be(100); - result.Name.Should().Be("Mjaao"); - } -} - -public class Animal -{ - public string Name { get; set; } = null!; -} - -public class Cat : Animal -{ - public int MjaoFactor { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/InitializationTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/InitializationTests.cs deleted file mode 100644 index a80d3d5d..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/InitializationTests.cs +++ /dev/null @@ -1,207 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize; - -[DynamoDBMarshaller(EntityType = typeof(ConstructorOnlyClass))] -[DynamoDBMarshaller(EntityType = typeof(ObjectInitializerOnlyClass))] -[DynamoDBMarshaller(EntityType = typeof(ObjectInitializerMixedWithConstructorClass))] -[DynamoDBMarshaller(EntityType = typeof(ConstructorClassWithMixedName))] -[DynamoDBMarshaller(EntityType = typeof(InlinedRecord))] -[DynamoDBMarshaller(EntityType = typeof(ExplicitConstructorRecord))] -[DynamoDBMarshaller(EntityType = typeof(InlineRecordWithNestedRecord))] -[DynamoDBMarshaller(EntityType = typeof(ClassWithConstructorThatObjectInitializerShouldOnlyBeUsed), - AccessName = "InitializerOnly")] -[DynamoDBMarshaller(EntityType = typeof(ClassWithConstructorThatShouldOnlyBeUsed), AccessName = "ConstructorOnly")] -public partial class InitializationTests -{ - [Fact] - public void ClassWithConstructorThatObjectInitializerShouldOnlyBeUsed_Deserialize_ShouldNotThrow() - { - var act = () => InitializerOnly.Unmarshall(new Dictionary - { - { "First", new AttributeValue { S = "ABC" } } - }); - - act.Should().NotThrow(); - } - - [Fact] - public void ClassWithConstructorThatShouldOnlyBeUsed_Deserialize_ShouldNotThrow() - { - var act = () => ConstructorOnly.Unmarshall(new Dictionary - { - { "First", new AttributeValue { S = "ABC" } } - }); - - act.Should().NotThrow(); - } - - [Fact] - public void ConstructorOnlyClass_FindCorrespondingDataMember_ShouldSucceed() - { - var deserializeClass = ConstructorOnlyClassMarshaller.Unmarshall( - new Dictionary - { - { - "Prop1", new AttributeValue { S = "Hello" } - } - } - ); - - deserializeClass.Should().NotBeNull(); - deserializeClass.Prop1.Should().Be("Hello"); - } - - [Fact] - public void ObjectInitializerOnlyClass_FindCorrespondingDataMember_ShouldSucceed() - { - var @class = new ObjectInitializerOnlyClass { Prop2 = "Hello" }; - var serializedClass = ObjectInitializerOnlyClassMarshaller.Marshall(@class); - var deserializeClass = ObjectInitializerOnlyClassMarshaller.Unmarshall(serializedClass); - - deserializeClass.Should().NotBeNull(); - deserializeClass.Prop2.Should().Be(@class.Prop2); - } - - [Fact] - public void ObjectInitializerMixedWithConstructorClass_FindCorrespondingDataMember_ShouldSucceed() - { - var deserializeClass = ObjectInitializerMixedWithConstructorClassMarshaller.Unmarshall( - new Dictionary - { - { "Prop3", new AttributeValue { S = "Hello" } }, - { "Prop4", new AttributeValue { S = "Hello2" } } - }); - - deserializeClass.Should().NotBeNull(); - deserializeClass.Prop3.Should().Be("Hello"); - deserializeClass.Prop4.Should().Be("Hello2"); - } - - [Fact] - public void ConstructorClassWithMixedName_FindCorrespondingDataMember_ShouldSucceed() - { - var result = ConstructorClassWithMixedNameMarshaller.Unmarshall(new Dictionary - { - { "SomethingElse", new AttributeValue { S = "Hello" } } - }); - - result.SomethingElse.Should().Be("Hello"); - } - - [Fact] - public void InlineRecord_FindingCorrespondingDataMembers_ShouldSucceed() - { - var inlinedRecord = InlinedRecordMarshaller.Unmarshall(new Dictionary - { - { "FirstProperty", new AttributeValue { S = "Hello" } }, - { "SecondProperty", new AttributeValue { S = "World" } } - }); - - inlinedRecord.FirstProperty.Should().Be("Hello"); - inlinedRecord.SecondProperty.Should().Be("World"); - } - - [Fact] - public void ExplicitConstructorRecord_FindingCorrespondingDataMembers_ShouldSucceed() - { - var inlinedRecord = ExplicitConstructorRecordMarshaller.Unmarshall(new Dictionary - { - { "FirstProperty", new AttributeValue { S = "Hello" } }, - { "SecondProperty", new AttributeValue { S = "World" } } - }); - - inlinedRecord.FirstProperty.Should().Be("Hello"); - inlinedRecord.SecondProperty.Should().Be("World"); - } -} - -public record InlineRecordWithNestedRecord(string One, InlineRecordWithNestedRecord.InlinedNestedRecord Test) -{ - public record InlinedNestedRecord(string Two); -} - -public record InlinedRecord(string FirstProperty, string SecondProperty); - -public class ClassWithConstructorThatObjectInitializerShouldOnlyBeUsed -{ - public ClassWithConstructorThatObjectInitializerShouldOnlyBeUsed(string first) - { - throw new Exception("PARAMETERIZED CTOR SHOULD NOT BE ACCESSED"); - } - - public ClassWithConstructorThatObjectInitializerShouldOnlyBeUsed() - { - } - - public string? First { get; init; } -} - -public class ClassWithConstructorThatShouldOnlyBeUsed -{ - [DynamoDBMarshallerConstructor] - public ClassWithConstructorThatShouldOnlyBeUsed(string first) - { - First = first; - } - - public ClassWithConstructorThatShouldOnlyBeUsed() - { - throw new Exception("EMPTY CTOR SHOULD NOT BE ACCESSED"); - } - - public string First { get; init; } -} - -public record ExplicitConstructorRecord -{ - [DynamoDBMarshallerConstructor] - public ExplicitConstructorRecord(string first, string second) - { - FirstProperty = first; - SecondProperty = second; - } - - public string FirstProperty { get; } - public string SecondProperty { get; } -} - -public class ConstructorOnlyClass -{ - [DynamoDBMarshallerConstructor] - public ConstructorOnlyClass(string prop1) - { - Prop1 = prop1; - } - - public string Prop1 { get; } -} - -public class ObjectInitializerOnlyClass -{ - public string? Prop2 { get; init; } -} - -public class ObjectInitializerMixedWithConstructorClass -{ - [DynamoDBMarshallerConstructor] - public ObjectInitializerMixedWithConstructorClass(string prop3) - { - Prop3 = prop3; - } - - public string Prop3 { get; } - public string? Prop4 { get; init; } -} - -public class ConstructorClassWithMixedName -{ - [DynamoDBMarshallerConstructor] - public ConstructorClassWithMixedName(string something) - { - SomethingElse = something; - } - - public string SomethingElse { get; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/MissingValueTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/MissingValueTests.cs deleted file mode 100644 index be16cb97..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/MissingValueTests.cs +++ /dev/null @@ -1,76 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Exceptions; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize; - -[DynamoDBMarshaller(EntityType = typeof(RequiredReferenceTypeValueMissingClass))] -[DynamoDBMarshaller(EntityType = typeof(OptionalReferenceTypeValueMissingClass))] -[DynamoDBMarshaller(EntityType = typeof(RequiredValueTypeValueMissingClass))] -public partial class MissingValueTests -{ - [Fact] - public void Deserialize_RequiredReferenceTypeValueMissingClass_NoKeyValueProvidedShouldThrow() - { - var act = () => - RequiredReferenceTypeValueMissingClassMarshaller.Unmarshall(new Dictionary()); - act.Should().Throw(); - } - - [Fact] - public void Deserialize_RequiredReferenceTypeValueMissingClass_KeyWithoutValueProvidedShouldThrow() - { - var act = () => RequiredReferenceTypeValueMissingClassMarshaller.Unmarshall( - new Dictionary { { "RequiredProperty", new AttributeValue { S = null } } }); - act.Should().Throw(); - } - - [Fact] - public void Deserialize_OptionalReferenceTypeValueMissingClass_KeyWithoutValueProvidedShouldNotThrow() - { - var act = () => OptionalReferenceTypeValueMissingClassMarshaller.Unmarshall( - new Dictionary { { "OptionalProperty", new AttributeValue { S = null } } }); - act.Should().NotThrow(); - } - - [Fact] - public void Deserialize_OptionalReferenceTypeValueMissingClass_NoKeyValueProvidedShouldNotThrow() - { - var act = () => - OptionalReferenceTypeValueMissingClassMarshaller.Unmarshall(new Dictionary()); - - act.Should().NotThrow(); - } - - [Fact] - public void Deserialize_RequiredValueTypeValueMissingClass_KeyWithoutValueProvidedShouldThrow() - { - var act = () => RequiredValueTypeValueMissingClassMarshaller.Unmarshall(new Dictionary - { { "RequiredProperty", new AttributeValue { N = null } } }); - act.Should().Throw(); - } - - [Fact] - public void Deserialize_RequiredValueTypeValueMissingClass_NoKeyValueProvidedShouldThrow() - { - var act = () => - RequiredValueTypeValueMissingClassMarshaller.Unmarshall(new Dictionary()); - act.Should().Throw().WithMessage( - "The data member is not supposed to be null, to allow this; make the data member nullable. (Data member 'RequiredProperty')"); - } -} - -public class RequiredReferenceTypeValueMissingClass -{ - public string RequiredProperty { get; set; } = null!; -} - -public class OptionalReferenceTypeValueMissingClass -{ - public string? OptionalProperty { get; set; } -} - -public class RequiredValueTypeValueMissingClass -{ - public int RequiredProperty { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/PropertyRenamingTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/PropertyRenamingTests.cs deleted file mode 100644 index 3cf7b17d..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Deserialize/PropertyRenamingTests.cs +++ /dev/null @@ -1,57 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Deserialize; - -[DynamoDBMarshaller(EntityType = typeof(PropertyWithMixedNames))] -public partial class PropertyRenamingTests -{ - [Fact] - public void Serialize_Attributes_ChangesNames() - { - var propertyAssertion = PropertyWithMixedNamesMarshaller - .Unmarshall(new Dictionary - { - { nameof(PropertyWithMixedNames.PlainProperty), new AttributeValue { S = "1" } }, - { nameof(PropertyWithMixedNames.PropertyWithDdbPropertyAttribute), new AttributeValue { S = "2" } }, - { "AnotherName", new AttributeValue { S = "3" } }, - { nameof(PropertyWithMixedNames.PropertyWithDdbHashKeyAttribute), new AttributeValue { S = "4" } }, - { "AnotherHashKey", new AttributeValue { S = "5" } }, - { nameof(PropertyWithMixedNames.PropertyWithDdbRangeKeyAttribute), new AttributeValue { S = "6" } }, - { "AnotherRangeKey", new AttributeValue { S = "7" } } - }) - .Should() - .BeOfType(); - - propertyAssertion.Which.PlainProperty.Should().Be("1"); - propertyAssertion.Which.PropertyWithDdbPropertyAttribute.Should().Be("2"); - propertyAssertion.Which.PropertyWithDdbPropertyAttributeWithOverridenName.Should().Be("3"); - propertyAssertion.Which.PropertyWithDdbHashKeyAttribute.Should().Be("4"); - propertyAssertion.Which.PropertyWithDdbHashKeyAttributeWithOverridenName.Should().Be("5"); - propertyAssertion.Which.PropertyWithDdbRangeKeyAttribute.Should().Be("6"); - propertyAssertion.Which.PropertyWithDdbRangeKeyAttributeWithOverridenName.Should().Be("7"); - } -} - -public class PropertyWithMixedNames -{ - public string PlainProperty { get; init; } = null!; - - [DynamoDBProperty] - public string PropertyWithDdbPropertyAttribute { get; init; } = null!; - - [DynamoDBProperty("AnotherName")] - public string PropertyWithDdbPropertyAttributeWithOverridenName { get; init; } = null!; - - [DynamoDBHashKey] - public string PropertyWithDdbHashKeyAttribute { get; init; } = null!; - - [DynamoDBHashKey("AnotherHashKey")] - public string PropertyWithDdbHashKeyAttributeWithOverridenName { get; init; } = null!; - - [DynamoDBRangeKey] - public string PropertyWithDdbRangeKeyAttribute { get; init; } = null!; - - [DynamoDBRangeKey("AnotherRangeKey")] - public string PropertyWithDdbRangeKeyAttributeWithOverridenName { get; init; } = null!; -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBGsiKeyMarshallerTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBGsiKeyMarshallerTests.cs deleted file mode 100644 index d638fa6e..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBGsiKeyMarshallerTests.cs +++ /dev/null @@ -1,111 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests; - -[DynamoDBMarshaller(EntityType = typeof(GsiHashAndRangeKey))] -public partial class DynamoDBGsiKeyMarshallerTests -{ - [Fact(Skip = "Could be nice to validate this before the marshaller is created.")] - public void IndexKeyMarshaller_MissMatchedIndexName_ShouldThrow() - { - var act = () => GsiHashAndRangeKeyMarshaller.IndexKeyMarshaller("Unknown"); - - act.Should().Throw(); - } - - [Fact] - public void IndexKeyMarshaller_MatchedIndexName_ShouldHaveIndex() - { - GsiHashAndRangeKeyMarshaller - .IndexKeyMarshaller(GsiHashAndRangeKey.IndexName) - .Index - .Should() - .Be(GsiHashAndRangeKey.IndexName); - } - - [Fact] - public void PartitionKey_MissMatchedIndexName_ShouldThrow() - { - var act = () => GsiHashAndRangeKeyMarshaller.IndexKeyMarshaller("Unknown").PartitionKey("test"); - - act.Should().Throw(); - } - - [Fact] - public void RangeKey_MissMatchedIndexName_ShouldThrow() - { - var act = () => GsiHashAndRangeKeyMarshaller.IndexKeyMarshaller("Unknown").RangeKey("test"); - - act.Should().Throw(); - } - - [Fact] - public void Keys_MissMatchedIndexName_ShouldThrow() - { - var act = () => GsiHashAndRangeKeyMarshaller.IndexKeyMarshaller("Unknown").Keys("1", 1); - - act.Should().Throw(); - } - - [Fact] - public void PartitionKey_MatchedIndexName_ShouldMapCorrectly() - { - GsiHashAndRangeKeyMarshaller.IndexKeyMarshaller(GsiHashAndRangeKey.IndexName) - .PartitionKey("something@domain.com") - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(GsiHashAndRangeKey.Email)); - x.Value.S.Should().Be("something@domain.com"); - }); - } - - [Fact] - public void RangeKey_MatchedIndexName_ShouldMapCorrectly() - { - GsiHashAndRangeKeyMarshaller.IndexKeyMarshaller(GsiHashAndRangeKey.IndexName) - .RangeKey(1) - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(GsiHashAndRangeKey.EmailRanking)); - x.Value.N.Should().Be("1"); - }); - } - - [Fact] - public void Keys_MatchedIndexName_ShouldMapCorrectly() - { - GsiHashAndRangeKeyMarshaller.IndexKeyMarshaller(GsiHashAndRangeKey.IndexName) - .Keys("something@domain.com", 1) - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(GsiHashAndRangeKey.Email)); - x.Value.S.Should().Be("something@domain.com"); - }, - x => - { - x.Key.Should().Be(nameof(GsiHashAndRangeKey.EmailRanking)); - x.Value.N.Should().Be("1"); - } - ); - } -} - -public class GsiHashAndRangeKey -{ - public const string IndexName = "EmailGSI"; - - [DynamoDBHashKey] - public string PrimaryPartitionKey { get; set; } = null!; - - [DynamoDBRangeKey] - public string PrimaryRangeKey { get; set; } = null!; - - [DynamoDBGlobalSecondaryIndexHashKey(IndexName)] - public string Email { get; set; } = null!; - - [DynamoDBGlobalSecondaryIndexRangeKey(IndexName)] - public int EmailRanking { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBIndexTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBIndexTests.cs deleted file mode 100644 index 61f848a0..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBIndexTests.cs +++ /dev/null @@ -1,204 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests; - -[DynamoDBMarshaller(EntityType = typeof(ReverseAccessIndexSetup))] -public partial class DynamoDBIndexTests -{ - [Fact] - public void PartitionKey_Primary_KeyAccess() - { - ReverseAccessIndexSetupMarshaller.PrimaryKeyMarshaller - .PartitionKey("I AM PRIMARY HASH KEY") - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryHashAndGsiRange)); - x.Value.S.Should().Be("I AM PRIMARY HASH KEY"); - } - ); - } - - [Fact] - public void PartitionKey_GSI_KeyAccess() - { - ReverseAccessIndexSetupMarshaller - .IndexKeyMarshaller(ReverseAccessIndexSetup.ReversedAccessPatternGsi) - .PartitionKey("I AM PRIMARY HASH KEY") - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryRangeKeyAndGsiHash)); - x.Value.S.Should().Be("I AM PRIMARY HASH KEY"); - } - ); - } - - [Fact] - public void PartitionKey_LSI_KeyAccess() - { - ReverseAccessIndexSetupMarshaller - .IndexKeyMarshaller(ReverseAccessIndexSetup.Lsi) - .PartitionKey("I AM PRIMARY HASH KEY") - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryHashAndGsiRange)); - x.Value.S.Should().Be("I AM PRIMARY HASH KEY"); - } - ); - } - - - [Fact] - public void RangeKey_Primary_KeyAccess() - { - ReverseAccessIndexSetupMarshaller.PrimaryKeyMarshaller - .RangeKey("I AM PRIMARY RANGE KEY") - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryRangeKeyAndGsiHash)); - x.Value.S.Should().Be("I AM PRIMARY RANGE KEY"); - } - ); - } - - [Fact] - public void RangeKey_GSI_KeyAccess() - { - ReverseAccessIndexSetupMarshaller - .IndexKeyMarshaller(ReverseAccessIndexSetup.ReversedAccessPatternGsi) - .RangeKey("I AM PRIMARY RANGE KEY") - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryHashAndGsiRange)); - x.Value.S.Should().Be("I AM PRIMARY RANGE KEY"); - } - ); - } - - [Fact] - public void RangeKey_LSI_KeyAccess() - { - ReverseAccessIndexSetupMarshaller - .IndexKeyMarshaller(ReverseAccessIndexSetup.Lsi) - .RangeKey("I AM LSI RANGE KEY") - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.LsiRangeKeyAndGSiHash)); - x.Value.S.Should().Be("I AM LSI RANGE KEY"); - } - ); - } - - [Fact] - public void Keys_Primary_KeyAccess() - { - ReverseAccessIndexSetupMarshaller.PrimaryKeyMarshaller - .Keys("I AM PRIMARY HASH KEY", "I AM PRIMARY RANGE KEY") - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryHashAndGsiRange)); - x.Value.S.Should().Be("I AM PRIMARY HASH KEY"); - }, - x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryRangeKeyAndGsiHash)); - x.Value.S.Should().Be("I AM PRIMARY RANGE KEY"); - } - ); - } - - [Fact] - public void Keys_GSI_KeyAccess() - { - ReverseAccessIndexSetupMarshaller - .IndexKeyMarshaller(ReverseAccessIndexSetup.ReversedAccessPatternGsi) - .Keys("I AM PRIMARY HASH KEY", "I AM PRIMARY RANGE KEY") - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryRangeKeyAndGsiHash)); - x.Value.S.Should().Be("I AM PRIMARY HASH KEY"); - }, - x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryHashAndGsiRange)); - x.Value.S.Should().Be("I AM PRIMARY RANGE KEY"); - } - ); - } - - [Fact] - public void Keys_LSI_KeyAccess() - { - ReverseAccessIndexSetupMarshaller - .IndexKeyMarshaller(ReverseAccessIndexSetup.Lsi) - .Keys("I AM PRIMARY HASH KEY", "I AM LSI RANGE KEY") - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.PrimaryHashAndGsiRange)); - x.Value.S.Should().Be("I AM PRIMARY HASH KEY"); - }, - x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.LsiRangeKeyAndGSiHash)); - x.Value.S.Should().Be("I AM LSI RANGE KEY"); - } - ); - } - - [Fact] - public void PartitionKey_GsiPartitionKeyOnly_KeyAccess() - { - ReverseAccessIndexSetupMarshaller - .IndexKeyMarshaller(ReverseAccessIndexSetup.PartitionGsiOnly) - .PartitionKey("I AM PRIMARY HASH KEY") - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(ReverseAccessIndexSetup.LsiRangeKeyAndGSiHash)); - x.Value.S.Should().Be("I AM PRIMARY HASH KEY"); - } - ); - } -} - -public class ReverseAccessIndexSetup -{ - public const string ReversedAccessPatternGsi = "REVERSED_ACCESS_PATTERN"; - public const string PartitionGsiOnly = "SINGLE_GSI"; - - public const string Lsi = "LSI"; - - // Is used to ensure we don't mix indexes - private const string PrivateLsi = "1"; - - // Is used to ensure we don't mix indexes - private const string PrivateLsi2 = "2"; - - [DynamoDBHashKey] - [DynamoDBGlobalSecondaryIndexRangeKey(ReversedAccessPatternGsi)] - [DynamoDBLocalSecondaryIndexRangeKey(PrivateLsi)] - - public string PrimaryHashAndGsiRange { get; set; } = null!; - - [DynamoDBRangeKey] - [DynamoDBGlobalSecondaryIndexHashKey(ReversedAccessPatternGsi)] - [DynamoDBLocalSecondaryIndexRangeKey(PrivateLsi2)] - public string PrimaryRangeKeyAndGsiHash { get; set; } = null!; - - - [DynamoDBLocalSecondaryIndexRangeKey(Lsi)] - [DynamoDBGlobalSecondaryIndexHashKey(PartitionGsiOnly)] - public string LsiRangeKeyAndGSiHash { get; set; } = null!; -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBLsiKeyMarshallerTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBLsiKeyMarshallerTests.cs deleted file mode 100644 index ba89e570..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/DynamoDBLsiKeyMarshallerTests.cs +++ /dev/null @@ -1,110 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests; - -[DynamoDBMarshaller(EntityType = typeof(LsiHashAndRangeKey))] -public partial class DynamoDBLsiKeyMarshallerTests -{ - [Fact(Skip = "Could be nice to validate this before the marshaller is created.")] - public void IndexKeyMarshaller_MissMatchedIndexName_ShouldThrow() - { - var act = () => LsiHashAndRangeKeyMarshaller.IndexKeyMarshaller("Unknown"); - - act.Should().Throw(); - } - - [Fact] - public void IndexKeyMarshaller_MatchedIndexName_ShouldHaveIndex() - { - LsiHashAndRangeKeyMarshaller - .IndexKeyMarshaller(LsiHashAndRangeKey.IndexName) - .Index - .Should() - .Be(LsiHashAndRangeKey.IndexName); - } - - [Fact] - public void PartitionKey_MissMatchedIndexName_ShouldThrow() - { - var act = () => LsiHashAndRangeKeyMarshaller.IndexKeyMarshaller("Unknown").PartitionKey("test"); - - act.Should().Throw(); - } - - [Fact] - public void RangeKey_MissMatchedIndexName_ShouldThrow() - { - var act = () => LsiHashAndRangeKeyMarshaller.IndexKeyMarshaller("Unknown").RangeKey("test"); - - act.Should().Throw(); - } - - [Fact] - public void Keys_MissMatchedIndexName_ShouldThrow() - { - var act = () => LsiHashAndRangeKeyMarshaller.IndexKeyMarshaller("Unknown").Keys("1", 1); - - act.Should().Throw(); - } - - [Fact] - public void PartitionKey_MatchedIndexName_ShouldMapCorrectly() - { - LsiHashAndRangeKeyMarshaller.IndexKeyMarshaller(LsiHashAndRangeKey.IndexName) - .PartitionKey("something@domain.com") - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(LsiHashAndRangeKey.Email)); - x.Value.S.Should().Be("something@domain.com"); - }); - } - - [Fact] - public void RangeKey_MatchedIndexName_ShouldMapCorrectly() - { - LsiHashAndRangeKeyMarshaller.IndexKeyMarshaller(LsiHashAndRangeKey.IndexName) - .RangeKey(1) - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(LsiHashAndRangeKey.EmailRanking)); - x.Value.N.Should().Be("1"); - }); - } - - [Fact] - public void Keys_MatchedIndexName_ShouldMapCorrectly() - { - LsiHashAndRangeKeyMarshaller.IndexKeyMarshaller(LsiHashAndRangeKey.IndexName) - .Keys("something@domain.com", 1) - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(LsiHashAndRangeKey.Email)); - x.Value.S.Should().Be("something@domain.com"); - }, - x => - { - x.Key.Should().Be(nameof(LsiHashAndRangeKey.EmailRanking)); - x.Value.N.Should().Be("1"); - } - ); - } -} - -public class LsiHashAndRangeKey -{ - public const string IndexName = "EmailLSI"; - - - [DynamoDBHashKey] - public string Email { get; set; } = null!; - - [DynamoDBRangeKey] - public string PrimaryRangeKey { get; set; } = null!; - - - [DynamoDBLocalSecondaryIndexRangeKey(IndexName)] - public int EmailRanking { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/ExpressionAttributeTrackerTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/ExpressionAttributeTrackerTests.cs deleted file mode 100644 index 5d19151d..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/ExpressionAttributeTrackerTests.cs +++ /dev/null @@ -1,282 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests; - -[DynamoDBMarshaller(EntityType = typeof(Person), ArgumentType = typeof((string firstName, DateTime timeStamp)), - AccessName = "PersonWithTupleArgument")] -[DynamoDBMarshaller(EntityType = typeof(Person))] -[DynamoDBMarshaller(EntityType = typeof(SelfReferencingClass))] -[DynamoDBMarshaller(EntityType = typeof(ClassWithOverriddenAttributeName))] -[DynamoDBMarshaller(EntityType = typeof(InheritedClass))] -[DynamoDBMarshaller(EntityType = typeof(DuplicatedNavigationProperties))] -public partial class ExpressionAttributeTrackerTests -{ - [Fact] - public void PersonWithTupleArgument_AccessingRootExpressionAttributeName_ShouldThrow() - { - var nameTracker = PersonWithTupleArgument.AttributeExpressionNameTracker(); - - var act = () => nameTracker.ToString(); - - act.Should().Throw(); - } - - [Fact] - public void PersonWithTupleArgument_AccessingRootExpressionAttributeValue_ShouldNotThrow() - { - var valueTracker = PersonWithTupleArgument.AttributeExpressionValueTracker(); - var tracker = valueTracker as IAttributeExpressionValueTracker<(string firstName, DateTime timeStamp)>; - - var act = () => valueTracker.ToString(); - act.Should().NotThrow(); - tracker.ToString().Should().Be(":p1"); - } - - [Fact] - public void PersonWithTupleArgument_AccessingNestedExpressionAttributeName_ShouldNotThrow() - { - var nameTracker = PersonWithTupleArgument.AttributeExpressionNameTracker(); - - var act = () => nameTracker.Address.ToString(); - - act.Should().NotThrow(); - nameTracker.Address.ToString().Should().Be("#Address"); - } - - [Fact] - public void PersonWithTupleArgument_Tuple_CanBeParameterized() - { - var valueTracker = PersonWithTupleArgument.AttributeExpressionValueTracker(); - var nameTracker = PersonWithTupleArgument.AttributeExpressionNameTracker(); - - valueTracker.firstName.Should().Be(":p1"); - valueTracker.timeStamp.Should().Be(":p2"); - nameTracker.FirstName.Should().Be("#FirstName"); - nameTracker.CreatedAt.Should().Be("#CreatedAt"); - - IAttributeExpressionValueTracker<(string firstName, DateTime timeStamp)> convertedValueTracker = valueTracker; - - var timeStamp = DateTime.Now; - convertedValueTracker.AccessedValues(("Rob", timeStamp)).Should().SatisfyRespectively(x => - { - x.Key.Should().Be(":p1"); - x.Value.S.Should().Be("Rob"); - }, x => - { - x.Key.Should().Be(":p2"); - x.Value.S.Should().Be(timeStamp.ToString("O")); - }); - } - - - [Fact] - public void SelfReference_AttributeNames_EnsureUniquness() - { - var nametracker = SelfReferencingClassMarshaller.AttributeExpressionNameTracker(); - var field1 = nametracker.Self.Self.Self.Self.Field1; - var field2 = nametracker.Self.Self.Self.Field2; - - (nametracker as IAttributeExpressionNameTracker) - .AccessedNames() - .Should() - .BeEquivalentTo(new[] - { - new KeyValuePair("#Self", "Self"), - new KeyValuePair("#Field1", "Field1"), - new KeyValuePair("#Field2", "Field2") - }); - - field1.Should().Be("#Self.#Self.#Self.#Self.#Field1"); - field2.Should().Be("#Self.#Self.#Self.#Field2"); - } - - [Fact] - public void DuplicatedNavigationProperties_AttributeNames_EnsureUniquness() - { - var nametracker = DuplicatedNavigationPropertiesMarshaller.AttributeExpressionNameTracker(); - var field1 = nametracker.Person1.CreatedAt; - var field2 = nametracker.Person2.CreatedAt; - var field3 = nametracker.Person1.Address.Name; - var field4 = nametracker.Person2.Address.Street.Name; - - (nametracker as IAttributeExpressionNameTracker) - .AccessedNames() - .Should() - .BeEquivalentTo(new[] - { - new KeyValuePair("#CreatedAt", "CreatedAt"), - new KeyValuePair("#Person1", "Person1"), - new KeyValuePair("#Person2", "Person2"), - new KeyValuePair("#Address", "Address"), - new KeyValuePair("#Name", "Name"), - new KeyValuePair("#Street", "Street") - }); - - field1.Should().Be("#Person1.#CreatedAt"); - field2.Should().Be("#Person2.#CreatedAt"); - field3.Should().Be("#Person1.#Address.#Name"); - field4.Should().Be("#Person2.#Address.#Street.#Name"); - } - - [Theory] - [InlineData(5)] - [InlineData(10)] - [InlineData(20)] - [InlineData(100)] - [InlineData(1000)] - [InlineData(10000)] - public void SelfReference_AttributeReferences_EnsureUniqueness(int count) - { - var traversedNameTracker = SelfReferencingClassMarshaller.TraverseByNameTracker(x => x.Self, count).ToArray(); - traversedNameTracker - .Select(x => x.Field1) - .Concat(traversedNameTracker.Select(x => x.Field2)) - .Distinct() - .Should() - .HaveCount(count * 2); - - var traversedValueTracker = SelfReferencingClassMarshaller.TraverseByValueTracker(x => x.Self, count).ToArray(); - traversedValueTracker - .Select(x => x.Field1) - .Concat(traversedNameTracker.Select(x => x.Field2)) - .Distinct() - .Should() - .HaveCount(count * 2); - } - - [Fact] - public void ClassWithOverriddenAttributeName_AttributeReferences_ShouldChangeNameValue() - { - var nameTracker = ClassWithOverriddenAttributeNameMarshaller.AttributeExpressionNameTracker(); - var valueTracker = ClassWithOverriddenAttributeNameMarshaller.AttributeExpressionValueTracker(); - - nameTracker.Foo.Should().Be("#SomethingElse"); - valueTracker.Foo.Should().Be(":p1"); - } - - [Fact] - public void InheritiedClassWithOverriddenAttributeName_AttributeReferences_ShouldChangeNameValue() - { - var nameTracker = InheritedClassMarshaller.AttributeExpressionNameTracker(); - var valueTracker = InheritedClassMarshaller.AttributeExpressionValueTracker(); - - nameTracker.Foo.Should().Be("#SomethingElse"); - valueTracker.Foo.Should().Be(":p1"); - } - - [Fact] - public void Person_AttributeReferences_ShouldBeCorrectlySet() - { - var nameTracker = PersonMarshaller.AttributeExpressionNameTracker(); - var valueTracker = PersonMarshaller.AttributeExpressionValueTracker(); - - nameTracker.FirstName.Should().Be("#FirstName"); - nameTracker.CreatedAt.Should().Be("#CreatedAt"); - - valueTracker.FirstName.Should().Be(":p1"); - valueTracker.CreatedAt.Should().Be(":p2"); - - valueTracker.Address.Name.Should().Be(":p3"); - nameTracker.Address.Name.Should().Be("#Address.#Name"); - - valueTracker.Address.Street.Name.Should().Be(":p4"); - nameTracker.Address.Street.Name.Should().Be("#Address.#Street.#Name"); - } - - [Fact] - public void Person_AttributeReferences_ValueAreSetDynamicallySample1() - { - var valueTracker = PersonMarshaller.AttributeExpressionValueTracker(); - - valueTracker.Address.Street.Name.Should().Be(":p1"); - valueTracker.FirstName.Should().Be(":p2"); - valueTracker.CreatedAt.Should().Be(":p3"); - } - - [Fact] - public void Person_AttributeReferences_ValueAreSetDynamicallySample2() - { - var valueTracker = PersonMarshaller.AttributeExpressionValueTracker(); - - valueTracker.Address.Name.Should().Be(":p1"); - valueTracker.CreatedAt.Should().Be(":p2"); - valueTracker.FirstName.Should().Be(":p3"); - } -} - -public static class AssertionExtensions -{ - public static IEnumerable TraverseByValueTracker(this IDynamoDBMarshaller source, - Func recursiveSelector, int count) - where T3 : IAttributeExpressionNameTracker - where T4 : IAttributeExpressionValueTracker - { - var attributeReferences = source.AttributeExpressionValueTracker(); - - for (var i = 0; i < count; i++) - { - yield return attributeReferences; - - attributeReferences = recursiveSelector(attributeReferences); - } - } - - public static IEnumerable TraverseByNameTracker( - this IDynamoDBMarshaller source, - Func recursiveSelector, - int count - ) - where T3 : IAttributeExpressionNameTracker - where T4 : IAttributeExpressionValueTracker - { - var attributeReferences = source.AttributeExpressionNameTracker(); - - for (var i = 0; i < count; i++) - { - yield return attributeReferences; - - attributeReferences = recursiveSelector(attributeReferences); - } - } -} - -public class InheritedClass : ClassWithOverriddenAttributeName -{ -} - -public class ClassWithOverriddenAttributeName -{ - [DynamoDBProperty("SomethingElse")] - public string Foo { get; set; } = null!; -} - -public class DuplicatedNavigationProperties -{ - public Person Person1 { get; set; } = null!; - public Person Person2 { get; set; } = null!; -} - -public class SelfReferencingClass -{ - public string Field1 { get; set; } = null!; - public SelfReferencingClass Self { get; set; } = null!; - public string Field2 { get; set; } = null!; -} - -public class Person -{ - public string FirstName { get; set; } = null!; - public DateTime CreatedAt { get; set; } - public AddressModel Address { get; set; } = null!; - - public class AddressModel - { - public string Name { get; set; } = null!; - public StreetModel Street { get; set; } = null!; - - public class StreetModel - { - public string Name { get; set; } = null!; - } - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Asserters/MarshalAsserter.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Asserters/MarshalAsserter.cs deleted file mode 100644 index 0afb9f47..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Asserters/MarshalAsserter.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Amazon.DynamoDBv2.Model; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -public abstract class MarshalAsserter -{ - protected abstract IEnumerable<(T element, Dictionary attributeValues)> Arguments(); - protected abstract T UnmarshallImplementation(Dictionary attributeValues); - protected abstract Dictionary MarshallImplementation(T element); - - [Fact] - public void Marshall() - { - Arguments().Should() - .AllSatisfy(x => - { - var marshallImplementation = MarshallImplementation(x.element); - marshallImplementation.Should().BeEquivalentTo(x.attributeValues); - }); - } - - [Fact] - public void Unmarshall() - { - Arguments().Should() - .AllSatisfy(x => - { - var unmarshallImplementation = UnmarshallImplementation(x.attributeValues); - unmarshallImplementation.Should().BeEquivalentTo(x.element); - }); - } - - [Fact] - public void Marshall_IsEquivalentTo_UnmarshallResult() - { - Arguments().Should().AllSatisfy(x => - { - var marshalImplementation = MarshallImplementation(x.element); - var unmarshallImplementation = UnmarshallImplementation(marshalImplementation); - unmarshallImplementation.Should().BeEquivalentTo(x.element); - }); - } - - [Fact] - public void UnMarshall_IsEquivalentTo_MarshallResult() - { - Arguments().Should().AllSatisfy(x => - { - var unmarshallImplementation = UnmarshallImplementation(x.attributeValues); - var marshallImplementation = MarshallImplementation(unmarshallImplementation); - marshallImplementation.Should().BeEquivalentTo(x.attributeValues); - }); - } - - [Fact] - public void Unmarshall_NullAttributeValues_ShouldThrow() - { - var act = () => UnmarshallImplementation(null!); - - act.Should().Throw(); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Asserters/RecordMarshalAsserter.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Asserters/RecordMarshalAsserter.cs deleted file mode 100644 index 9251aede..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Asserters/RecordMarshalAsserter.cs +++ /dev/null @@ -1,67 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Exceptions; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -public abstract class RecordMarshalAsserter : MarshalAsserter> -{ - private readonly IEnumerable _arguments; - private readonly Func _fn; - - protected RecordMarshalAsserter(IEnumerable arguments, Func fn) - { - _arguments = arguments; - _fn = fn; - } - - protected override IEnumerable<(Container element, Dictionary attributeValues)> - Arguments() - { - foreach (var argument in _arguments) - { - var container = new Container(argument); - - yield return _fn(argument) is { } attributeValue - ? (container, - new Dictionary { { nameof(Container.Element), attributeValue } }) - : (container, new Dictionary()); - } - } - - - [Fact] - public void Marshall_Null_ShouldThrow() - { - var act = () => MarshallImplementation(null!); - - act.Should().Throw(); - } -} - -public record Container(T Element); - -public abstract class NotNullRecordElementMarshalAsserter : RecordMarshalAsserter where T : class -{ - protected NotNullRecordElementMarshalAsserter(IEnumerable arguments, Func fn) : base( - arguments, fn) - { - } - - [Fact] - public void Marshall_NullDataMember_ShouldThrow() - { - var act = () => MarshallImplementation(new Container(null!)); - act.Should().Throw().Which.MemberName.Should().Be(nameof(Container.Element)); - } - - [Fact] - public void Unmarshall_NullDataMember_ShouldThrow() - { - var act = () => UnmarshallImplementation(new Dictionary - { - { nameof(Container.Element), null! } - }); - - act.Should().Throw().Which.MemberName.Should().Be(nameof(Container.Element)); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/AddCustomConverterTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/AddCustomConverterTests.cs deleted file mode 100644 index e9eb43de..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/AddCustomConverterTests.cs +++ /dev/null @@ -1,77 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Converters; -using DynamoDBGenerator.Options; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.ConverterTests; - -[DynamoDbMarshallerOptions(Converters = typeof(Converter))] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class AddCustomConverterTests : RecordMarshalAsserter -{ - public AddCustomConverterTests() : base(new[] { new Money(32932, "SEK"), new Money(3923, "EURO") }, - MoneyConverter.WriteImplementation) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } - - public class Converter : AttributeValueConverters - { - public MoneyConverter MoneyConverter { get; } = new(); - } - - public class MoneyConverter : IValueTypeConverter - { - public Money? Read(AttributeValue attributeValue) - { - return Money.Parse(attributeValue.S); - } - - public AttributeValue Write(Money element) - { - return WriteImplementation(element); - } - - public static AttributeValue WriteImplementation(Money element) - { - return new AttributeValue { S = element.ToString() }; - } - } - - - public readonly struct Money - { - public string Currency { get; } - public decimal Value { get; } - - public Money(decimal value, string currency) - { - Value = value; - Currency = currency; - } - - - public override string ToString() - { - return $"{Value}:{Currency}"; - } - - public static Money Parse(string input) - { - var index = input.IndexOf(':'); - var currency = input[(index + 1)..]; - var value = input[..index]; - return new Money(decimal.Parse(value), currency); - } - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/AddCustomConverterWithParamTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/AddCustomConverterWithParamTests.cs deleted file mode 100644 index 67e42dbd..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/AddCustomConverterWithParamTests.cs +++ /dev/null @@ -1,83 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Converters; -using DynamoDBGenerator.Options; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.ConverterTests; - -[DynamoDbMarshallerOptions(Converters = typeof(Converter))] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class AddCustomConverterWithParamTests : RecordMarshalAsserter -{ - public AddCustomConverterWithParamTests() : base(new[] { new Money(32932, "SEK"), new Money(3923, "EURO") }, - MoneyConverter.WriteImplementation) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller(new MarshallerOptions(new Converter(new MoneyConverter()))) - .Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller(new MarshallerOptions(new Converter(new MoneyConverter()))).Marshall(element); - } - - public class Converter : AttributeValueConverters - { - public Converter(MoneyConverter moneyConverter) - { - MoneyConverter = moneyConverter; - } - - public MoneyConverter MoneyConverter { get; } - } - - public class MoneyConverter : IValueTypeConverter - { - public Money? Read(AttributeValue attributeValue) - { - return Money.Parse(attributeValue.S); - } - - public AttributeValue Write(Money element) - { - return WriteImplementation(element); - } - - public static AttributeValue WriteImplementation(Money element) - { - return new AttributeValue { S = element.ToString() }; - } - } - - - public readonly struct Money - { - public string Currency { get; } - public decimal Value { get; } - - public Money(decimal value, string currency) - { - Value = value; - Currency = currency; - } - - - public override string ToString() - { - return $"{Value}:{Currency}"; - } - - public static Money Parse(string input) - { - var index = input.IndexOf(':'); - var currency = input[(index + 1)..]; - var value = input[..index]; - return new Money(decimal.Parse(value), currency); - } - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/OverrideDefaultConverterTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/OverrideDefaultConverterTests.cs deleted file mode 100644 index e895252f..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/OverrideDefaultConverterTests.cs +++ /dev/null @@ -1,56 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Converters; -using DynamoDBGenerator.Options; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.ConverterTests; - -[DynamoDbMarshallerOptions(Converters = typeof(Converters))] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class OverrideDefaultConverterTests : RecordMarshalAsserter -{ - public OverrideDefaultConverterTests() : - base(new[] { new DateTime(2023, 12, 31), new DateTime(2023, 12, 30) }, - UnixEpochDateTimeConverter.WriteImplementation) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } - - public class Converters : AttributeValueConverters - { - public Converters() - { - DateTimeConverter = new UnixEpochDateTimeConverter(); - } - } - - public class UnixEpochDateTimeConverter : IValueTypeConverter - { - public DateTime? Read(AttributeValue attributeValue) - { - return long.TryParse(attributeValue.N, out var epoch) - ? DateTimeOffset.FromUnixTimeSeconds(epoch).DateTime - : null; - } - - public AttributeValue Write(DateTime element) - { - return WriteImplementation(element); - } - - public static AttributeValue WriteImplementation(DateTime element) - { - return new AttributeValue { N = new DateTimeOffset(element).ToUnixTimeSeconds().ToString() }; - } - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/OverrideDefaultConverterWithParamTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/OverrideDefaultConverterWithParamTests.cs deleted file mode 100644 index dc624c71..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/ConverterTests/OverrideDefaultConverterWithParamTests.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Converters; -using DynamoDBGenerator.Options; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.ConverterTests; - -[DynamoDbMarshallerOptions(Converters = typeof(Converters))] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class OverrideDefaultConverterWithParamTests : RecordMarshalAsserter -{ - public OverrideDefaultConverterWithParamTests() : - base(new[] { new DateTime(2023, 12, 31), new DateTime(2023, 12, 30) }, - UnixEpochDateTimeConverter.WriteImplementation) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller(new MarshallerOptions(new Converters(new UnixEpochDateTimeConverter()))) - .Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller(new MarshallerOptions(new Converters(new UnixEpochDateTimeConverter()))) - .Marshall(element); - } - - public class Converters : AttributeValueConverters - { - public Converters(UnixEpochDateTimeConverter converter) - { - DateTimeConverter = converter; - } - } - - public class UnixEpochDateTimeConverter : IValueTypeConverter - { - public DateTime? Read(AttributeValue attributeValue) - { - return long.TryParse(attributeValue.N, out var epoch) - ? DateTimeOffset.FromUnixTimeSeconds(epoch).DateTime - : null; - } - - public AttributeValue Write(DateTime element) - { - return WriteImplementation(element); - } - - public static AttributeValue WriteImplementation(DateTime element) - { - return new AttributeValue { N = new DateTimeOffset(element).ToUnixTimeSeconds().ToString() }; - } - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ArrayTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ArrayTests.cs deleted file mode 100644 index 7432a0be..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ArrayTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -// ReSharper disable once UnusedType.Global -public partial class NoneNullableArrayElementTests : NoneNullableElementAsserter -{ - public NoneNullableArrayElementTests() : base(Strings(), x => x.ToArray()) - { - } - - protected override Dictionary MarshallImplementation(Container text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -// ReSharper disable once UnusedType.Global -public partial class NullableArrayElementTests : NullableElementAsserter -{ - public NullableArrayElementTests() : base(Strings(), x => x.ToArray()) - { - } - - protected override Dictionary MarshallImplementation(Container text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/CollectionAsserter.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/CollectionAsserter.cs deleted file mode 100644 index 02be0ce2..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/CollectionAsserter.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Exceptions; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -public abstract class CollectionAsserter : MarshalAsserter> - where TCollection : IEnumerable -{ - private readonly Func _av; - - private readonly Func, TCollection> _fn; - private readonly IEnumerable _seed; - - - protected CollectionAsserter(IEnumerable seed, Func av, - Func, TCollection> fn) - { - _seed = seed; - _av = av; - _fn = fn; - } - - protected (Container element, Dictionary attributeValues) CreateArguments( - IEnumerable arg) - { - var items = arg.ToList(); - var element = new Container(_fn(items)); - return ( - element, - new Dictionary - { - { - nameof(Container.Element), new AttributeValue { L = items.Select(_av).ToList() } - } - } - ); - } - - - protected override IEnumerable<(Container element, Dictionary attributeValues)> - Arguments() - { - yield return CreateArguments(_seed); - } - - - [Fact] - public void Marshall_Empty() - { - var (text, attributeValues) = CreateArguments(Enumerable.Empty()); - MarshallImplementation(text).Should().BeEquivalentTo(attributeValues); - } - - [Fact] - public void Unmarshall_Empty() - { - var (text, attributeValues) = CreateArguments(Enumerable.Empty()); - UnmarshallImplementation(attributeValues).Should().BeEquivalentTo(text); - } - - [Fact] - public void Unmarshall_EmptyAttributeValues_ShouldThrow() - { - var act = () => UnmarshallImplementation(new Dictionary()); - - act.Should().Throw().Which.MemberName.Should() - .Be(nameof(Container.Element)); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/NoneNullableElementAsserter.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/NoneNullableElementAsserter.cs deleted file mode 100644 index 108d19ee..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/NoneNullableElementAsserter.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Exceptions; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -public abstract class NoneNullableElementAsserter : CollectionAsserter - where TCollection : IEnumerable where TElement : class -{ - protected NoneNullableElementAsserter(IEnumerable seed, Func, TCollection> func) : - base(seed, x => new AttributeValue { S = x?.ToString() }, func) - { - } - - protected static IEnumerable Strings() - { - yield return "foo"; - yield return "bar"; - yield return "john"; - yield return "doe"; - yield return ""; - } - - - [Fact] - public void Marshall_NullElement_ShouldThrow() - { - Arguments().Should().AllSatisfy(x => - { - var items = x.element.Element.Append(null).ToList(); - var args = CreateArguments(items!); - var act = () => MarshallImplementation(args.element); - act.Should().Throw().Which.MemberName.Should() - .Be($"{nameof(Container.Element)}[{items.IndexOf(null)}]"); - }); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/NullableElementAsserter.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/NullableElementAsserter.cs deleted file mode 100644 index 4a2ce6c9..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/Asserters/NullableElementAsserter.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -public abstract class NullableElementAsserter : CollectionAsserter - where TCollection : IEnumerable where TElement : class? -{ - protected NullableElementAsserter(IEnumerable seed, Func, TCollection> fn) : base( - seed, x => x is null ? new AttributeValue { NULL = true } : new AttributeValue { S = x.ToString() }, fn) - { - } - - protected static IEnumerable Strings() - { - yield return "foo"; - yield return "bar"; - yield return "john"; - yield return "doe"; - yield return ""; - } - - [Fact] - public void Marshall_NullElement_ShouldAddNullAttributeValue() - { - Arguments().Should().AllSatisfy(x => - { - var items = x.element.Element.Append(null).ToList(); - var args = CreateArguments(items!); - - MarshallImplementation(args.element).Should().SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(Container.Element)); - x.Value.L.Should().NotBeNullOrEmpty(); - x.Value.L.Should().HaveSameCount(items); - x.Value.L[items.Count - 1].Should().BeEquivalentTo(new AttributeValue { NULL = true }); - }); - }); - } - - [Fact] - public void Unmarshall_NullElement_ShouldAddNullAttributeValue() - { - Arguments().Should().AllSatisfy(x => - { - var items = x.element.Element.Append(null).ToList(); - var args = CreateArguments(items!); - - var collection = UnmarshallImplementation(args.attributeValues).Element.ToList(); - - args.attributeValues.Should().SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(Container.Element)); - x.Value.L.Should().NotBeNullOrEmpty(); - x.Value.L.Should().HaveSameCount(collection); - - collection[x.Value.L.Count - 1].Should().BeNull(); - }); - }); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/EnumerableTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/EnumerableTests.cs deleted file mode 100644 index 5c29f881..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/EnumerableTests.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class NoneNullableEnumerableElementTests : NoneNullableElementAsserter, string> -{ - public NoneNullableEnumerableElementTests() : base(Strings(), x => x) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Should_NotBeLoaded() - { - var (_, attributeValues) = CreateArguments(new[] { "Hello!" }); - - var res = ContainerMarshaller.Unmarshall(attributeValues); - - res.Element.TryGetNonEnumeratedCount(out _).Should().BeFalse(); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableEnumerableElementTests : NullableElementAsserter, string?> -{ - public NullableEnumerableElementTests() : base(Strings(), x => x) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Should_NotBeLoaded() - { - var (_, attributeValues) = CreateArguments(new[] { "Hello!" }); - - var res = ContainerMarshaller.Unmarshall(attributeValues); - - res.Element.TryGetNonEnumeratedCount(out _).Should().BeFalse(); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ICollectionTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ICollectionTests.cs deleted file mode 100644 index 118fade6..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ICollectionTests.cs +++ /dev/null @@ -1,60 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class NoneNullableICollectionElementTests : NoneNullableElementAsserter, string> -{ - public NoneNullableICollectionElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeList() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class NullableICollectionElementTests : NullableElementAsserter, string?> -{ - public NullableICollectionElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeList() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IListTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IListTests.cs deleted file mode 100644 index 268b9c2b..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IListTests.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class NoneNullableIListElementTests : NoneNullableElementAsserter, string> -{ - public NoneNullableIListElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeList() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableIListElementTests : NullableElementAsserter, string?> -{ - public NullableIListElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeList() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IReadOnlyCollectionTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IReadOnlyCollectionTests.cs deleted file mode 100644 index 88895aaf..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IReadOnlyCollectionTests.cs +++ /dev/null @@ -1,64 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class - NoneNullableIReadOnlyCollectionElementTests : NoneNullableElementAsserter, string> -{ - public NoneNullableIReadOnlyCollectionElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation( - Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeList() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType()); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class - NullableIReadOnlyCollectionElementTests : NullableElementAsserter, string?> -{ - public NullableIReadOnlyCollectionElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation( - Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeList() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IReadOnlyListTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IReadOnlyListTests.cs deleted file mode 100644 index be123424..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/IReadOnlyListTests.cs +++ /dev/null @@ -1,60 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class NoneNullableIReadOnlyListElementTests : NoneNullableElementAsserter, string> -{ - public NoneNullableIReadOnlyListElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeList() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType()); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class NullableIReadOnlyListElementTests : NullableElementAsserter, string?> -{ - public NullableIReadOnlyListElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeList() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ListTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ListTests.cs deleted file mode 100644 index b007ed56..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Collections/ListTests.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Collections; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class NoneNullableListElementTests : NoneNullableElementAsserter, string> -{ - public NoneNullableListElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -// ReSharper disable once UnusedType.Global -public partial class NullableListElementTests : NullableElementAsserter, string?> -{ - public NullableListElementTests() : base(Strings(), x => x.ToList()) - { - } - - protected override Dictionary MarshallImplementation(Container> text) - { - return ContainerMarshaller.Marshall(text); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Dictionaries/DictionaryTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Dictionaries/DictionaryTests.cs deleted file mode 100644 index 642bd3f8..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Dictionaries/DictionaryTests.cs +++ /dev/null @@ -1,112 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Dictionaries; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class DictionaryTests : RecordMarshalAsserter> -{ - private const string Element1 = "hello"; - private const string Element2 = "world"; - - public DictionaryTests() : base(new[] - { - new Dictionary - { - { Element1, new Entity("hey", "ho") }, - { Element2, new Entity("hey1", "ho1") } - }, - new Dictionary - { - { Element2, new Entity("something", "else") }, - { Element1, new Entity("something1", "else1") } - } - }, x => new AttributeValue - { - M = x.ToDictionary(y => y.Key, y => new AttributeValue - { - M = new Dictionary - { - { nameof(y.Value.Foo), new AttributeValue { S = y.Value.Foo } }, - { nameof(y.Value.Bar), new AttributeValue { S = y.Value.Bar } } - } - } - ) - }) - { - } - - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation( - Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - public record Entity(string Foo, string Bar); -} - -//[DynamoDBMarshaller(EntityType = typeof(Container>))] -//public partial class -// NullableDictionaryElementsTests : RecordMarshalAsserter> -//{ -// private const string Element1 = "hello"; -// private const string Element2 = "world"; -// -// public NullableDictionaryElementsTests() : base(new Dictionary[] -// { -// new() -// { -// { Element1, new Entity("hey", "ho") }, -// { Element2, new Entity("hey1", "ho1") } -// }, -// new() -// { -// { Element2, new Entity("something", "else") }, -// { Element1, new Entity("something1", "else1") } -// }, -// new() -// { -// { "I dont exist", null }, -// } -// }, x => -// { -// return new AttributeValue -// { -// M = x -// .Where(y => y.Value is not null) -// .ToDictionary(y => y.Key, y => new AttributeValue -// { -// M = new Dictionary -// { -// { nameof(y.Value.Foo), new AttributeValue { S = y.Value!.Foo } }, -// { nameof(y.Value.Bar), new AttributeValue { S = y.Value.Bar } } -// } -// } -// ) -// }; -// }) -// { -// } -// -// -// protected override Container> UnmarshallImplementation( -// Dictionary attributeValues) -// { -// return ContainerMarshaller.Unmarshall(attributeValues); -// } -// -// protected override Dictionary MarshallImplementation( -// Container> element) -// { -// return ContainerMarshaller.Marshall(element); -// } -// public record Entity(string Foo, string Bar); -//} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Lookups/LookupTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Lookups/LookupTests.cs deleted file mode 100644 index af863b07..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Lookups/LookupTests.cs +++ /dev/null @@ -1,136 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Lookups; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class ILookupTests : RecordMarshalAsserter> -{ - public ILookupTests() : base(new[] - { - new List - { - "abc", "dfg" - }.ToLookup(x => x.Length.ToString(), s => new Entity(s, s)), - new List - { - "hello", "world", "aa" - }.ToLookup(x => x.Length.ToString(), s => new Entity(s, s)), - new List - { - "", "world" - }.ToLookup(x => x.Length.ToString(), s => new Entity(s, s)) - }, x => - { - return new AttributeValue - { - M = x.ToDictionary(y => y.Key, y => new AttributeValue - { - L = y.Select(z => new AttributeValue - { - M = new Dictionary - { - { - nameof(z.Bar), new AttributeValue - { - S = z.Bar - } - }, - { - nameof(z.Foo), new AttributeValue - { - S = z.Foo - } - } - } - }).ToList() - } - ) - }; - }) - { - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation( - Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - public record Entity(string Foo, string Bar); -} - -//[DynamoDBMarshaller(EntityType = typeof(Container>))] -//public partial class -// NullableILookupElementsTests : RecordMarshalAsserter> -//{ -// public record Entity(string Foo, string Bar); -// -// public NullableILookupElementsTests() : base(new ILookup[] -// { -// new List -// { -// "abc", "dfg" -// }.ToLookup(x => x.Length.ToString(), s => new Entity(s, s))!, -// new List -// { -// "hello", "world", "aa" -// }.ToLookup(x => x.Length.ToString(), s => new Entity(s, s))!, -// new List -// { -// "", "world" -// }.ToLookup(x => x.Length.ToString(), s => new Entity(s, s))!, -// new List -// { -// "", "world" -// }.ToLookup(x => x.Length.ToString(), s => (Entity)null!)!, -// }, x => -// { -// return new AttributeValue -// { -// M = x.Where(x => x.Any(y => y is not null)).ToDictionary(y => y.Key, y => new AttributeValue -// { -// L = y.Select(z => new AttributeValue -// { -// M = new Dictionary -// { -// { -// nameof(z.Bar), new AttributeValue -// { -// S = z!.Bar -// } -// }, -// { -// nameof(z.Foo), new AttributeValue -// { -// S = z.Foo -// } -// } -// } -// }).ToList() -// } -// ) -// }; -// }) -// { -// } -// -// protected override Container> UnmarshallImplementation( -// Dictionary attributeValues) -// { -// return ContainerMarshaller.Unmarshall(attributeValues); -// } -// -// protected override Dictionary MarshallImplementation( -// Container> element) -// { -// return ContainerMarshaller.Marshall(element); -// } -//} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/NoneNullableElementAsserter.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/NoneNullableElementAsserter.cs deleted file mode 100644 index 4f5b48bc..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/NoneNullableElementAsserter.cs +++ /dev/null @@ -1,32 +0,0 @@ -using DynamoDBGenerator.Exceptions; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -public abstract class NoneNullableElementAsserter( - IEnumerable seed, - Func, TSet> fn -) : SetAsserter(seed, fn) - where TSet : IEnumerable - where TElement : class -{ - protected static IEnumerable Strings() - { - yield return "John"; - yield return "Tom"; - yield return "Michael"; - } - - [Fact] - public void Marshall_NullElement_ShouldThrow() - { - Arguments().Should().AllSatisfy(x => - { - var items = x.element.Element.Append(null).ToList(); - var args = CreateArguments(items!); - var act = () => MarshallImplementation(args.element); - act.Should().Throw().Which.MemberName.Should() - .Be($"{nameof(Container.Element)}[UNKNOWN]"); - }); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/NullableElementAsserter.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/NullableElementAsserter.cs deleted file mode 100644 index 908a3890..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/NullableElementAsserter.cs +++ /dev/null @@ -1,29 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -public abstract class NullableElementAsserter : SetAsserter - where TSet : IEnumerable where TElement : class -{ - protected NullableElementAsserter(IEnumerable seed, Func, TSet> fn) : base(seed, - fn) - { - } - - protected static IEnumerable Strings() - { - yield return "John"; - yield return "Tom"; - yield return "Michael"; - } - - [Fact] - public void Marshall_NullElement_ShouldNotThrow() - { - Arguments().Should().AllSatisfy(x => - { - var items = x.element.Element.Append(null).ToList(); - var args = CreateArguments(items); - var act = () => MarshallImplementation(args.element); - act.Should().NotThrow(); - }); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/SetAsserter.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/SetAsserter.cs deleted file mode 100644 index 26a04382..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/Asserters/SetAsserter.cs +++ /dev/null @@ -1,86 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Exceptions; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -public abstract class SetAsserter( - IEnumerable seed, - Func, TSet> fn -) : MarshalAsserter> - where TSet : IEnumerable -{ - private static readonly bool IsStringSet = typeof(TElement) == typeof(string); - - - protected override IEnumerable<(Container element, Dictionary attributeValues)> - Arguments() - { - yield return CreateArguments(seed); - } - - protected (Container element, Dictionary attributeValues) CreateArguments( - IEnumerable arg) - { - var res = fn(arg); - if (res is not IReadOnlySet or not ISet) - throw new InvalidOperationException( - $"The type '{nameof(TSet)}' must either one of 'ISet<{nameof(TElement)}>, 'IReadonlySet<{nameof(TElement)}>'."); - - return ( - new Container(res), - new Dictionary - { - { - nameof(Container.Element), - IsStringSet - ? new AttributeValue { SS = res.Select(x => x?.ToString()).ToList() } - : new AttributeValue { NS = res.Select(x => x?.ToString()).ToList() } - } - } - ); - } - - [Fact] - public void Marshall_Empty() - { - var (text, attributeValues) = CreateArguments(Enumerable.Empty()); - MarshallImplementation(text).Should().BeEquivalentTo(attributeValues); - } - - [Fact] - public void Unmarshall_Empty() - { - var (text, attributeValues) = CreateArguments(Enumerable.Empty()); - UnmarshallImplementation(attributeValues).Should().BeEquivalentTo(text); - } - - [Fact] - public void Unmarshall_EmptyAttributeValues_ShouldThrow() - { - var act = () => UnmarshallImplementation(new Dictionary()); - - act.Should().Throw().Which.MemberName.Should() - .Be(nameof(Container.Element)); - } - - [Fact] - public void Marshall_NoDuplicated_Elements() - { - Arguments().Should().AllSatisfy(x => - { - var items = x.element.Element.Concat(x.element.Element).ToList(); - items.Should().HaveCountGreaterThan(0); - var arguments = CreateArguments(items); - - MarshallImplementation(arguments.element).Should().SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(Container.Element)); - if (IsStringSet) - x.Value.SS.Should().OnlyHaveUniqueItems(); - else - x.Value.NS.Should().OnlyHaveUniqueItems(); - }); - }); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalHashSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalHashSetTests.cs deleted file mode 100644 index 0ff291b4..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalHashSetTests.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class DecimalHashSetTests() - : SetAsserter, decimal>([2032m, 0.323232932m, 0.9329392m], x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalIReadOnlySetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalIReadOnlySetTests.cs deleted file mode 100644 index 66b7294d..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalIReadOnlySetTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class DecimalIReadOnlySetTests() : SetAsserter, decimal>([2032m, 0.323232932m, 0.9329392m], x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalISetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalISetTests.cs deleted file mode 100644 index fce0ea98..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalISetTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class DecimalISetTests() : SetAsserter, decimal>([2032m, 0.323232932m, 0.9329392m], x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalSortedSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalSortedSetTests.cs deleted file mode 100644 index 1f81991d..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/DecimalSortedSetTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class DecimalSortedSetTests() : SetAsserter, decimal>([2032m, 0.323232932m, 0.9329392m], x => new SortedSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntHashSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntHashSetTests.cs deleted file mode 100644 index c8b9f0cd..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntHashSetTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class IntHashSetTests() : SetAsserter, int>([2, 3, 4, 5], x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntIReadOnlySetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntIReadOnlySetTests.cs deleted file mode 100644 index 5913f026..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntIReadOnlySetTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class IntIReadOnlySetTests() : SetAsserter, int>([2, 3, 4, 5], x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntISetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntISetTests.cs deleted file mode 100644 index 26b4c3ed..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntISetTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class IntISetTests() : SetAsserter, int>([2, 3, 4, 5], x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntSortedSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntSortedSetTests.cs deleted file mode 100644 index ea9bd50e..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/IntSortedSetTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class IntSortedSetTests() : SetAsserter, int>([2, 3, 4, 5], x => new SortedSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalHashSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalHashSetTests.cs deleted file mode 100644 index d9dd2789..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalHashSetTests.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableDecimalHashSetTests() - : SetAsserter, decimal?>([2032m, 0.323232932m, 0.9329392m, null], x => new HashSet(x)) -{ - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalIReadOnlySetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalIReadOnlySetTests.cs deleted file mode 100644 index b3f143f5..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalIReadOnlySetTests.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableDecimalIReadOnlySetTests() : SetAsserter, decimal?>([2032m, 0.323232932m, 0.9329392m, null], x => new HashSet(x)) -{ - protected override Container> UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalISetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalISetTests.cs deleted file mode 100644 index a95f3a49..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalISetTests.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableDecimalISetTests() : SetAsserter, decimal?>([2032m, 0.323232932m, 0.9329392m, null], x => new HashSet(x)) -{ - protected override Container> UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalSortedSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalSortedSetTests.cs deleted file mode 100644 index e656c0f1..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableDecimalSortedSetTests.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableDecimalSortedSetTests() : SetAsserter, decimal?>([2032m, 0.323232932m, 0.9329392m, null], - x => new SortedSet(x)) -{ - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntHashSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntHashSetTests.cs deleted file mode 100644 index ae08ab77..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntHashSetTests.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableIntHashSetTests() - : SetAsserter, int?>([2, 3, null, 4, 5], x => new HashSet(x)) -{ - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntIReadOnlyTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntIReadOnlyTests.cs deleted file mode 100644 index c7557fa0..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntIReadOnlyTests.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableIntIReadOnlyTests() : SetAsserter, int?>([2, 3, null, 4, 5], x => new HashSet(x)) -{ - protected override Container> UnmarshallImplementation( - Dictionary attributeValues - ) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntISetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntISetTests.cs deleted file mode 100644 index 5a09943d..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntISetTests.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableIntISetTests() : SetAsserter, int?>([2, 3, null, 4, 5], x => new HashSet(x)) -{ - protected override Container> UnmarshallImplementation( - Dictionary attributeValues - ) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntSortedSet.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntSortedSet.cs deleted file mode 100644 index e9f67b1e..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableIntSortedSet.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableIntSortedSet() : SetAsserter, int?>([2, 3, null, 4, 5], x => new SortedSet(x)) -{ - protected override Container> UnmarshallImplementation( - Dictionary attributeValues - ) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringHashSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringHashSetTests.cs deleted file mode 100644 index 59bd5ef9..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringHashSetTests.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableStringHashSetTests() : NullableElementAsserter, string>(Strings(), x => new HashSet(x)) -{ - protected override Container> UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringIReadOnlySetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringIReadOnlySetTests.cs deleted file mode 100644 index 99d50198..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringIReadOnlySetTests.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableStringIReadOnlySetTests() : NullableElementAsserter, string>(Strings(), x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeHashset() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringISetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringISetTests.cs deleted file mode 100644 index dcc13831..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringISetTests.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableStringISetTests() : NullableElementAsserter, string>(Strings(), x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeHashset() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringSortedSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringSortedSetTests.cs deleted file mode 100644 index 6fd82c9b..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/NullableStringSortedSetTests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class NullableStringSortedSetTests() : NullableElementAsserter, string>(Strings(), x => new SortedSet(x)) -{ - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/SortedStringSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/SortedStringSetTests.cs deleted file mode 100644 index a521925e..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/SortedStringSetTests.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class SortedStringSetTests() : NoneNullableElementAsserter, string>(Strings(), x => new SortedSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeHashset() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringHashSetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringHashSetTests.cs deleted file mode 100644 index e81678ea..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringHashSetTests.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class StringHashSetTests() - : NoneNullableElementAsserter, string>(Strings(), x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringIReadOnlySetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringIReadOnlySetTests.cs deleted file mode 100644 index 5b7c8ebb..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringIReadOnlySetTests.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class StringIReadOnlySetTests() - : NoneNullableElementAsserter, string>(Strings(), x => new SortedSet(x)) -{ - protected override Dictionary MarshallImplementation( - Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeHashset() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringISetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringISetTests.cs deleted file mode 100644 index cebc1975..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Generics/Sets/StringISetTests.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Generics.Sets; - -[DynamoDBMarshaller(EntityType = typeof(Container>))] -public partial class StringISetTests() : NoneNullableElementAsserter, string>(Strings(), x => new HashSet(x)) -{ - protected override Dictionary MarshallImplementation(Container> element) - { - return ContainerMarshaller.Marshall(element); - } - - protected override Container> UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Implementation_ShouldBeHashset() - { - Arguments().Should().AllSatisfy(x => - ContainerMarshaller.Unmarshall(x.attributeValues).Element.Should().BeOfType>()); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/ComplexTupleTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/ComplexTupleTests.cs deleted file mode 100644 index c874d28a..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/ComplexTupleTests.cs +++ /dev/null @@ -1,232 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using AutoFixture; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Exceptions; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Tuples; - -[DynamoDBMarshaller(EntityType = - typeof((string FirstName, int Age, - IReadOnlyCollection<((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)> - PhoneAndEmail )))] -public partial class ComplexTupleTests : MarshalAsserter<(string FirstName, int Age, - IReadOnlyCollection<((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)> - PhoneAndEmail)> -{ - private static readonly Fixture Fixture = new(); - - public static IEnumerable InvalidData - { - get - { - yield return new object[] - { - "FirstName", - ( - null as string, - 2, - Array.Empty<((string Address, string? ZipCode), (string Email, string Phone)?)>() - ) - }; - - yield return new object[] - { - "Address", - ( - "Bob", - 2, - new ((string? Address, string? ZipCode), (string Email, string Phone)?)[] - { - ((null, "ZIP"), ("EMAIL", "+PHONE")) - } - ) - }; - - yield return new object[] - { - "FirstName", - ( - null as string, - 2, - new ((string? Address, string? ZipCode), (string Email, string Phone)?)[] - { - ((null, "ZIP"), ("EMAIL", "+PHONE")) - } - ) - }; - - yield return new object[] - { - "Email", - ( - "Bob", - 2, - new ((string Address, string? ZipCode), (string? Email, string Phone)?)[] - { - (("ADDRESS", "ZIP"), (null, "PHONE")) - } - ) - }; - - yield return new object[] - { - "Phone", - ( - "Bob", - 2, - new ((string Address, string? ZipCode), (string Email, string? Phone)?)[] - { - (("ADDRESS", "ZIP"), ("EMAIL", null)) - } - ) - }; - } - } - - private static ((string FirstName, int Age, - IReadOnlyCollection<((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)> - PhoneAndEmail) - tuple, Dictionary dict) Av( - (string FirstName, int Age, - IReadOnlyCollection<((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)> - PhoneAndEmail) tuple - ) - { - var dict = new Dictionary - { - { nameof(tuple.FirstName), new AttributeValue { S = tuple.FirstName } }, - { nameof(tuple.Age), new AttributeValue { N = tuple.Age.ToString() } }, - { - nameof(tuple.PhoneAndEmail), - new AttributeValue { L = tuple.PhoneAndEmail.Select(BuildPhoneAndMail).ToList() } - } - }; - - return (tuple, dict); - - static AttributeValue BuildPhoneAndMail( - ((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums) valueTuple) - { - var attributeValue = new AttributeValue - { - M = new Dictionary - { - { - nameof(valueTuple.Address), new AttributeValue - { - M = valueTuple.Address.ZipCode is null - ? new Dictionary - { - { - nameof(valueTuple.Address.Address), - new AttributeValue { S = valueTuple.Address.Address } - } - } - : new Dictionary - { - { - nameof(valueTuple.Address.Address), - new AttributeValue { S = valueTuple.Address.Address } - }, - { - nameof(valueTuple.Address.ZipCode), - new AttributeValue { S = valueTuple.Address.ZipCode } - } - } - } - } - } - }; - - if (valueTuple.Mediums is { } mediums) - attributeValue.M.Add(nameof(valueTuple.Mediums), new AttributeValue - { - M = new Dictionary - { - { nameof(mediums.Email), new AttributeValue { S = mediums.Email } }, - { nameof(mediums.Phone), new AttributeValue { S = mediums.Phone } } - } - }); - - return attributeValue; - } - } - - protected override IEnumerable<((string FirstName, int Age, - IReadOnlyCollection<((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)> - PhoneAndEmail) - element, Dictionary - attributeValues)> Arguments() - { - var customizationComposer = - Fixture - .Build<(string FirstName, int Age, - IReadOnlyCollection<((string Address, string? ZipCode) Address, (string Email, string Phone)? - Mediums)> - PhoneAndEmail)>(); - - yield return Av(customizationComposer.Create()); - - yield return Av( - customizationComposer.Create() switch - { - var a => a with { PhoneAndEmail = a.PhoneAndEmail.Select(y => y with { Mediums = null }).ToArray() } - } - ); - - yield return Av( - customizationComposer.Create() switch - { - var a => a with - { - PhoneAndEmail = a.PhoneAndEmail.Select(x => x with { Address = x.Address with { ZipCode = null } }) - .ToArray() - } - } - ); - } - - [Theory] - [MemberData(nameof(InvalidData))] - public void Unmarshall_NullField_Throws( - string dataMember, - (string FirstName, int Age, - ((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)[] PhoneAndEmail - ) arg) - { - var (_, dict) = Av(arg); - var act = () => ValueTupleMarshaller.Unmarshall(dict); - act.Should().Throw().Which.MemberName.Should().Be(dataMember); - } - - [Theory] - [MemberData(nameof(InvalidData))] - public void Marshall_NullField_Throws( - string dataMember, - (string FirstName, int Age, - ((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)[] PhoneAndEmail - ) arg) - { - var (e, _) = Av(arg); - var act = () => ValueTupleMarshaller.Marshall(e); - act.Should().Throw().Which.MemberName.Should().Be(dataMember); - } - - protected override (string FirstName, int Age, - IReadOnlyCollection<((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)> - PhoneAndEmail) - UnmarshallImplementation( - Dictionary attributeValues) - { - return ValueTupleMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation( - (string FirstName, int Age, - IReadOnlyCollection<((string Address, string? ZipCode) Address, (string Email, string Phone)? Mediums)> - PhoneAndEmail) element) - { - return ValueTupleMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/SimpleTupleTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/SimpleTupleTests.cs deleted file mode 100644 index 3b040cbf..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/SimpleTupleTests.cs +++ /dev/null @@ -1,76 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using AutoFixture; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Exceptions; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Tuples; - -[DynamoDBMarshaller(EntityType = typeof((string FirstName, string LastName, string? EmailAddress)))] -public partial class SimpleTupleTests : MarshalAsserter<(string FirstName, string LastName, string? EmailAddress)> -{ - private static readonly Fixture Fixture = new(); - - private static ((string, string, string? ), Dictionary) Av( - (string FirstName, string LastName, string? EmailAddress) tuple) - { - var dict = new Dictionary - { - { nameof(tuple.FirstName), new AttributeValue { S = tuple.FirstName } }, - { nameof(tuple.LastName), new AttributeValue { S = tuple.LastName } } - }; - - if (tuple.EmailAddress is null) - return (tuple, dict); - - dict[nameof(tuple.EmailAddress)] = new AttributeValue { S = tuple.EmailAddress }; - - return (tuple, dict); - } - - [Theory] - [InlineData(null, null, null, "FirstName")] - [InlineData(null, "ABC", null, "FirstName")] - [InlineData("ABC", null, null, "LastName")] - public void Marshall_NullField_Throws(string? firstName, string? lastName, string? emailAddress, string dataMember) - { - var (valueTuple, _) = Av((firstName!, lastName!, emailAddress)); - - var act = () => ValueTupleMarshaller.Marshall(valueTuple); - act.Should().Throw().Which.MemberName.Should().Be(dataMember); - } - - [Theory] - [InlineData(null, null, null, "FirstName")] - [InlineData(null, "ABC", null, "FirstName")] - [InlineData("ABC", null, null, "LastName")] - public void Unmarshall_NullField_Throws(string? firstName, string? lastName, string? emailAddress, - string? dataMember) - { - var (_, _attributeValues) = Av((firstName!, lastName!, emailAddress)); - - var act = () => ValueTupleMarshaller.Unmarshall(_attributeValues); - act.Should().Throw().Which.MemberName.Should().Be(dataMember); - } - - protected override IEnumerable<((string FirstName, string LastName, string? EmailAddress) element, - Dictionary attributeValues)> Arguments() - { - var builder = Fixture.Build<(string FirstName, string LastName, string? EmailAddress)>(); - - yield return Av(builder.Create()); - yield return Av(builder.With(x => x.EmailAddress, (string?)null).Create()); - } - - protected override (string FirstName, string LastName, string? EmailAddress) UnmarshallImplementation( - Dictionary attributeValues) - { - return ValueTupleMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation( - (string FirstName, string LastName, string? EmailAddress) element) - { - return ValueTupleMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/TupleArgumentTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/TupleArgumentTests.cs deleted file mode 100644 index 8799a007..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Tuples/TupleArgumentTests.cs +++ /dev/null @@ -1,226 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using AutoFixture; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Extensions; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Tuples; - -[DynamoDBMarshaller(EntityType = typeof(Animal), - ArgumentType = typeof((string Id, Animal.Status Status, DateTime TimeStamp)), AccessName = "SetStatus")] -[DynamoDBMarshaller(EntityType = typeof(Animal), AccessName = "SaveAnimal", - ArgumentType = typeof((Animal animal, Animal.Status adopted, Animal.Status pending)))] -public partial class TupleArgumentTests -{ - private static readonly Fixture Fixture; - - static TupleArgumentTests() - { - var fixture = new Fixture(); - fixture.Behaviors.OfType().ToList() - .ForEach(b => fixture.Behaviors.Remove(b)); - fixture.Behaviors.Add(new OmitOnRecursionBehavior()); - Fixture = fixture; - } - - private static Dictionary MapToAttributeValue(Animal animal) - { - return new Dictionary - { - { nameof(Animal.Id), new AttributeValue { S = animal.Id } }, - { nameof(Animal.Name), new AttributeValue { S = animal.Name } }, - { - nameof(Animal.Siblings), - new AttributeValue - { L = animal.Siblings.Select(x => new AttributeValue { M = MapToAttributeValue(x) }).ToList() } - }, - { - nameof(Animal.From), new AttributeValue - { - M = new Dictionary - { - { nameof(Animal.From.Country), new AttributeValue { S = animal.From.Country } } - } - } - }, - { nameof(Animal.AdoptionStatus), new AttributeValue { N = ((int)animal.AdoptionStatus).ToString() } }, - { - nameof(Animal.Metadata), new AttributeValue - { - M = new Dictionary - { - { - nameof(animal.Metadata.StatusSetAt), - new AttributeValue { S = animal.Metadata.StatusSetAt?.ToString("O") } - }, - { - nameof(animal.Metadata.CreatedAt), - new AttributeValue { S = animal.Metadata.CreatedAt.ToString("O") } - } - } - } - } - }; - } - - [Fact] - public void Marshall_SaveAnimal() - { - var animalBuilder = Fixture.Build(); - var animal = animalBuilder - .With(x => x.Siblings, new[] { animalBuilder.Create(), animalBuilder.Create(), animalBuilder.Create() }) - .Create(); - - SaveAnimal - .Marshall(animal) - .Should() - .BeEquivalentTo(MapToAttributeValue(animal)); - } - - - [Fact] - public void Marshall_SetStatus() - { - var animalBuilder = Fixture.Build(); - var animal = animalBuilder - .With(x => x.Siblings, new[] { animalBuilder.Create(), animalBuilder.Create(), animalBuilder.Create() }) - .Create(); - - SetStatus - .Marshall(animal) - .Should() - .BeEquivalentTo(MapToAttributeValue(animal)); - } - - - [Fact] - public void UnMarshall_SetStatus() - { - var animalBuilder = Fixture.Build(); - var animal = animalBuilder - .With(x => x.Siblings, new[] { animalBuilder.Create(), animalBuilder.Create(), animalBuilder.Create() }) - .Create(); - - SetStatus - .Unmarshall(MapToAttributeValue(animal)) - .Should() - .BeEquivalentTo(animal); - } - - [Fact] - public void UnMarshall_SaveAnimal() - { - var animalBuilder = Fixture.Build(); - var animal = animalBuilder - .With(x => x.Siblings, new[] { animalBuilder.Create(), animalBuilder.Create(), animalBuilder.Create() }) - .Create(); - - SaveAnimal - .Unmarshall(MapToAttributeValue(animal)) - .Should() - .BeEquivalentTo(animal); - } - - [Fact] - public void Interchangeable_SetStatus() - { - var animalBuilder = Fixture.Build(); - var animal = animalBuilder - .With(x => x.Siblings, new[] { animalBuilder.Create(), animalBuilder.Create(), animalBuilder.Create() }) - .Create(); - - SetStatus.Unmarshall(SetStatus.Marshall(animal)).Should().BeEquivalentTo(animal); - } - - [Fact] - public void Interchangeable_SaveAnimal() - { - var animalBuilder = Fixture.Build(); - var animal = animalBuilder - .With(x => x.Siblings, new[] { animalBuilder.Create(), animalBuilder.Create(), animalBuilder.Create() }) - .Create(); - - SaveAnimal.Unmarshall(SaveAnimal.Marshall(animal)).Should().BeEquivalentTo(animal); - } - - [Fact] - public void ToAttributeExpression_SetStatus() - { - var timeStamp = DateTime.Now; - var cases = Enum.GetValues().Select((status, i) => - (AttributeExpressions: SetStatus.ToAttributeExpression( - (i.ToString(), status, timeStamp), - (x, y) => $"{x.Id} = {y.Id} AND {x.AdoptionStatus} <> {y.Status}", - (x, y) => $"SET {x.AdoptionStatus} = {y.Status}, {x.Metadata.StatusSetAt} = {y.TimeStamp}" - ), - ExpectedId: i.ToString(), - Status: status) - ); - - cases.Should().AllSatisfy(o => - { - var (attributeExpression, expectedId, status) = o; - - attributeExpression.Expressions.Should().BeEquivalentTo("#Id = :p1 AND #AdoptionStatus <> :p2", - "SET #AdoptionStatus = :p2, #Metadata.#StatusSetAt = :p3"); - - attributeExpression.Names.Should().BeEquivalentTo(new Dictionary - { - { "#Id", "Id" }, - { "#AdoptionStatus", "AdoptionStatus" }, - { "#Metadata", "Metadata" }, - { "#StatusSetAt", "StatusSetAt" } - }); - - attributeExpression.Values.Should().BeEquivalentTo(new Dictionary - { - { ":p1", new AttributeValue { S = expectedId } }, - { ":p2", new AttributeValue { N = ((int)status).ToString() } }, - { ":p3", new AttributeValue { S = timeStamp.ToString("O") } } - }); - }); - } - - [Fact] - public void ToAttributeExpression_SaveAnimal() - { - var animal = Fixture.Create(); - var @case = SaveAnimal.ToAttributeExpression((animal, Animal.Status.Adopted, Animal.Status.Pending), - (x, y) => - $"{x.Id} = {y.animal.Id} AND ({x.AdoptionStatus} <> {y.adopted} OR {x.AdoptionStatus} <> {y.pending})"); - - @case.Expressions.Should().BeEquivalentTo("#Id = :p1 AND (#AdoptionStatus <> :p2 OR #AdoptionStatus <> :p3)"); - @case.Names.Should().BeEquivalentTo(new Dictionary - { - { "#Id", "Id" }, - { "#AdoptionStatus", "AdoptionStatus" } - }); - - @case.Values.Should().BeEquivalentTo(new Dictionary - { - { ":p1", new AttributeValue { S = animal.Id } }, - { ":p2", new AttributeValue { N = ((int)Animal.Status.Adopted).ToString() } }, - { ":p3", new AttributeValue { N = ((int)Animal.Status.Pending).ToString() } } - }); - } - - public record Animal( - string Id, - string Name, - IReadOnlyList Siblings, - Animal.Origin From, - Animal.Status AdoptionStatus, - Animal.MetaData Metadata) - { - public enum Status - { - Adopted = 1, - Pending = 2, - Denied = 3, - None = 4 - } - - public record Origin(string Country); - - public record MetaData(DateTime? StatusSetAt, DateTime CreatedAt); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/BoolTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/BoolTests.cs deleted file mode 100644 index 8efa5bef..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/BoolTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class BoolTests : RecordMarshalAsserter -{ - public BoolTests() : base(new[] { true, false }, x => new AttributeValue { BOOL = x }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableBoolTests : RecordMarshalAsserter -{ - public NullableBoolTests() : base(new[] { true, false }.Cast().Append(null), - x => x is null ? null : new AttributeValue { BOOL = x.Value }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ByteTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ByteTests.cs deleted file mode 100644 index f670a0e7..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ByteTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class ByteTests : RecordMarshalAsserter -{ - public ByteTests() : base(new byte[] { 134, 10 }, x => new AttributeValue { N = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableByteTests : RecordMarshalAsserter -{ - public NullableByteTests() : base(new byte?[] { 134, 10, null }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/CharTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/CharTests.cs deleted file mode 100644 index 7eaabf39..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/CharTests.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Exceptions; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class CharTests : RecordMarshalAsserter -{ - public CharTests() : base(new[] { 'A', 'C', 'D' }, x => new AttributeValue { S = x.ToString() }) - { - } - - [Fact(Skip = "TODO")] - public void Unmarshall_EmptyString_ShouldThrow() - { - var act = () => ContainerMarshaller.Unmarshall(new Dictionary - { { nameof(Container.Element), new AttributeValue { S = "" } } }); - act.Should().Throw(); - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableCharTests : RecordMarshalAsserter -{ - public NullableCharTests() : base(new[] { 'A', 'C', 'D' }.Cast().Append(null), - x => x is null ? null : new AttributeValue { S = x.ToString() }) - { - } - - [Fact(Skip = "TODO")] - public void Unmarshall_EmptyString_ShouldThrow() - { - var act = () => ContainerMarshaller.Unmarshall(new Dictionary - { { nameof(Container.Element), new AttributeValue { S = "" } } }); - act.Should().Throw(); - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateOnlyTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateOnlyTests.cs deleted file mode 100644 index cb0723e1..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateOnlyTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class DateOnlyTests : RecordMarshalAsserter -{ - public DateOnlyTests() : base(new[] { new DateOnly(2023, 12, 08), new DateOnly(2023, 12, 09) }, - x => new AttributeValue { S = x.ToString("O") }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableDateOnlyTests : RecordMarshalAsserter -{ - public NullableDateOnlyTests() : base( - new[] { new DateOnly(2023, 12, 08), new DateOnly(2023, 12, 09) }.Cast().Append(null), - x => x is null ? null : new AttributeValue { S = x.Value.ToString("O") }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateTimeOffsetTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateTimeOffsetTests.cs deleted file mode 100644 index 5cd0391a..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateTimeOffsetTests.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class DateTimeOffsetTests : RecordMarshalAsserter -{ - public DateTimeOffsetTests() : base(new[] { DateTimeOffset.Now, DateTimeOffset.Now.AddDays(1) }, - x => new AttributeValue { S = x.ToString("O") }) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableDateTimeOffsetTests : RecordMarshalAsserter -{ - public NullableDateTimeOffsetTests() : base( - new[] { DateTimeOffset.Now, DateTimeOffset.Now.AddDays(1) }.Cast().Append(null), - x => x is null ? null : new AttributeValue { S = x.Value.ToString("O") }) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateTimeTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateTimeTests.cs deleted file mode 100644 index b999af42..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DateTimeTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class DateTimeTests : RecordMarshalAsserter -{ - public DateTimeTests() : base(new[] { DateTime.Now, DateTime.Now.AddDays(1) }, - x => new AttributeValue { S = x.ToString("O") }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableDateTimeTests : RecordMarshalAsserter -{ - public NullableDateTimeTests() : base( - new[] { DateTime.Now, DateTime.Now.AddDays(1) }.Cast().Append(null), - x => x is null ? null : new AttributeValue { S = x.Value.ToString("O") }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DecimalTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DecimalTests.cs deleted file mode 100644 index 9fc5d7ac..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DecimalTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System.Globalization; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class DecimalTests : RecordMarshalAsserter -{ - public DecimalTests() : base(new[] { 30.32093290329m }, - x => new AttributeValue { N = x.ToString(CultureInfo.InvariantCulture) }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableDecimalTests : RecordMarshalAsserter -{ - public NullableDecimalTests() : base(new decimal?[] { null, 30.32093290329m }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString(CultureInfo.InvariantCulture) }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DoubleTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DoubleTests.cs deleted file mode 100644 index b1d19891..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/DoubleTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System.Globalization; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class DoubleTests : RecordMarshalAsserter -{ - public DoubleTests() : base(new[] { 30.9328932, 30.9328933 }, - x => new AttributeValue { N = x.ToString(CultureInfo.InvariantCulture) }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableDoubleTests : RecordMarshalAsserter -{ - public NullableDoubleTests() : base(new double?[] { null, 30.9328933 }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString(CultureInfo.InvariantCulture) }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/EnumTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/EnumTests.cs deleted file mode 100644 index 9c9fa810..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/EnumTests.cs +++ /dev/null @@ -1,278 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Options; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.Name)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class StringEnumTests : RecordMarshalAsserter -{ - public StringEnumTests() : base(new[] { DayOfWeek.Monday, DayOfWeek.Friday }, - x => new AttributeValue { S = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.Name)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableStringEnumTests : RecordMarshalAsserter -{ - public NullableStringEnumTests() : base(new DayOfWeek?[] { DayOfWeek.Monday, DayOfWeek.Friday, null }, - x => x is not null ? new AttributeValue { S = x.ToString() } : null) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.CaseInsensitiveName)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class StringCIEnumTests : RecordMarshalAsserter -{ - public StringCIEnumTests() : base(new[] { DayOfWeek.Monday, DayOfWeek.Friday }, - x => new AttributeValue { S = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Parsing_ShouldBeCaseInsensitive() - { - ContainerMarshaller.Unmarshall(new Dictionary - { - { - nameof(Container.Element), - new AttributeValue { S = DayOfWeek.Monday.ToString().ToUpper() } - } - }) - .Should() - .BeEquivalentTo(new Container(DayOfWeek.Monday)); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.CaseInsensitiveName)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableStringCIEnumTests : RecordMarshalAsserter -{ - public NullableStringCIEnumTests() : base(new DayOfWeek?[] { DayOfWeek.Monday, DayOfWeek.Friday, null }, - x => x is not null ? new AttributeValue { S = x.Value.ToString() } : null) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - [Fact] - public void Unmarshall_Parsing_ShouldBeCaseInsensitive() - { - ContainerMarshaller.Unmarshall(new Dictionary - { - { - nameof(Container.Element), - new AttributeValue { S = DayOfWeek.Monday.ToString().ToUpper() } - } - }) - .Should() - .BeEquivalentTo(new Container(DayOfWeek.Monday)); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.Integer)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class IntEnumTests : RecordMarshalAsserter -{ - public IntEnumTests() : base(Enum.GetValues(), x => new AttributeValue { N = ((int)x).ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.Integer)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableIntEnumTests : RecordMarshalAsserter -{ - public NullableIntEnumTests() : base(Enum.GetValues().Cast().Append(null), - x => x is null ? null : new AttributeValue { N = ((int)x).ToString() }) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class DefaultEnumTests : RecordMarshalAsserter -{ - public DefaultEnumTests() : base(Enum.GetValues(), x => new AttributeValue { N = ((int)x).ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class DefaultNullableEnumTests : RecordMarshalAsserter -{ - public DefaultNullableEnumTests() : base(Enum.GetValues().Cast().Append(null), - x => x is null ? null : new AttributeValue { N = ((int)x).ToString() }) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.UpperCaseName)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class UpperCaseEnumTests : RecordMarshalAsserter -{ - public UpperCaseEnumTests() : base(Enum.GetValues(), - x => new AttributeValue { S = x.ToString().ToUpperInvariant() }) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.UpperCaseName)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableUpperCaseEnumTests : RecordMarshalAsserter -{ - public NullableUpperCaseEnumTests() : base(Enum.GetValues().Cast().Append(null), - x => x is null ? null : new AttributeValue { S = x.Value.ToString().ToUpperInvariant() }) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.LowerCaseName)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class LowerCaseEnumTests : RecordMarshalAsserter -{ - public LowerCaseEnumTests() : base(Enum.GetValues(), - x => new AttributeValue { S = x.ToString().ToLowerInvariant() }) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDbMarshallerOptions(EnumConversion = EnumConversion.LowerCaseName)] -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableLowerCaseEnumTests : RecordMarshalAsserter -{ - public NullableLowerCaseEnumTests() : base(Enum.GetValues().Cast().Append(null), - x => x is null ? null : new AttributeValue { S = x.Value.ToString().ToLowerInvariant() }) - { - } - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/FloatTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/FloatTests.cs deleted file mode 100644 index 2b9a10d0..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/FloatTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System.Globalization; -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class FloatTests : RecordMarshalAsserter -{ - public FloatTests() : base(new[] { 3_000.5F }, - x => new AttributeValue { N = x.ToString(CultureInfo.InvariantCulture) }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableFloatTests : RecordMarshalAsserter -{ - public NullableFloatTests() : base(new float?[] { 3_000.5F, null }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString(CultureInfo.InvariantCulture) }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/GuidTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/GuidTests.cs deleted file mode 100644 index e06c883f..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/GuidTests.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class GuidTests : RecordMarshalAsserter -{ - public GuidTests() : base(new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() }, - x => new AttributeValue { S = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableGuidTests : RecordMarshalAsserter -{ - public NullableGuidTests() : base(new Guid?[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), null }, - x => x is null ? null : new AttributeValue { S = x.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/IntTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/IntTests.cs deleted file mode 100644 index 27a5d539..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/IntTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class IntTests : RecordMarshalAsserter -{ - public IntTests() : base(new[] { int.MaxValue, 9323, 328382 }, x => new AttributeValue { N = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableIntTests : RecordMarshalAsserter -{ - public NullableIntTests() : base(new int?[] { int.MaxValue, 9323, 328382, null }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/LongTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/LongTests.cs deleted file mode 100644 index 3bbff38c..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/LongTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class LongTests : RecordMarshalAsserter -{ - public LongTests() : base(new[] { long.MaxValue, 32, 832832838283 }, x => new AttributeValue { N = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableLongTests : RecordMarshalAsserter -{ - public NullableLongTests() : base(new long?[] { long.MaxValue, 32, 832832838283, null }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/MemoryStreamTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/MemoryStreamTests.cs deleted file mode 100644 index 36633846..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/MemoryStreamTests.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class MemoryStreamTests : NotNullRecordElementMarshalAsserter -{ - public MemoryStreamTests() : base( - new[] { new MemoryStream(new byte[] { 12 }), new MemoryStream(new byte[] { 13 }) }, - x => new AttributeValue { B = x }) - { - } - - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableMemoryStreamTests : RecordMarshalAsserter -{ - public NullableMemoryStreamTests() : base( - new[] { new MemoryStream(new byte[] { 12 }), new MemoryStream(new byte[] { 13 }) }, - x => x is null ? null : new AttributeValue { B = x }) - { - } - - - protected override Container UnmarshallImplementation( - Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/SByteTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/SByteTests.cs deleted file mode 100644 index 29258b2e..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/SByteTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class SByteTests : RecordMarshalAsserter -{ - public SByteTests() : base(new sbyte[] { 1, 3, 4, 5 }, x => new AttributeValue { N = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableSByteTests : RecordMarshalAsserter -{ - public NullableSByteTests() : base(new sbyte?[] { 1, 3, 4, 5 }.Append(null), - x => x is null ? null : new AttributeValue { N = x.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ShortTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ShortTests.cs deleted file mode 100644 index d622e8e3..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ShortTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class ShortTests : RecordMarshalAsserter -{ - public ShortTests() : base(new short[] { 12, 343, 22 }, s => new AttributeValue { N = s.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableShortTests : RecordMarshalAsserter -{ - public NullableShortTests() : base(new short?[] { 12, 343, 22, null }, - s => s is null ? null : new AttributeValue { N = s.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/StringTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/StringTests.cs deleted file mode 100644 index 47412965..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/StringTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class StringTests : NotNullRecordElementMarshalAsserter -{ - public StringTests() : base(new[] { "A", "B", "Hey", "Foo", "Bar" }, s => new AttributeValue { S = s }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableStringTests : RecordMarshalAsserter -{ - public NullableStringTests() : base(new[] { "A", "B", "Hey", "Foo", "Bar", null }, - s => s is null ? null : new AttributeValue { S = s }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/TimeOnlyTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/TimeOnlyTests.cs deleted file mode 100644 index e96f6588..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/TimeOnlyTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class TimeOnlyTests : RecordMarshalAsserter -{ - public TimeOnlyTests() : base(new[] { new TimeOnly(22, 12, 08), new TimeOnly(21, 12, 09) }, - x => new AttributeValue { S = x.ToString("O") }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableTimeOnlyTests : RecordMarshalAsserter -{ - public NullableTimeOnlyTests() : base( - new[] { new TimeOnly(22, 12, 08), new TimeOnly(21, 12, 09) }.Cast().Append(null), - x => x is null ? null : new AttributeValue { S = x.Value.ToString("O") }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/TimeSpanTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/TimeSpanTests.cs deleted file mode 100644 index f7f41fde..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/TimeSpanTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class TimeSpanTests : RecordMarshalAsserter -{ - public TimeSpanTests() : base(new[] { TimeSpan.FromDays(1) }, _ => new AttributeValue { S = "P1D" }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableTimeSpanTests : RecordMarshalAsserter -{ - public NullableTimeSpanTests() : base(new TimeSpan?[] { TimeSpan.FromDays(1), null }, - x => x is not null ? new AttributeValue { S = "P1D" } : null) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/UIntTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/UIntTests.cs deleted file mode 100644 index 96f4946c..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/UIntTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class UIntTests : RecordMarshalAsserter -{ - public UIntTests() : base(new uint[] { uint.MaxValue, 232, 933 }, x => new AttributeValue { N = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableUIntTests : RecordMarshalAsserter -{ - public NullableUIntTests() : base(new uint?[] { uint.MaxValue, 232, 933, null }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ULongTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ULongTests.cs deleted file mode 100644 index 0440f05e..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/ULongTests.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class ULongTests : RecordMarshalAsserter -{ - public ULongTests() : base(new ulong[] { ulong.MaxValue, 3232, 8382832838, 3283823828328 }, - x => new AttributeValue { N = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableULongTests : RecordMarshalAsserter -{ - public NullableULongTests() : base(new ulong?[] { ulong.MaxValue, 3232, 8382832838, 3283823828328, null }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/UShortTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/UShortTests.cs deleted file mode 100644 index dc765b50..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Marshaller/Types/UShortTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Types; - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class UShortTests : RecordMarshalAsserter -{ - public UShortTests() : base(new ushort[] { 12, 34, 455 }, x => new AttributeValue { N = x.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} - -[DynamoDBMarshaller(EntityType = typeof(Container))] -public partial class NullableUShortTests : RecordMarshalAsserter -{ - public NullableUShortTests() : base(new ushort?[] { 12, 34, 455, null }, - x => x is null ? null : new AttributeValue { N = x.Value.ToString() }) - { - } - - protected override Container UnmarshallImplementation(Dictionary attributeValues) - { - return ContainerMarshaller.Unmarshall(attributeValues); - } - - protected override Dictionary MarshallImplementation(Container element) - { - return ContainerMarshaller.Marshall(element); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/OptionalEntityTypeTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/OptionalEntityTypeTests.cs deleted file mode 100644 index 0bddb409..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/OptionalEntityTypeTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Marshaller.Asserters; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests; - -public class OptionalEntityTypeTests : MarshalAsserter -{ - protected override IEnumerable<(OptionalEnitityTypeDTO element, Dictionary attributeValues)> - Arguments() - { - var element1 = new OptionalEnitityTypeDTO { SampleField = "Hello" }; - yield return (element1, ToDict(element1)); - var element2 = new OptionalEnitityTypeDTO { SampleField = "Wolrd" }; - yield return (element2, ToDict(element2)); - - static Dictionary ToDict(OptionalEnitityTypeDTO element) - { - return new Dictionary - { - { nameof(element.SampleField), new AttributeValue { S = element.SampleField } } - }; - } - } - - protected override Dictionary MarshallImplementation(OptionalEnitityTypeDTO element) - { - return OptionalEnitityTypeDTO.OptionalEnitityTypeDTOMarshaller.Marshall(element); - } - - protected override OptionalEnitityTypeDTO UnmarshallImplementation( - Dictionary attributeValues) - { - return OptionalEnitityTypeDTO.OptionalEnitityTypeDTOMarshaller.Unmarshall(attributeValues); - } -} - -[DynamoDBMarshaller] -public partial record OptionalEnitityTypeDTO -{ - public string? SampleField { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/PrimitiveArgumentTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/PrimitiveArgumentTests.cs deleted file mode 100644 index 6a7df706..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/PrimitiveArgumentTests.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests; - -[DynamoDBMarshaller(EntityType = typeof((Guid, Guid)), AccessName = "STRING", ArgumentType = typeof(string))] -[DynamoDBMarshaller(EntityType = typeof((Guid, Guid)), AccessName = "GUID", ArgumentType = typeof(Guid))] -[DynamoDBMarshaller(EntityType = typeof((Guid, Guid)), AccessName = "INT", ArgumentType = typeof(int))] -public partial class PrimitiveArgumentTests -{ - [Fact] - public void ExpressionValueTracker_STRING_ShouldBeExpandedCorrectly() - { - IAttributeExpressionValueTracker valueTracker = STRING.AttributeExpressionValueTracker(); - valueTracker.ToString().Should().Be(":p1"); - - valueTracker.AccessedValues("hello").Should().BeEquivalentTo(new Dictionary - { - { ":p1", new AttributeValue { S = "hello" } } - }); - } - - [Fact] - public void ExpressionValueTracker_INT_ShouldBeExpandedCorrectly() - { - IAttributeExpressionValueTracker valueTracker = INT.AttributeExpressionValueTracker(); - valueTracker.ToString().Should().Be(":p1"); - - valueTracker.AccessedValues(2).Should().BeEquivalentTo(new Dictionary - { - { ":p1", new AttributeValue { N = "2" } } - }); - } - - [Fact] - public void ExpressionValueTracker_GUID_ShouldBeExpandedCorrectly() - { - IAttributeExpressionValueTracker valueTracker = GUID.AttributeExpressionValueTracker(); - valueTracker.ToString().Should().Be(":p1"); - - var guid = Guid.NewGuid(); - valueTracker.AccessedValues(guid).Should().BeEquivalentTo(new Dictionary - { - { ":p1", new AttributeValue { S = guid.ToString() } } - }); - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/RenameSourceGeneratedPropertyTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/RenameSourceGeneratedPropertyTests.cs deleted file mode 100644 index 262e2d46..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/RenameSourceGeneratedPropertyTests.cs +++ /dev/null @@ -1,17 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests; - -[DynamoDBMarshaller(EntityType = typeof(WillHaveChangedPropertyName), AccessName = "SomethingElse")] -public partial class RenameSourceGeneratedPropertyTests -{ - [Fact] - public void DynamoDBDocumentAttribute_PropertyName_Changes() - { - GetType().GetProperties().Should().SatisfyRespectively(x => { x.Name.Should().Be("SomethingElse"); }); - } -} - -public class WillHaveChangedPropertyName -{ -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/CustomObjects/ChildClassTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/CustomObjects/ChildClassTests.cs deleted file mode 100644 index 0d42796c..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/CustomObjects/ChildClassTests.cs +++ /dev/null @@ -1,186 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize.CustomObjects; - -[DynamoDBMarshaller(EntityType = typeof(ParentClass))] -public partial class ChildClassTests -{ - [Fact] - public void Serialize_AllFieldsSet_AllIncluded() - { - var @class = new ParentClass - { - Id = "I am the root", - CustomClass = new ParentClass.ChildClass - { - PropertyId = "I am the property", - GrandChild = new ParentClass.ChildClass.GrandChildClass - { - GrandChildId = "I am the grandchild id" - } - } - }; - - ParentClassMarshaller.Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ParentClass.Id)); - ((string)x.Value.S).Should().Be("I am the root"); - }, - x => - { - ((string)x.Key).Should().Be(nameof(ParentClass.CustomClass)); - x.Value.M.Should().SatisfyRespectively(y => - { - ((string)y.Key).Should().Be(nameof(ParentClass.ChildClass.PropertyId)); - ((string)y.Value.S).Should().Be("I am the property"); - }, - y => - { - ((string)y.Key).Should().Be(nameof(ParentClass.ChildClass.GrandChild)); - y.Value.M.Should().SatisfyRespectively(z => - { - ((string)z.Key).Should() - .Be(nameof(ParentClass.ChildClass.GrandChildClass.GrandChildId)); - ((string)z.Value.S).Should().Be("I am the grandchild id"); - }); - } - ); - } - ); - } - - [Fact] - public void Serialize_ChildClass_NotIncluded() - { - var @class = new ParentClass - { - Id = "I am the root" - }; - - ParentClassMarshaller.Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ParentClass.Id)); - ((string)x.Value.S).Should().Be("I am the root"); - } - ); - } - - [Fact] - public void Serialize_ChildClassField_NotIncluded() - { - var @class = new ParentClass - { - Id = "I am the root", - CustomClass = new ParentClass.ChildClass() - }; - - ParentClassMarshaller.Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ParentClass.Id)); - ((string)x.Value.S).Should().Be("I am the root"); - }, - x => - { - ((string)x.Key).Should().Be(nameof(ParentClass.CustomClass)); - x.Value.M.Should().BeEmpty(); - } - ); - } - - [Fact] - public void Serialize_GrandChildClass_NotIncluded() - { - var @class = new ParentClass - { - Id = "I am the root", - CustomClass = new ParentClass.ChildClass - { - PropertyId = "Abc" - } - }; - - ParentClassMarshaller.Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ParentClass.Id)); - ((string)x.Value.S).Should().Be("I am the root"); - }, - x => - { - ((string)x.Key).Should().Be(nameof(ParentClass.CustomClass)); - x.Value.M.Should().SatisfyRespectively(y => - { - ((string)y.Key).Should().Be(nameof(ParentClass.CustomClass.PropertyId)); - ((string)y.Value.S).Should().Be("Abc"); - }); - } - ); - } - - [Fact] - public void Serialize_GrandChildClassField_NotIncluded() - { - var @class = new ParentClass - { - Id = "I am the root", - CustomClass = new ParentClass.ChildClass - { - GrandChild = new ParentClass.ChildClass.GrandChildClass(), - PropertyId = "123" - } - }; - - ParentClassMarshaller.Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(ParentClass.Id)); - ((string)x.Value.S).Should().Be("I am the root"); - }, - x => - { - ((string)x.Key).Should().Be(nameof(ParentClass.CustomClass)); - x.Value.M.Should().SatisfyRespectively(y => - { - ((string)y.Key).Should().Be(nameof(ParentClass.CustomClass.PropertyId)); - ((string)y.Value.S).Should().Be("123"); - }, - y => - { - ((string)y.Key).Should().Be(nameof(ParentClass.CustomClass.GrandChild)); - y.Value.M.Should().BeEmpty(); - } - ); - } - ); - } -} - -public class ParentClass -{ - public string? Id { get; set; } - public ChildClass? CustomClass { get; set; } - - public class ChildClass - { - public string? PropertyId { get; set; } - public GrandChildClass? GrandChild { get; set; } - - public class GrandChildClass - { - public string? GrandChildId { get; set; } - } - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/CustomObjects/SiblingClassTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/CustomObjects/SiblingClassTests.cs deleted file mode 100644 index d022e009..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/CustomObjects/SiblingClassTests.cs +++ /dev/null @@ -1,94 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize.CustomObjects; - -[DynamoDBMarshaller(EntityType = typeof(SiblingClassOne))] -public partial class SiblingClassTests -{ - [Fact] - public void Serialize_AllFieldsSet_AllIncluded() - { - var @class = new SiblingClassOne - { - Id = "I am the root", - CustomClass = new SiblingClassTwo - { - PropertyId = "I am the property" - } - }; - - SiblingClassOneMarshaller.Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(SiblingClassOne.Id)); - x.Value.S.Should().Be("I am the root"); - }, - x => - { - x.Key.Should().Be(nameof(SiblingClassOne.CustomClass)); - x.Value.M.Should().SatisfyRespectively(y => - { - y.Key.Should().Be(nameof(SiblingClassTwo.PropertyId)); - y.Value.S.Should().Be("I am the property"); - }); - } - ); - } - - [Fact] - public void Serialize_CustomProperty_NotIncluded() - { - var @class = new SiblingClassOne - { - Id = "I am the root" - }; - - SiblingClassOneMarshaller.Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(SiblingClassOne.Id)); - x.Value.S.Should().Be("I am the root"); - } - ); - } - - [Fact] - public void Serialize_CustomPropertyField_NotIncluded() - { - var @class = new SiblingClassOne - { - Id = "I am the root", - CustomClass = new SiblingClassTwo() - }; - - SiblingClassOneMarshaller.Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(SiblingClassOne.Id)); - x.Value.S.Should().Be("I am the root"); - }, - x => - { - x.Key.Should().Be(nameof(SiblingClassOne.CustomClass)); - x.Value.M.Should().BeEmpty(); - } - ); - } -} - -public class SiblingClassOne -{ - public string? Id { get; set; } - public SiblingClassTwo? CustomClass { get; set; } -} - -public class SiblingClassTwo -{ - public string? PropertyId { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/FieldInclusionTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/FieldInclusionTests.cs deleted file mode 100644 index fb8c9dff..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/FieldInclusionTests.cs +++ /dev/null @@ -1,70 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize; - -[DynamoDBMarshaller(EntityType = typeof(EmptyClass))] -[DynamoDBMarshaller(EntityType = typeof(ClassWithIgnoredField))] -[DynamoDBMarshaller(EntityType = typeof(ClassWithOneField))] -[DynamoDBMarshaller(EntityType = typeof(ClassWithOneDDBField))] -public partial class FieldInclusionTests -{ - [Fact] - public void Serialize_ClassWithDDbField_AttributeValueIsEmpty() - { - var @class = new ClassWithOneDDBField { Id = "I should be included" }; - - ClassWithOneDDBFieldMarshaller - .Marshall(@class) - .Should() - .ContainKey(nameof(ClassWithOneDDBField.Id)); - } - - [Fact] - public void Serialize_ClassWithField_AttributeValueIsEmpty() - { - var @class = new ClassWithOneField { Id = "I should be included" }; - - ClassWithOneFieldMarshaller - .Marshall(@class) - .Should() - .ContainKey(nameof(ClassWithOneField.Id)); - } - - [Fact] - public void Serialize_ClassWithIgnoredField_AttributeValueIsEmpty() - { - var @class = new ClassWithIgnoredField - { Id = "I should not be exists in attribute values" }; - - ClassWithIgnoredFieldMarshaller - .Marshall(@class) - .Should() - .BeEmpty(); - } - - [Fact] - public void Serialize_EmptyClass_AttributeValueIsEmpty() - { - var @class = new EmptyClass(); - - EmptyClassMarshaller - .Marshall(@class) - .Should() - .BeEmpty(); - } -} - -public class ClassWithOneDDBField -{ - [DynamoDBProperty] public string? Id; -} - -public class ClassWithOneField -{ - public string? Id; -} - -public class ClassWithIgnoredField -{ - [DynamoDBIgnore] public string? Id; -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/CollectionTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/CollectionTests.cs deleted file mode 100644 index a71d27db..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/CollectionTests.cs +++ /dev/null @@ -1,288 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(CollectionClass))] -public partial class CollectionTests -{ - [Fact] - public void Serialize_CollectionWithValues_IsIncluded() - { - var @class = new CollectionClass - { - Collection = new[] { "1", "2", "3" } - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.Collection)) - .And - .AllSatisfy(x => x.Value.L - .Should() - .SatisfyRespectively( - y => y.S.Should().Be("1"), - y => y.S.Should().Be("2"), - y => ((string)y.S).Should().Be("3") - ) - ); - } - - [Fact] - public void Serialize_EmptyCollection_IsIncluded() - { - var @class = new CollectionClass - { - Collection = new List() - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.Collection)) - .And - .ContainSingle(x => x.Value.L.Count == 0); - } - - [Fact] - public void Serialize_EmptyEnumerable_IsIncluded() - { - var @class = new CollectionClass - { - Enumerable = Enumerable.Empty() - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.Enumerable)) - .And - .ContainSingle(x => x.Value.L.Count == 0); - } - - [Fact] - public void Serialize_EmptyArray_IsIncluded() - { - var @class = new CollectionClass - { - Array = Array.Empty() - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.Array)) - .And - .ContainSingle(x => x.Value.L.Count == 0); - } - - [Fact] - public void Serialize_ArrayWithValues_IsIncluded() - { - var @class = new CollectionClass - { - Array = new[] { "1", "2", "3" } - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.Array)) - .And - .AllSatisfy(x => x.Value.L - .Should() - .SatisfyRespectively( - y => y.S.Should().Be("1"), - y => y.S.Should().Be("2"), - y => y.S.Should().Be("3") - ) - ); - } - - [Fact] - public void Serialize_EmptyList_IsIncluded() - { - var @class = new CollectionClass - { - List = new List() - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.List)) - .And - .ContainSingle(x => x.Value.L.Count == 0); - } - - [Fact] - public void Serialize_EmptyReadOnlyList_IsIncluded() - { - var @class = new CollectionClass - { - ReadOnlyList = Array.Empty() - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.ReadOnlyList)) - .And - .ContainSingle(x => x.Value.L.Count == 0); - } - - [Fact] - public void Serialize_EnumerableWithValues_IsIncluded() - { - var @class = new CollectionClass - { - Enumerable = new[] { "1", "2", "3" } - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.Enumerable)) - .And - .AllSatisfy(x => x.Value.L - .Should() - .SatisfyRespectively( - y => y.S.Should().Be("1"), - y => y.S.Should().Be("2"), - y => ((string)y.S).Should().Be("3") - ) - ); - } - - [Fact] - public void Serialize_KeyValuePairListWithValues_IsIncluded() - { - var @class = new CollectionClass - { - KeyValuePairs = new[] { new KeyValuePair("2", 1), new KeyValuePair("1", 1) } - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .AllSatisfy(x => - { - x.Key.Should().Be(nameof(CollectionClass.KeyValuePairs)); - x.Value.L.Should().SatisfyRespectively( - y => y.M.Should().SatisfyRespectively( - z => - { - z.Key.Should().Be("Key"); - ((string)z.Value.S).Should().Be("2"); - }, - z => - { - ((string)z.Key).Should().Be("Value"); - ((string)z.Value.N).Should().Be("1"); - } - ), - y => - { - y.M.Should().SatisfyRespectively( - z => - { - ((string)z.Key).Should().Be("Key"); - ((string)z.Value.S).Should().Be("1"); - }, - z => - { - ((string)z.Key).Should().Be("Value"); - ((string)z.Value.N).Should().Be("1"); - } - ); - } - ); - }); - } - - [Fact] - public void Serialize_ListWithValues_IsIncluded() - { - var @class = new CollectionClass - { - List = new[] { "1", "2", "3" } - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.List)) - .And - .AllSatisfy(x => x.Value.L - .Should() - .SatisfyRespectively( - y => y.S.Should().Be("1"), - y => y.S.Should().Be("2"), - y => y.S.Should().Be("3") - ) - ); - } - - [Fact] - public void Serialize_ReadOnlyListWithValues_IsIncluded() - { - var @class = new CollectionClass - { - ReadOnlyList = new[] { "1", "2", "3" } - }; - - CollectionClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(CollectionClass.ReadOnlyList)) - .And - .AllSatisfy(x => x.Value.L - .Should() - .SatisfyRespectively( - y => y.S.Should().Be("1"), - y => y.S.Should().Be("2"), - y => ((string)y.S).Should().Be("3") - ) - ); - } -} - -public class CollectionClass -{ - [DynamoDBProperty] - public IEnumerable? Enumerable { get; set; } - - [DynamoDBProperty] - public ICollection? Collection { get; set; } - - [DynamoDBProperty] - public IList? List { get; set; } - - [DynamoDBProperty] - public IReadOnlyList? ReadOnlyList { get; set; } - - [DynamoDBProperty] - public IReadOnlyList>? KeyValuePairs { get; set; } - - public string[]? Array { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/DictionaryTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/DictionaryTests.cs deleted file mode 100644 index 28375305..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/DictionaryTests.cs +++ /dev/null @@ -1,71 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(DictionaryClass))] -public partial class DictionaryTests -{ - [Fact] - public void Serialize_DictionaryWithValues_IsIncluded() - { - var @class = new DictionaryClass - { - DictionaryImplementation = new Dictionary - { - { "two", 2 }, - { "one", 1 } - } - }; - - DictionaryClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(DictionaryClass.DictionaryImplementation)) - .And - .SatisfyRespectively(x => - { - x.Value.M.Should().SatisfyRespectively(y => - { - y.Key.Should().Be("two"); - y.Value.N.Should().Be("2"); - }, y => - { - y.Key.Should().Be("one"); - y.Value.N.Should().Be("1"); - }); - }); - } - - [Fact] - public void Serialize_EmptyDictionary_IsIncluded() - { - var @class = new DictionaryClass - { - DictionaryImplementation = new Dictionary() - }; - - var result = DictionaryClassMarshaller.Marshall(@class); - result - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(DictionaryClass.DictionaryImplementation)); - - result[nameof(DictionaryClass.DictionaryImplementation)].M.Should().BeEmpty(); - - } -} - -public class DictionaryClass -{ - [DynamoDBProperty] - public Dictionary? DictionaryImplementation { get; set; } - - [DynamoDBProperty] - public IReadOnlyDictionary? ReadOnlyDictionary { get; set; } - - [DynamoDBProperty] - public IDictionary? DictionaryInterface { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/KeyValuePairTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/KeyValuePairTests.cs deleted file mode 100644 index f4c2f0ca..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/KeyValuePairTests.cs +++ /dev/null @@ -1,98 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize.Generics; - -// TODO these tests are giving warnings due to the return type of Unmarshall does not take nullability into account. -// This could maybe be solved by digging down into generic the types in order to determine whether they should be nullable and then build the return type based on that information. -// This behaviour is already solved for methods that should follow the nullability of data members. -[DynamoDBMarshaller(EntityType = typeof(KeyValuePairClass))] -public partial class KeyValuePairTests -{ - [Fact] - public void Serialize_KeyAndValueSet_Included() - { - var @class = new KeyValuePairClass - { - KeyValuePair = new KeyValuePair("1", 2) - }; - - KeyValuePairClassMarshaller - .Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(KeyValuePairClass.KeyValuePair)); - x.Value.M.Should().SatisfyRespectively(y => - { - ((string)y.Key).Should().Be("Key"); - ((string)y.Value.S).Should().Be("1"); - }, - y => - { - ((string)y.Key).Should().Be("Value"); - ((string)y.Value.N).Should().Be("2"); - } - ); - } - ); - } - - [Fact] - public void Serialize_NullKey_Included() - { - var @class = new KeyValuePairClass - { - KeyValuePair = new KeyValuePair(null, 2) - }; - - KeyValuePairClassMarshaller - .Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(KeyValuePairClass.KeyValuePair)); - x.Value.M.Should().SatisfyRespectively( - y => - { - ((string)y.Key).Should().Be("Value"); - ((string)y.Value.N).Should().Be("2"); - } - ); - } - ); - } - - [Fact] - public void Serialize_NullValue_Included() - { - var @class = new KeyValuePairClass - { - KeyValuePair = new KeyValuePair("abc", null) - }; - - KeyValuePairClassMarshaller - .Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(KeyValuePairClass.KeyValuePair)); - x.Value.M.Should().SatisfyRespectively( - y => - { - ((string)y.Key).Should().Be("Key"); - ((string)y.Value.S).Should().Be("abc"); - } - ); - } - ); - } -} - -public class KeyValuePairClass -{ - [DynamoDBProperty] - public KeyValuePair KeyValuePair { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/LookUpTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/LookUpTests.cs deleted file mode 100644 index ffe36da5..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/LookUpTests.cs +++ /dev/null @@ -1,65 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(LookUpClass))] -public partial class LookUpTests -{ - [Fact] - public void Serialize_EmptyLookup_IsIncluded() - { - var @class = new LookUpClass - { - Lookup = Enumerable.Empty().ToLookup(x => x, _ => 1) - }; - - LookUpClassMarshaller - .Marshall(@class) - .Should() - .ContainKey(nameof(LookUpClass.Lookup)) - .And - .SatisfyRespectively(x => x.Value.M.Should().BeEmpty()); - } - - [Fact] - public void Serialize_LookupWithValues_IsIncluded() - { - var @class = new LookUpClass - { - Lookup = new List> - { - new("first", 1), - new("first", 2), - new("second", 3), - new("second", 4) - }.ToLookup(x => x.Key, x => x.Value) - }; - - LookUpClassMarshaller - .Marshall(@class) - .Should() - .ContainKey(nameof(LookUpClass.Lookup)) - .And - .SatisfyRespectively(x => - { - x.Value.M.Should().SatisfyRespectively(y => - { - y.Key.Should().Be("first"); - y.Value.L.Should().SatisfyRespectively(z => { ((string)z.N).Should().Be("1"); }, - z => { ((string)z.N).Should().Be("2"); }); - }, - y => - { - ((string)y.Key).Should().Be("second"); - y.Value.L.Should().SatisfyRespectively(z => { ((string)z.N).Should().Be("3"); }, - z => { ((string)z.N).Should().Be("4"); }); - }); - }); - } -} - -public class LookUpClass -{ - [DynamoDBProperty] - public ILookup? Lookup { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/NullableTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/NullableTests.cs deleted file mode 100644 index df093029..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/NullableTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(NullableValueTypeClass))] -public partial class NullableTests -{ - [Fact] - public void Serialize_Default_IsSkipped() - { - var @class = new NullableValueTypeClass(); - - NullableValueTypeClassMarshaller - .Marshall(@class) - .Should() - .BeEmpty(); - } - - [Fact] - public void Serialize_NonDefault_IsIncluded() - { - var @class = new NullableValueTypeClass - { - ValueType = 1 - }; - - NullableValueTypeClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(NullableValueTypeClass.ValueType)) - .And - .ContainSingle(x => x.Value.N == @class.ValueType.ToString()); - } -} - -public class NullableValueTypeClass -{ - [DynamoDBProperty] - public int? ValueType { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/TupleTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/TupleTests.cs deleted file mode 100644 index a69b8210..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/Generics/TupleTests.cs +++ /dev/null @@ -1,197 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize.Generics; - -[DynamoDBMarshaller(EntityType = typeof(TupleClass))] -[DynamoDBMarshaller(EntityType = typeof((int X, int Y)), AccessName = "XAndYTuple")] -[DynamoDBMarshaller(EntityType = typeof((int, int )), AccessName = "UnnamedTuple")] -[DynamoDBMarshaller(EntityType = typeof((string Id, (int X, int Y) Coordinates)), AccessName = "NestedXAndYTuple")] -public partial class TupleTests -{ - [Fact] - public void Serialize_UnnamedTuple_Properties() - { - UnnamedTuple.Marshall((1, 2)) - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be("Item1"); - x.Value.N.Should().Be("1"); - }, x => - { - x.Key.Should().Be("Item2"); - x.Value.N.Should().Be("2"); - } - ); - } - - [Fact] - public void Serialize_NestedXAndYTuple_Properties() - { - NestedXAndYTuple - .Marshall(("123", (1, 2))) - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be("Id"); - x.Value.S.Should().Be("123"); - }, static x => - { - x.Key.Should().Be("Coordinates"); - x.Value.M - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be("X"); - x.Value.N.Should().Be("1"); - }, x => - { - x.Key.Should().Be("Y"); - x.Value.N.Should().Be("2"); - }); - } - ); - } - - [Fact] - public void Serialize_XAndYTuple_Properties() - { - XAndYTuple - .Marshall((1, 2)) - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be("X"); - x.Value.N.Should().Be("1"); - }, x => - { - x.Key.Should().Be("Y"); - x.Value.N.Should().Be("2"); - } - ); - } - - [Fact] - public void Serialize_Both_Properties() - { - var @class = new TupleClass - { - XYCoordinate = (1, 2), - XYZCoordinate = (3, 4, 5) - }; - - TupleClassMarshaller - .Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(TupleClass.XYCoordinate)); - x.Value.M.Should().SatisfyRespectively(y => - { - ((string)y.Key).Should().Be("X"); - ((string)y.Value.N).Should().Be("1"); - }, - y => - { - ((string)y.Key).Should().Be("Y"); - ((string)y.Value.N).Should().Be("2"); - } - ); - }, - x => - { - ((string)x.Key).Should().Be(nameof(TupleClass.XYZCoordinate)); - x.Value.M.Should().SatisfyRespectively( - y => - { - ((string)y.Key).Should().Be("X"); - ((string)y.Value.N).Should().Be("3"); - }, - y => - { - ((string)y.Key).Should().Be("Y"); - ((string)y.Value.N).Should().Be("4"); - }, - y => - { - ((string)y.Key).Should().Be("Z"); - ((string)y.Value.N).Should().Be("5"); - } - ); - } - ); - } - - [Fact] - public void Serialize_XY_Property() - { - var @class = new TupleClass - { - XYCoordinate = (1, 2) - }; - - TupleClassMarshaller - .Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(TupleClass.XYCoordinate)); - x.Value.M.Should().SatisfyRespectively(y => - { - ((string)y.Key).Should().Be("X"); - ((string)y.Value.N).Should().Be("1"); - }, - y => - { - ((string)y.Key).Should().Be("Y"); - ((string)y.Value.N).Should().Be("2"); - } - ); - } - ); - } - - [Fact] - public void Serialize_XYZ_Property() - { - var @class = new TupleClass - { - XYZCoordinate = (3, 4, 5) - }; - - TupleClassMarshaller - .Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(TupleClass.XYZCoordinate)); - x.Value.M.Should().SatisfyRespectively( - y => - { - ((string)y.Key).Should().Be("X"); - ((string)y.Value.N).Should().Be("3"); - }, - y => - { - ((string)y.Key).Should().Be("Y"); - ((string)y.Value.N).Should().Be("4"); - }, - y => - { - ((string)y.Key).Should().Be("Z"); - ((string)y.Value.N).Should().Be("5"); - } - ); - } - ); - } -} - -public class TupleClass -{ - public (int X, int Y)? XYCoordinate { get; set; } - public (int X, int Y, int Z)? XYZCoordinate { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/InheritanceTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/InheritanceTests.cs deleted file mode 100644 index 22fc33a6..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/InheritanceTests.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize; - -[DynamoDBMarshaller(EntityType = typeof(Cat))] -public partial class InheritanceTests -{ - [Fact] - public void Includes_Inherited_DataMember() - { - var cat = new Cat { Name = "Mjaao", MjaoFactor = 100 }; - - CatMarshaller - .Marshall(cat) - .Should() - .BeEquivalentTo(new Dictionary - { - { nameof(Cat.MjaoFactor), new AttributeValue { N = "100" } }, - { nameof(Cat.Name), new AttributeValue { S = "Mjaao" } } - }); - } -} - -public class Animal -{ - public string Name { get; set; } = null!; -} - -public class Cat : Animal -{ - public int MjaoFactor { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/NullableAnnotationTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/NullableAnnotationTests.cs deleted file mode 100644 index c79c2df8..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/NullableAnnotationTests.cs +++ /dev/null @@ -1,114 +0,0 @@ -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Exceptions; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize; - -[DynamoDBMarshaller(EntityType = typeof(NestedNullableAnnotationTestClass))] -[DynamoDBMarshaller(EntityType = typeof(NullableAnnotationTestClass))] -public partial class NullableAnnotationTests -{ - [Theory] - [InlineData("1", "2", "3")] - [InlineData(null, "2", "3")] - [InlineData("1", null, "3")] - [InlineData(null, null, "3")] - public void Serialize_NestedGenericWith_NullabilityCheckNotThrows( - string? disabledNullableReferenceType, - string? enabledNullableReferenceType, - string enabledNoneNullableReferenceType) - { - var @class = new NestedNullableAnnotationTestClass - { - DisabledNullableReferenceType = (1, disabledNullableReferenceType), - EnabledNullableReferenceType = (1, enabledNullableReferenceType), - EnabledNoneNullableReferenceType = (1, enabledNoneNullableReferenceType) - }; - - var result = () => NestedNullableAnnotationTestClassMarshaller.Marshall(@class); - - result.Should().NotThrow(); - } - - [Theory] - [InlineData("1", "2", null)] - [InlineData(null, "2", null)] - [InlineData(null, null, null)] - public void Serialize_NestedGenericWith_NullabilityCheckThrows( - string? disabledNullableReferenceType, - string? enabledNullableReferenceType, - string? enabledNoneNullableReferenceType) - { - var @class = new NestedNullableAnnotationTestClass - { - DisabledNullableReferenceType = (1, disabledNullableReferenceType), - EnabledNullableReferenceType = (1, enabledNullableReferenceType), - EnabledNoneNullableReferenceType = (1, enabledNoneNullableReferenceType!) - }; - - var result = () => NestedNullableAnnotationTestClassMarshaller.Marshall(@class); - - result.Should() - .ThrowExactly() - .WithMessage( - "The data member is not supposed to be null, to allow this; make the data member nullable. (Data member 'EnabledNoneNullableValue')"); - } - - [Theory] - [InlineData(1, "1", "2", "3", false)] - [InlineData(null, "1", "2", "3", false)] - [InlineData(1, null, "2", "3", false)] - [InlineData(1, "1", null, "3", false)] - [InlineData(1, null, null, "3", false)] - [InlineData(1, "1", "2", null, true)] - [InlineData(1, null, "2", null, true)] - [InlineData(1, null, null, null, true)] - public void Serialize_With_NullabilityChecks( - int? nullableValueType, - string? disabledNullableReferenceType, - string? enabledNullableReferenceType, - string? enabledNoneNullableReferenceType, - bool shouldThrow) - { - var @class = new NullableAnnotationTestClass - { - NullableValueType = nullableValueType, - DisabledNullableReferenceType = disabledNullableReferenceType, - EnabledNullableReferenceType = enabledNullableReferenceType, - EnabledNoneNullableReferenceType = enabledNoneNullableReferenceType! - }; - - var result = () => NullableAnnotationTestClassMarshaller.Marshall(@class); - - if (shouldThrow) - result.Should() - .ThrowExactly() - .WithMessage( - "The data member is not supposed to be null, to allow this; make the data member nullable. (Data member 'EnabledNoneNullableReferenceType')"); - else - result.Should().NotThrow(); - } -} - -public class NullableAnnotationTestClass -{ -#nullable disable - public string DisabledNullableReferenceType { get; set; } -#nullable enable - - public string? EnabledNullableReferenceType { get; set; } - - public string EnabledNoneNullableReferenceType { get; set; } = null!; - - public int? NullableValueType { get; set; } -} - -public class NestedNullableAnnotationTestClass -{ -#nullable disable - public (int DisabledNullableKey, string DisabledNullableValue) DisabledNullableReferenceType { get; set; } -#nullable enable - - public (int EnabledNullableKey, string? EnabledNullableValue) EnabledNullableReferenceType { get; set; } - - public (int EnabledNullableKey, string EnabledNoneNullableValue) EnabledNoneNullableReferenceType { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/PropertyInclusionTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/PropertyInclusionTests.cs deleted file mode 100644 index ef7b2464..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/PropertyInclusionTests.cs +++ /dev/null @@ -1,76 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize; - -[DynamoDBMarshaller(EntityType = typeof(EmptyClass))] -[DynamoDBMarshaller(EntityType = typeof(ClassWithIgnoredProperty))] -[DynamoDBMarshaller(EntityType = typeof(ClassWithOneProperty))] -[DynamoDBMarshaller(EntityType = typeof(ClassWithOneDDBProperty))] -public partial class PropertyInclusionTests -{ - [Fact] - public void Serialize_ClassWithDDbProperty_AttributeValueIsEmpty() - { - var @class = new ClassWithOneDDBProperty { Id = "I should be included" }; - - ClassWithOneDDBPropertyMarshaller - .Marshall(@class) - .Should() - .ContainKey(nameof(ClassWithOneDDBProperty.Id)); - } - - [Fact] - public void Serialize_ClassWithIgnoredProperty_AttributeValueIsEmpty() - { - var @class = new ClassWithIgnoredProperty - { Id = "I should not be exists in attribute values" }; - - ClassWithIgnoredPropertyMarshaller - .Marshall(@class) - .Should() - .BeEmpty(); - } - - [Fact] - public void Serialize_ClassWithProperty_AttributeValueIsEmpty() - { - var @class = new ClassWithOneProperty { Id = "I should be included" }; - - ClassWithOnePropertyMarshaller - .Marshall(@class) - .Should() - .ContainKey(nameof(ClassWithOneProperty.Id)); - } - - [Fact] - public void Serialize_EmptyClass_AttributeValueIsEmpty() - { - var @class = new EmptyClass(); - - EmptyClassMarshaller - .Marshall(@class) - .Should() - .BeEmpty(); - } -} - -public class ClassWithOneDDBProperty -{ - [DynamoDBProperty] - public string? Id { get; set; } -} - -public class ClassWithOneProperty -{ - public string? Id { get; set; } -} - -public class EmptyClass -{ -} - -public class ClassWithIgnoredProperty -{ - [DynamoDBIgnore] - public string? Id { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/PropertyRenamingTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/PropertyRenamingTests.cs deleted file mode 100644 index 4af4a4bd..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/PropertyRenamingTests.cs +++ /dev/null @@ -1,86 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize; - -[DynamoDBMarshaller(EntityType = typeof(PropertyWithMixedNames))] -public partial class PropertyRenamingTests -{ - [Fact] - public void Serialize_Attributes_ChangesNames() - { - var @class = new PropertyWithMixedNames - { - PlainProperty = "1", - PropertyWithDdbPropertyAttribute = "2", - PropertyWithDdbPropertyAttributeWithOverridenName = "3", - PropertyWithDdbHashKeyAttribute = "4", - PropertyWithDdbHashKeyAttributeWithOverridenName = "5", - PropertyWithDdbRangeKeyAttribute = "6", - PropertyWithDdbRangeKeyAttributeWithOverridenName = "7" - }; - - PropertyWithMixedNamesMarshaller - .Marshall(@class) - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(nameof(PropertyWithMixedNames.PlainProperty)); - x.Value.S.Should().Be("1"); - }, - x => - { - x.Key.Should().Be(nameof(PropertyWithMixedNames.PropertyWithDdbPropertyAttribute)); - x.Value.S.Should().Be("2"); - }, - x => - { - x.Key.Should().Be("AnotherName"); - x.Value.S.Should().Be("3"); - }, - x => - { - x.Key.Should().Be(nameof(PropertyWithMixedNames.PropertyWithDdbHashKeyAttribute)); - x.Value.S.Should().Be("4"); - }, - x => - { - x.Key.Should().Be("AnotherHashKey"); - x.Value.S.Should().Be("5"); - }, - x => - { - x.Key.Should().Be(nameof(PropertyWithMixedNames.PropertyWithDdbRangeKeyAttribute)); - x.Value.S.Should().Be("6"); - }, - x => - { - x.Key.Should().Be("AnotherRangeKey"); - x.Value.S.Should().Be("7"); - } - ); - } -} - -public class PropertyWithMixedNames -{ - public string PlainProperty { get; init; } = null!; - - [DynamoDBProperty] - public string PropertyWithDdbPropertyAttribute { get; init; } = null!; - - [DynamoDBProperty("AnotherName")] - public string PropertyWithDdbPropertyAttributeWithOverridenName { get; init; } = null!; - - [DynamoDBHashKey] - public string PropertyWithDdbHashKeyAttribute { get; init; } = null!; - - [DynamoDBHashKey("AnotherHashKey")] - public string PropertyWithDdbHashKeyAttributeWithOverridenName { get; init; } = null!; - - [DynamoDBRangeKey] - public string PropertyWithDdbRangeKeyAttribute { get; init; } = null!; - - [DynamoDBRangeKey("AnotherRangeKey")] - public string PropertyWithDdbRangeKeyAttributeWithOverridenName { get; init; } = null!; -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/ReferenceTypeTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/ReferenceTypeTests.cs deleted file mode 100644 index e96de04a..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/ReferenceTypeTests.cs +++ /dev/null @@ -1,24 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize; - -[DynamoDBMarshaller(EntityType = typeof(ReferenceTypeClass))] -public partial class ReferenceTypeTests -{ - [Fact] - public void Serialize_ReferenceType_DefaultValueIsNotIncluded() - { - var @class = new ReferenceTypeClass(); - - ReferenceTypeClassMarshaller - .Marshall(@class) - .Should() - .BeEmpty(); - } -} - -public class ReferenceTypeClass -{ - [DynamoDBProperty] - public string? ReferenceType { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/ValueTypeTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/ValueTypeTests.cs deleted file mode 100644 index 0ebaa714..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBDocumentTests/Serialize/ValueTypeTests.cs +++ /dev/null @@ -1,28 +0,0 @@ -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.DynamoDBDocumentTests.Serialize; - -[DynamoDBMarshaller(EntityType = typeof(ValueTypeClass))] -public partial class ValueTypeTests -{ - [Fact] - public void Serialize_ValueType_DefaultValueIsIncluded() - { - var @class = new ValueTypeClass(); - - ValueTypeClassMarshaller - .Marshall(@class) - .Should() - .NotBeEmpty() - .And - .ContainKey(nameof(ValueTypeClass.ValueType)) - .And - .ContainSingle(x => x.Value.N == default(int).ToString()); - } -} - -public class ValueTypeClass -{ - [DynamoDBProperty] - public int ValueType { get; set; } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBGenerator.SourceGenerator.Tests.csproj b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBGenerator.SourceGenerator.Tests.csproj deleted file mode 100644 index 3dda481b..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBGenerator.SourceGenerator.Tests.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - net10.0;net8.0 - enable - enable - false - true - false - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBPrimaryKeyMarshallerTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBPrimaryKeyMarshallerTests.cs deleted file mode 100644 index 0e5a7977..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/DynamoDBPrimaryKeyMarshallerTests.cs +++ /dev/null @@ -1,227 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using AutoFixture; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Exceptions; - -namespace DynamoDBGenerator.SourceGenerator.Tests; - -[DynamoDBMarshaller(EntityType = typeof(TypeWithPartitionKeyOnly), AccessName = "PartitionKeyOnly")] -[DynamoDBMarshaller(EntityType = typeof(TypeWithRangeKeyOnly), AccessName = "TypeWithRangeOnly")] -[DynamoDBMarshaller(EntityType = typeof(TypeWithKeys), AccessName = "TypeWithKeys")] -[DynamoDBMarshaller(EntityType = typeof(TypeWithoutKeys), AccessName = "TypeWithoutKeys")] -public partial class DynamoDBPrimaryKeyMarshallerTests -{ - private readonly Fixture _fixture = new(); - - [Fact] - public void PartitionKey_TypeWithPartitionKeyOnly_ShouldSucceed() - { - var type = _fixture.Create(); - PartitionKeyOnly.PrimaryKeyMarshaller - .PartitionKey(type.Id) - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(TypeWithPartitionKeyOnly.Id)); - x.Value.S.Should().Be(type.Id); - }); - } - - [Fact] - public void RangeKey_TypeWithPartitionKeyOnly_ShouldThrow() - { - var type = _fixture.Create(); - var act = () => PartitionKeyOnly.PrimaryKeyMarshaller.RangeKey(type.Id); - NoCorrespondingAttributeAssertion(type.Id, act); - } - - [Theory] - [InlineData("abc", null)] - [InlineData(null, "abc")] - [InlineData(null, null)] - [InlineData("abc", "dfg")] - public void Keys_TypeWithPartitionKeyOnly_ShouldThrow(string? partitionKey, string? rangeKey) - { - var act = () => PartitionKeyOnly.PrimaryKeyMarshaller.Keys(partitionKey!, rangeKey!); - act.Should().Throw(); - } - - [Fact] - public void PartitionKey_TypeWithRangeKeyOnly_ShouldThrow() - { - var type = _fixture.Create(); - var act = () => TypeWithRangeOnly.PrimaryKeyMarshaller.PartitionKey(type.Id); - act.Should().Throw(); - } - - [Fact] - public void RangeKey_TypeWithRangeKeyOnly_ShouldThrow() - { - var type = _fixture.Create(); - var act = () => TypeWithRangeOnly.PrimaryKeyMarshaller.RangeKey(type.Id); - - act.Should().Throw(); - } - - [Theory] - [InlineData("abc", null)] - [InlineData(null, "abc")] - [InlineData(null, null)] - [InlineData("abc", "dfg")] - public void Keys_TypeWithRangeKeyOnly_ShouldThrow(string? partitionKey, string? rangeKey) - { - var act = () => TypeWithRangeOnly.PrimaryKeyMarshaller.Keys(partitionKey!, rangeKey!); - act.Should().Throw(); - } - - [Fact] - public void PartitionKey_TypeWithoutKeys_ShouldThrow() - { - var type = _fixture.Create(); - var act = () => TypeWithoutKeys.PrimaryKeyMarshaller.PartitionKey(type.Id); - act.Should().Throw(); - } - - [Fact] - public void RangeKey_TypeWithoutKeys_ShouldSucceed() - { - var type = _fixture.Create(); - var act = () => TypeWithoutKeys.PrimaryKeyMarshaller.RangeKey(type.Id); - act.Should().Throw(); - } - - [Theory] - [InlineData("abc", null)] - [InlineData(null, "abc")] - [InlineData(null, null)] - [InlineData("abc", "dfg")] - public void Keys_TypeWithoutKeys_ShouldThrow(string? partitionKey, string? rangeKey) - { - var act = () => TypeWithoutKeys.PrimaryKeyMarshaller.Keys(partitionKey!, rangeKey!); - act.Should().Throw(); - } - - - [Fact] - public void PartitionKey_TypeWithKeys_ShouldSucceed() - { - var type = _fixture.Create(); - TypeWithKeys - .PrimaryKeyMarshaller - .PartitionKey(type.Id) - .Should().SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(type.Id)); - x.Value.S.Should().Be(type.Id); - }); - } - - [Fact] - public void RangeKey_TypeWithKeys_ShouldSucceed() - { - var type = _fixture.Create(); - TypeWithKeys.PrimaryKeyMarshaller.RangeKey(type.RangeKey).Should().SatisfyRespectively(x => - { - x.Key.Should().Be(nameof(type.RangeKey)); - x.Value.S.Should().Be(type.RangeKey); - }); - } - - [Fact] - public void Keys_ValidTypeWithKeys_ShouldSucceed() - { - var keys = _fixture.Create(); - TypeWithKeys - .PrimaryKeyMarshaller - .Keys(keys.Id, keys.RangeKey) - .Should() - .SatisfyRespectively(x => { x.Key.Should().Be(nameof(keys.Id)); }, - x => { x.Key.Should().Be(nameof(keys.RangeKey)); }); - } - - [Theory] - [InlineData("abc", null)] - [InlineData(null, "abc")] - [InlineData(null, null)] - [InlineData("abc", 1)] - [InlineData(1, "abc")] - [InlineData(1, 2)] - public void Keys_InvalidTypesWithKeys_ShouldThrow(object? partitionKey, object? rangeKey) - { - var act = () => TypeWithKeys.PrimaryKeyMarshaller.Keys(partitionKey!, rangeKey!); - act.Should().Throw(); - } - - [Theory] - [InlineData(int.MaxValue)] - [InlineData(long.MaxValue)] - [InlineData(double.MaxValue)] - [InlineData(float.MaxValue)] - [InlineData(typeof(object))] - [InlineData('A')] - public void PartitionKey_InvalidTypes_ShouldThrow(object key) - { - var act = () => PartitionKeyOnly.PrimaryKeyMarshaller.PartitionKey(key); - act.Should().Throw(); - } - - [Theory] - [InlineData(int.MaxValue)] - [InlineData(long.MaxValue)] - [InlineData(double.MaxValue)] - [InlineData(float.MaxValue)] - [InlineData(typeof(object))] - [InlineData('A')] - public void RangeKey_InvalidTypes_ShouldThrow(object key) - { - var act = () => PartitionKeyOnly.PrimaryKeyMarshaller.RangeKey(key); - NoCorrespondingAttributeAssertion(key, act); - } - - private static void NoCorrespondingAttributeAssertion(object key, Func> act) - { - act.Should() - .Throw() - .WithMessage( - $"Value '{key}' from argument 'rangeKey' was provided but there's no corresponding DynamoDBKeyAttribute."); - } - - [Theory] - [InlineData(int.MaxValue)] - [InlineData(long.MaxValue)] - [InlineData(double.MaxValue)] - [InlineData(float.MaxValue)] - [InlineData(typeof(object))] - [InlineData('A')] - public void Keys_InvalidTypes_ShouldThrow(object key) - { - var act = () => PartitionKeyOnly.PrimaryKeyMarshaller.Keys(key, key); - act.Should().Throw(); - } -} - -public class TypeWithPartitionKeyOnly -{ - [DynamoDBHashKey] - public string Id { get; set; } = null!; -} - -public class TypeWithRangeKeyOnly -{ - [DynamoDBRangeKey] - public string Id { get; set; } = null!; -} - -public class TypeWithKeys -{ - [DynamoDBHashKey] - public string Id { get; set; } = null!; - - [DynamoDBRangeKey] - public string RangeKey { get; set; } = null!; -} - -public class TypeWithoutKeys -{ - public string Id { get; set; } = null!; -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/Extensions/ToAttributeExpressionTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/Extensions/ToAttributeExpressionTests.cs deleted file mode 100644 index 5fb1f84f..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/Extensions/ToAttributeExpressionTests.cs +++ /dev/null @@ -1,172 +0,0 @@ -using AutoFixture; -using DynamoDBGenerator.Attributes; -using DynamoDBGenerator.Extensions; - -namespace DynamoDBGenerator.SourceGenerator.Tests.Extensions; - -[DynamoDBMarshaller(EntityType = typeof(OrderAttributeExpressionTests))] -public partial class ToAttributeExpressionTests -{ - private readonly Fixture _fixture = new(); - - [Fact] - public void ToAttributeExpression_Single_ObjectAssignmentExpression() - { - var order = _fixture.Create(); - var result = OrderAttributeExpressionTestsMarshaller - .ToAttributeExpression(order, (x, y) => $"SET {x.UserEntity} = {y.UserEntity}"); - - result.Values - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(":p1"); - x.Value.M.Should().SatisfyRespectively( - y => - { - y.Key.Should().Be(nameof(OrderAttributeExpressionTests.UserEntity.Id)); - y.Value.S.Should().Be(order.UserEntity.Id); - }, y => - { - y.Key.Should().Be(nameof(OrderAttributeExpressionTests.UserEntity.DisplayName)); - y.Value.S.Should().Be(order.UserEntity.DisplayName); - }); - }); - - result.Names.Should().SatisfyRespectively(x => - { - x.Key.Should().Be("#User"); - x.Value.Should().Be("User"); - }); - result.Expressions.Should().SatisfyRespectively(x => x.Should().Be("SET #User = :p1")); - } - - [Fact] - public void ToAttributeExpression_Double_ObjectAssignmentExpression() - { - var order = _fixture.Create(); - var result = OrderAttributeExpressionTestsMarshaller - .ToAttributeExpression(order, (x, y) => $"SET {x.UserEntity} = {y.UserEntity}", - (x, y) => $"{x.Id} = {y.Id}"); - - // Order of Values and Names do not match the access pattern in the expression. - // Their order is based on the order of the yield returns of AccessedValues and AccessedNames. - result.Values - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be(":p2"); - x.Value.S.Should().Be(order.Id); - }, - x => - { - x.Key.Should().Be(":p1"); - x.Value.M.Should().SatisfyRespectively( - y => - { - y.Key.Should().Be(nameof(OrderAttributeExpressionTests.UserEntity.Id)); - y.Value.S.Should().Be(order.UserEntity.Id); - }, y => - { - y.Key.Should().Be(nameof(OrderAttributeExpressionTests.UserEntity.DisplayName)); - y.Value.S.Should().Be(order.UserEntity.DisplayName); - }); - } - ); - - result.Names - .Should() - .SatisfyRespectively( - x => - { - x.Key.Should().Be("#Id"); - x.Value.Should().Be("Id"); - }, - x => - { - x.Key.Should().Be("#User"); - x.Value.Should().Be("User"); - } - ); - result.Expressions.Should() - .SatisfyRespectively(x => x.Should().Be("SET #User = :p1"), x => x.Should().Be("#Id = :p2")); - } - - [Fact] - public void ToAttributeExpression_Single_Expression() - { - var order = _fixture.Create(); - var result = OrderAttributeExpressionTestsMarshaller - .ToAttributeExpression(order, (x, y) => $"{x.Id} <> {y.Id}"); - - result.Expressions - .Should() - .SatisfyRespectively(x => x.Should().Be("#Id <> :p1")); - result.Names - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be("#Id"); - x.Value.Should().Be("Id"); - }); - result.Values - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(":p1"); - x.Value.S.Should().Be(order.Id); - }); - } - - [Fact] - public void ToAttributeExpression_Double_Expressions() - { - var order = _fixture.Create(); - var result = OrderAttributeExpressionTestsMarshaller - .ToAttributeExpression( - order, - (x, y) => $"{x.Id} <> {y.Id}", - (x, y) => $"SET {x.Id} = {y.Id}" - ); - - result.Expressions - .Should() - .SatisfyRespectively( - x => x.Should().Be("#Id <> :p1"), - x => x.Should().Be("SET #Id = :p1") - ); - result.Names - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be("#Id"); - x.Value.Should().Be("Id"); - }); - - result.Values - .Should() - .SatisfyRespectively(x => - { - x.Key.Should().Be(":p1"); - x.Value.S.Should().Be(order.Id); - }); - } -} - -public class OrderAttributeExpressionTests -{ - public string Id { get; set; } = null!; - - public decimal TotalPrice { get; set; } - public string ClientId { get; set; } = null!; - - [DynamoDBProperty("User")] - public User UserEntity { get; set; } = null!; - - public class User - { - public string Id { get; set; } = null!; - public string DisplayName { get; set; } = null!; - } -} \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/A/NamespaceATests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/A/NamespaceATests.cs deleted file mode 100644 index 145cbaf6..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/A/NamespaceATests.cs +++ /dev/null @@ -1,79 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.Namespace.A; - -public class NamespaceATests -{ - [Fact] - public void Verify_Correct_NameType() - { - Container.ContainerMarshaller - .AttributeExpressionNameTracker() - .Should() - .BeOfType(); - - Container.ContainerMarshaller - .AttributeExpressionNameTracker() - .PropertyA - .Should() - .BeOfType(); - } - - [Fact] - public void Verify_Correct_ValueType() - { - Container.ContainerMarshaller - .AttributeExpressionValueTracker() - .Should() - .BeOfType(); - - Container.ContainerMarshaller - .AttributeExpressionValueTracker() - .PropertyA - .Should() - .BeOfType(); - } - - [Fact] - public void Unmarshall() - { - Container.ContainerMarshaller - .Unmarshall(new Dictionary - { - { - nameof(Container.PropertyA), - new AttributeValue - { - M = new Dictionary - { { nameof(Container.PropertyA.Property), new AttributeValue { N = "2" } } } - } - } - }) - .Should() - .BeEquivalentTo(new Container(new SampleClass(2))); - } - - [Fact] - public void Marshall() - { - Container.ContainerMarshaller - .Marshall(new Container(new SampleClass(2))) - .Should() - .BeEquivalentTo(new Dictionary - { - { - nameof(Container.PropertyA), - new AttributeValue - { - M = new Dictionary - { { nameof(Container.PropertyA.Property), new AttributeValue { N = "2" } } } - } - } - } - ); - } -} - -[DynamoDBMarshaller] -public partial record Container(SampleClass PropertyA); \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/B/NamespaceBTests.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/B/NamespaceBTests.cs deleted file mode 100644 index 5e2f1633..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/B/NamespaceBTests.cs +++ /dev/null @@ -1,79 +0,0 @@ -using Amazon.DynamoDBv2.Model; -using DynamoDBGenerator.Attributes; - -namespace DynamoDBGenerator.SourceGenerator.Tests.Namespace.B; - -public class NamespaceBTests -{ - [Fact] - public void Verify_Correct_NameType() - { - Container.ContainerMarshaller - .AttributeExpressionNameTracker() - .Should() - .BeOfType(); - - Container.ContainerMarshaller - .AttributeExpressionNameTracker() - .PropertyB - .Should() - .BeOfType(); - } - - [Fact] - public void Verify_Correct_ValueType() - { - Container.ContainerMarshaller - .AttributeExpressionValueTracker() - .Should() - .BeOfType(); - - Container.ContainerMarshaller - .AttributeExpressionValueTracker() - .PropertyB - .Should() - .BeOfType(); - } - - [Fact] - public void Unmarshall() - { - Container.ContainerMarshaller - .Unmarshall(new Dictionary - { - { - nameof(Container.PropertyB), - new AttributeValue - { - M = new Dictionary - { { nameof(Container.PropertyB.Property), new AttributeValue { N = "2" } } } - } - } - }) - .Should() - .BeEquivalentTo(new Container(new SampleClass(2))); - } - - [Fact] - public void Marshall() - { - Container.ContainerMarshaller - .Marshall(new Container(new SampleClass(2))) - .Should() - .BeEquivalentTo(new Dictionary - { - { - nameof(Container.PropertyB), - new AttributeValue - { - M = new Dictionary - { { nameof(Container.PropertyB.Property), new AttributeValue { N = "2" } } } - } - } - } - ); - } -} - -[DynamoDBMarshaller] -public partial record Container(SampleClass PropertyB); \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/SampleClass.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/SampleClass.cs deleted file mode 100644 index 4b1d35dc..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/Namespace/SampleClass.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace DynamoDBGenerator.SourceGenerator.Tests.Namespace; - -public record SampleClass(int Property); \ No newline at end of file diff --git a/tests/DynamoDBGenerator.SourceGenerator.Tests/Usings.cs b/tests/DynamoDBGenerator.SourceGenerator.Tests/Usings.cs deleted file mode 100644 index dd49c7ea..00000000 --- a/tests/DynamoDBGenerator.SourceGenerator.Tests/Usings.cs +++ /dev/null @@ -1,3 +0,0 @@ -global using Xunit; -global using FluentAssertions; -global using Amazon.DynamoDBv2.DataModel; \ No newline at end of file