Git Product home page Git Product logo

hyperpropertydescriptor's Introduction

HyperPropertyDescriptor Build status

logo

Provides a vastly accelerate runtime property implementation that can be applied even to closed-source classes

Source

Based on the code from the Marc Gravell article

Results

MyEntity.Name with 25000000 operations

Operation Direct Without Provider With Provider
GetProperties 647ms 699ms
IsReadOnly 2926ms 43ms
SupportsChangeEvents 245ms 41ms
GetValue 8ms 10360ms 57ms
SetValue 97ms 20288ms 155ms
ValueChanged 1022ms 29566ms 954ms

MySuperEntity.Name with 25000000 operations

Operation Without Provider With Provider
GetProperties 828ms 914ms
IsReadOnly 2881ms 41ms
SupportsChangeEvents 241ms 44ms
GetValue 10682ms 95ms
SetValue 20730ms 173ms
ValueChanged 30979ms 1059ms

MySuperEntity.When with 10000000 operations

Operation Without Provider With Provider
GetProperties 825ms 891ms
IsReadOnly 2888ms 41ms
SupportsChangeEvents 251ms 46ms
GetValue 11393ms 295ms
SetValue 22416ms 110ms

Example

Just write this piece of code:

HyperTypeDescriptionProvider.Add(typeof (MyEntity));

hyperpropertydescriptor's People

Contributors

dotnetchris avatar forcewake avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

hyperpropertydescriptor's Issues

appveyor.yml contains Nuget API Key

Hey there,

I was just reading Marc's original CodeProject article about HyperDescriptor and was looking for an 'official' NuGet package.. and then any non-official of that matter as Marc apparently never published it as a NuGet package.. when I saw yours, but saw that your appveyor.yml appears to contain your NuGet API key (see https://github.com/forcewake/HyperPropertyDescriptor/blob/master/appveyor.yml#L31) ... which, if it's still the same, might be somewhat of a risky thing to have under publicly viewable source-control.

I.e. one could clone your repo, modify the code slightly to do "horrible" things and publish a new version of the package :-/

Just as a heads-up..

Cheers,
-J

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.