Coder Social home page Coder Social logo

ecx.ds.* as separate library? about ecx HOT 8 OPEN

PDeveloper avatar PDeveloper commented on May 29, 2024
ecx.ds.* as separate library?

from ecx.

Comments (8)

eliasku avatar eliasku commented on May 29, 2024 2

@PDeveloper In general I will decompose ecx.ds to external library. When I will have free time to do it...

from ecx.

eliasku avatar eliasku commented on May 29, 2024

@PDeveloper,

And review this one https://github.com/eliasku/hotmem
I have thoughts on including ecx-ds to hotmem library. What do you think?

BR,
Ilya

from ecx.

PDeveloper avatar PDeveloper commented on May 29, 2024

I saw that! I think it would make sense to have hotmem live under a ecx-ds name, since it also deals with data, other way around feels a bit awkward in my opinion.

But all of these would be great to have! I'll see how far I get, I have a few more refactoring ideas that rely on the base haxe data structures, since the less dependencies, the better, but I'll test to see where I can get using these ones.

from ecx.

eliasku avatar eliasku commented on May 29, 2024

@PDeveloper
In my opinion if hotmem library is more general library and application is not related to ECS, then why we should name it as ecx-ds? For example, I use hotmem library for low-level rendering library. I could use it for server logic, utilities or something else. And other could use it as not-ecx part for doing something else.

Another question is: should I move specific CArray / CBitArray / CIntArray to hotmem or not. I think I should move it to more general library because I don't want to duplicate small optimised target-specific.

from ecx.

PDeveloper avatar PDeveloper commented on May 29, 2024

True, I was more basing it around the ds part, since hotmem sounds more specific than something-ds .
If grouping data structures, those definitely fit in the box I think!

It might be worth checking out: https://github.com/polygonal/ds

from ecx.

eliasku avatar eliasku commented on May 29, 2024

hotmem provides global heap for some managed targets. I think it could be better to leave hotmem separated and not include it into the core of ecx.

ecx.ds provides generic collections for all managed targets, it could be slower than hotmem, but not wires up to one global heap.
So ecx.ds is mostly fast implementation for simple and primitive collections across all supported targets. So from moment ecx.ds has been fully defined as a library - we could decompose the collections to separated library and add on top of them another not overwhelmed primitive collections not just for ecx.

polygonal.ds contains complex data-structures, otherwise ecx.ds provides simple primitives , which could be optimized better across all supported targets

from ecx.

PDeveloper avatar PDeveloper commented on May 29, 2024

Okay nice. ecx.ds will remain internal to ecx?

from ecx.

PDeveloper avatar PDeveloper commented on May 29, 2024

Gotcha :D Sounds good, thanks for this!

from ecx.

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.