Giter Club home page Giter Club logo

Comments (5)

mdboom avatar mdboom commented on June 19, 2024

One thing that can be done now is perhaps write out the version of Pyasdf that created the file.

Yes -- the size of the block header recently changed to support compression. Once we have a first stable numbered release of ASDF, then all versions of pyasdf going forward will support all versions of ASDF, but right now, I'm not dealing with such complications. The ASDF version number is at the top of every ASDF file, and each tag within an ASDF file is individually versioned, so this won't be difficult going forward. One of the major drawbacks of FITS is that it has never had a version number.

Why the big difference?

I suspect the difference is the inclusion of arrays in dist.asdf, but I can't really say. Can you share the files with me?

from asdf.

mdboom avatar mdboom commented on June 19, 2024

On the performance issues. There was one obvious bug in pyasdf that was causing runtime to increase exponentially with the number of items in the tree. That should be fixed by #92.

After doing that, the breakdown on the image.asdf example is essentially:

  • 25% YAML parsing (in pyyaml)
  • 25% JSON schema validation (about 25% of which is in pyasdf, the reset in jsonschema)
  • 50% Construction of models

There may be some low-hanging fruit for optimization in models. And there's probably some extra in pyasdf, but not as much.

from asdf.

nden avatar nden commented on June 19, 2024

This sounds great. Thanks.

from asdf.

embray avatar embray commented on June 19, 2024

I'm making a little bit of progress on the construction of models. I just eliminated some overhead in creation of model classes, which happens every time you build a compound model. Will do better still once it's possible to convert an expression tree directly to a model class without making intermediate classes.

from asdf.

mdboom avatar mdboom commented on June 19, 2024

I'm going to close this because I think I've got all of the low-hanging performance fruit in pyasdf here.

from asdf.

Related Issues (20)

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.