Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

various coordinate performance improvements #258

Merged
merged 6 commits into from
Oct 27, 2015

Commits on Oct 26, 2015

  1. pre-create Unit("d")

    avoids creating new Unit in often called MVEpoch::getTime()
    juliantaylor committed Oct 26, 2015
    Configuration menu
    Copy the full SHA
    8372acf View commit details
    Browse the repository at this point in the history
  2. remove temporary object in MVPosition *= RotMatrix

    Avoid creating a temporary MVPosition object in the 3x3 matrix-vector
    product by using temporary stack variables.
    juliantaylor committed Oct 26, 2015
    Configuration menu
    Copy the full SHA
    3101389 View commit details
    Browse the repository at this point in the history
  3. add a simple Vector(3) cache to reduce MVPosition construction overhead

    MVPosition are often created as temporaries where the allocation
    overhead of the size 3 vector is large. To reduce this add a very simple
    cache for these vectors that holds a couple already allocated vectors.
    juliantaylor committed Oct 26, 2015
    Configuration menu
    Copy the full SHA
    7beb918 View commit details
    Browse the repository at this point in the history
  4. add a simple Vector(3) cache to reduce Euler construction overheads

    Euler objects are often created as temporaries where the allocation
    overhead of the size 3 vectors is large. To reduce this add a very simple
    cache for these vectors that holds a couple already allocated vectors.
    juliantaylor committed Oct 26, 2015
    Configuration menu
    Copy the full SHA
    e6ab50d View commit details
    Browse the repository at this point in the history
  5. remove duplicated sin() computations from SolarPos::calcEarth

    the compiler cannot remove then as it must assume memory aliasing.
    juliantaylor committed Oct 26, 2015
    Configuration menu
    Copy the full SHA
    00a7605 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2015

  1. add MeasTable::posArgDeriv and aber*ArgDeriv

    Returns derivative of MeasTable::posArg and aber*Arg Polynomial,
    which is also computed only once and the cached. Avoids unnecessary
    Polynomial creations in some places which involved several small Array
    allocations.
    juliantaylor committed Oct 27, 2015
    Configuration menu
    Copy the full SHA
    fdd1928 View commit details
    Browse the repository at this point in the history