|
|
@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
using Marr.Data.Reflection;
|
|
|
|
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
|
|
|
using NzbDrone.Core.Datastore;
|
|
|
|
|
|
|
|
using NzbDrone.Core.Tv;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace NzbDrone.Core.Test.Datastore.ReflectionStrategyFixture
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
[TestFixture]
|
|
|
|
|
|
|
|
public class Benchmarks
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
private const int iterations = 5000000;
|
|
|
|
|
|
|
|
private object _target;
|
|
|
|
|
|
|
|
private IReflectionStrategy _simpleReflectionStrategy;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SetUp]
|
|
|
|
|
|
|
|
public void Setup()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// _simpleReflectionStrategy = new DelegateReflectionStrategy();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
|
|
|
public void clr_reflection_test()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
_target = new Series();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var del = _simpleReflectionStrategy.BuildSetter(typeof(Series), "Title");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < iterations; i++)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
del(_target, "TestTile");
|
|
|
|
|
|
|
|
//_simpleReflectionStrategy.SetFieldValue(_target, "Title", "TestTile");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void SetField()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|