A peek past lambda
Llewellyn Falco
isidore at setgame.com
Sun Aug 21 08:11:25 PDT 2011
sorry, when I reformated my code, resharper changed the middle line,
it originally was
number = IntegerUtils.increment(number);
On Sun, Aug 21, 2011 at 11:08 AM, Llewellyn Falco <isidore at setgame.com> wrote:
>> linq = C# extension method + lambda, both are slow.
>> cheers,
>> Rémi
>
> Again, I am curious about your profiling to achieve these results, I
> just ran the following code and got:
> Counting to 1000000 took 00:00:00.0156247 with regular methods
> Counting to 1000000 took 00:00:00.0156247 with statically called
> extension methods
> Counting to 1000000 took 00:00:00 with extension methods
>
> To be fair, I think these are all so damn fast that the margin of
> error is > than the total time it takes to run the method 1,000,000
> times,
> but it definitely doesn't support your claim that "extension methods are slow"
>
> here's the code:
>
> public class SpeedTest
> {
> public int increment(int i)
> {
> return i + 1;
> }
>
> [Test]
> public void TestSideHasDistance()
> {
> int times = 1000000;
> DateTime start = DateTime.Now;
> int number = 0;
> for (int i = 0; i < times; i++)
> {
> number = increment(number);
> }
> TimeSpan time = DateTime.Now - start;
> Console.WriteLine("Counting to {0} took {1} with regular
> methods".FormatWith(number, time));
> start = DateTime.Now;
> number = 0;
> for (int i = 0; i < times; i++)
> {
> number = number.increment();
> }
> time = DateTime.Now - start;
> Console.WriteLine("Counting to {0} took {1} with statically called
> extension methods".FormatWith(number,
>
> time));
> start = DateTime.Now;
> number = 0;
> for (int i = 0; i < times; i++)
> {
> number = number.increment();
> }
> time = DateTime.Now - start;
> Console.WriteLine("Counting to {0} took {1} with extension
> methods".FormatWith(number, time));
> }
> }
>
> public static class IntegerUtils
> {
> public static int increment(this int i)
> {
> return i + 1;
> }
>
> public static int incrementWithExtension(int i)
> {
> return i + 1;
> }
> }
>
>
>
> Llewellyn Falco
> www.approvaltests.com
>
--
Llewellyn Falco
www.approvaltests.com
More information about the lambda-dev
mailing list