/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v7.0.10
test/Npgsql.Benchmarks/ResolveHandler.cs
51 строка
1 KB
Shay Rojansky
Data source type mapper (#4691)
20 окт 2022, 15:22
Не верифицирован
20 окт 2022, 15:22
d1e7910
Код
Авторство
О чём код?
using BenchmarkDotNet.Attributes; using Npgsql.Internal.TypeHandling; using Npgsql.TypeMapping; using NpgsqlTypes; namespace Npgsql.Benchmarks; [MemoryDiagnoser] public class ResolveHandler { NpgsqlDataSource? _dataSource; TypeMapper _typeMapper = null!; [Params(0, 1, 2)] public int NumPlugins { get; set; } [GlobalSetup] public void Setup() { var dataSourceBuilder = new NpgsqlDataSourceBuilder(); if (NumPlugins > 0) dataSourceBuilder.UseNodaTime(); if (NumPlugins > 1) dataSourceBuilder.UseNetTopologySuite(); _dataSource = dataSourceBuilder.Build(); _typeMapper = _dataSource.TypeMapper; } [GlobalCleanup] public void Cleanup() => _dataSource?.Dispose(); [Benchmark] public NpgsqlTypeHandler ResolveOID() => _typeMapper.ResolveByOID(23); // int4 [Benchmark] public NpgsqlTypeHandler ResolveNpgsqlDbType() => _typeMapper.ResolveByNpgsqlDbType(NpgsqlDbType.Integer); [Benchmark] public NpgsqlTypeHandler ResolveDataTypeName() => _typeMapper.ResolveByDataTypeName("integer"); [Benchmark] public NpgsqlTypeHandler ResolveClrTypeNonGeneric() => _typeMapper.ResolveByValue((object)8); [Benchmark] public NpgsqlTypeHandler ResolveClrTypeGeneric() => _typeMapper.ResolveByValue(8); }