Delegate (.NET) - Performance

Performance

Performance of delegates used to be much slower than a virtual or interface method call (6 to 8 times slower in Microsoft's 2003 benchmarks), but, since the .NET 2.0 CLR in 2005, it is about the same as interface calls. This means there is a small added overhead compared to direct method invocations.

There are very stringent rules on the construction of delegate classes. These rules permit optimizing compilers a great deal of leeway when optimizing delegates while ensuring type safety.

Delegates are a variation of closures.

Read more about this topic:  Delegate (.NET)

Famous quotes containing the word performance:

    “So long as the source of our identity is external—vested in how others judge our performance at work, or how others judge our children’s performance, or how much money we make—we will find ourselves hopelessly flawed, forever short of the ideal.”
    —Melinda M. Marshall (20th century)

    “To vote is like the payment of a debt—a duty never to be neglected, if its performance is possible.”
    —Rutherford Birchard Hayes (1822–1893)

    “The child to be concerned about is the one who is actively unhappy, [in school].... In the long run, a child’s emotional development has a far greater impact on his life than his school performance or the curriculum’s richness, so it is wise to do everything possible to change a situation in which a child is suffering excessively.”
    —Dorothy H. Cohen (20th century)