<commit_before>﻿using BenchmarkDotNet.Attributes;
using System;
using Aardvark.Base;

// NOTE: A namespace with Aardvark.Base.XX automatically allows using Aardvark.Base methods and somehow also prefers 
//       the Aardvark.Base.HashCode combine and does not result in error CS0104: 
//       'HashCode' is an ambiguous reference between 'Aardvark.Base.HashCode' and 'System.HashCode'
namespace SomeApp
//namespace Aardvark.Base.Benchmarks
{
    //BenchmarkDotNet=v0.12.0, OS=Windows 10.0.19041
    //Intel Core i7-8700K CPU 3.70GHz(Coffee Lake), 1 CPU, 12 logical and 6 physical cores
    //.NET Core SDK = 5.0.100

    // [Host]     : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203), X64 RyuJIT
    //  DefaultJob : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203), X64 RyuJIT

    //|            Method | Count |     Mean |    Error |   StdDev |
    //|------------------ |------ |---------:|---------:|---------:|
    //| Combine2_Aardvark | 10000 | 13.80 us | 0.037 us | 0.029 us |
    //|   Combine2_System | 10000 | 21.70 us | 0.159 us | 0.149 us |
    //| Combine3_Aardvark | 10000 | 23.77 us | 0.240 us | 0.212 us |
    //|   Combine3_System | 10000 | 18.88 us | 0.164 us | 0.153 us |
    //| Combine4_Aardvark | 10000 | 22.38 us | 0.150 us | 0.133 us |
    //|   Combine4_System | 10000 | 17.86 us | 0.032 us | 0.030 us |
    //| Combine8_Aardvark | 10000 | 21.50 us | 0.097 us | 0.091 us |
    //|   Combine8_System | 10000 | 16.55 us | 0.170 us | 0.150 us |

    //|                          Method | Count |        Mean |     Error |    StdDev |    Gen 0 | Gen 1 | Gen 2 | Allocated |
    //|-------------------------------- |------ |------------:|----------:|----------:|---------:|------:|------:|----------:|
    //|       M44d_GetHashCode_Aardvark | 10000 |   568.10 us |  7.470 us |  6.630 us | 126.9531 |     - |     - |  800001 B |
    //| M44d_GetHashCode_Aardvark (NEW) | 10000 |   388.70 us |  3.600 us |  3.370 us |        - |     - |     - |       3 B |
    //|     M44d_HashCode_SystemDefault | 10000 | 1,268.00 us |  9.000 us |  7.980 us | 228.5156 |     - |     - | 1440009 B |
    //|      M44d_HashCode_SystemCustom | 10000 |   475.20 us |  3.880 us |  3.630 us |        - |     - |     - |         - |
    //|        V4d_GetHashCode_Aardvark | 10000 |    85.05 us |  0.612 us |  0.511 us |        - |     - |     - |       1 B |
    //|      V4d_HashCode_SystemDefault | 10000 | 1,079.64 us | 11.487 us | 10.745 us |  76.1719 |     - |     - |  480009 B |
    //|       V4d_HashCode_SystemCustom | 10000 |   122.04 us |  2.286 us |  2.245 us |        - |     - |     - |         - |

    [PlainExporter, MemoryDiagnoser]
    public class HashCodeCombine
    {<commit_msg>updated benchmark<commit_after>﻿using BenchmarkDotNet.Attributes;
using System;
using Aardvark.Base;

// NOTE: A namespace with Aardvark.Base.XX automatically allows using Aardvark.Base methods and somehow also prefers 
//       the Aardvark.Base.HashCode combine and does not result in error CS0104: 
//       'HashCode' is an ambiguous reference between 'Aardvark.Base.HashCode' and 'System.HashCode'
namespace SomeApp
//namespace Aardvark.Base.Benchmarks
{
    //BenchmarkDotNet=v0.12.0, OS=Windows 10.0.19041
    //Intel Core i7-8700K CPU 3.70GHz(Coffee Lake), 1 CPU, 12 logical and 6 physical cores
    //.NET Core SDK = 5.0.100

    // [Host]     : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203), X64 RyuJIT
    //  DefaultJob : .NET Core 3.1.9 (CoreCLR 4.700.20.47201, CoreFX 4.700.20.47203), X64 RyuJIT

    //|            Method | Count |     Mean |    Error |   StdDev |   Gen 0 | Gen 1 | Gen 2 | Allocated |
    //|------------------ |------ |---------:|---------:|---------:|--------:|------:|------:|----------:|
    //| Combine2_Aardvark | 10000 | 14.88 us | 0.075 us | 0.070 us |       - |     - |     - |         - |
    //|   Combine2_System | 10000 | 20.48 us | 0.249 us | 0.233 us |       - |     - |     - |         - |
    //| Combine3_Aardvark | 10000 | 25.43 us | 0.471 us | 0.462 us | 16.9983 |     - |     - |  106656 B |
    //|   Combine3_System | 10000 | 17.73 us | 0.096 us | 0.090 us |       - |     - |     - |         - |
    //| Combine4_Aardvark | 10000 | 22.78 us | 0.209 us | 0.195 us | 12.7258 |     - |     - |   80000 B |
    //|   Combine4_System | 10000 | 17.97 us | 0.303 us | 0.284 us |       - |     - |     - |         - |
    //| Combine8_Aardvark | 10000 | 21.55 us | 0.243 us | 0.203 us |  9.5520 |     - |     - |   60000 B |
    //|   Combine8_System | 10000 | 16.31 us | 0.061 us | 0.054 us |       - |     - |     - |         - |

    //|                          Method | Count |        Mean |     Error |    StdDev |    Gen 0 | Gen 1 | Gen 2 | Allocated |
    //|-------------------------------- |------ |------------:|----------:|----------:|---------:|------:|------:|----------:|
    //|       M44d_GetHashCode_Aardvark | 10000 |   568.10 us |  7.470 us |  6.630 us | 126.9531 |     - |     - |  800001 B |
    //| M44d_GetHashCode_Aardvark (NEW) | 10000 |   388.70 us |  3.600 us |  3.370 us |        - |     - |     - |       3 B |
    //|     M44d_HashCode_SystemDefault | 10000 | 1,268.00 us |  9.000 us |  7.980 us | 228.5156 |     - |     - | 1440009 B |
    //|      M44d_HashCode_SystemCustom | 10000 |   475.20 us |  3.880 us |  3.630 us |        - |     - |     - |         - |
    //|        V4d_GetHashCode_Aardvark | 10000 |    85.05 us |  0.612 us |  0.511 us |        - |     - |     - |       1 B |
    //|      V4d_HashCode_SystemDefault | 10000 | 1,079.64 us | 11.487 us | 10.745 us |  76.1719 |     - |     - |  480009 B |
    //|       V4d_HashCode_SystemCustom | 10000 |   122.04 us |  2.286 us |  2.245 us |        - |     - |     - |         - |

    [PlainExporter, MemoryDiagnoser]
    public class HashCodeCombine
    {
{'fraction_non_alphanumeric': 0.19490946361462247, 'fraction_numerical': 0.14793303723949436, 'mean_word_length': 1.3656565656565656, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 13, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '672465', 'n_tokens_mistral': 2767, 'n_tokens_neox': 2120, 'n_words': 497}