[Scons-dev] Schedule for redesign?
Kenny, Jason L
jason.l.kenny at intel.com
Mon Oct 28 12:07:10 EDT 2013
I hope I would not be a wrench in engine :-)
Honestly The issue that this is work and I have to do this at home is the main reason I have not pushed anything at this point. ( And having twin 3 years-old means I don't have the go power at the end of the day...)
I would agree with what is being stated. I would go a bit farther however.
I would redesign the Node API. But also redo the executioner logic. Ideally we want I have learned is that the task logic needs to be updated. Greg Noel was on the correct path with TNG in that we want to execute "builders" not nodes. We also need the API ( internal) to decouple the relationships with the tasks and the nodes.
I would also look at fixing up the subst engine. I found that this is another area of memory waste at the moment ( and not in the good way). This might be more of an issue with Parts as I currently use the subst engine to share data between different "parts"/ components. Until I do a new part file format and or a "continuous loader" I have no way to pass data correctly.
The another area that could use a bit of work to is the environment objects. Ideally I would move for a more aggressive copy on write logic as the default environment object the user would use. I this would save memory as well, and help with speed. Creating a new Environment is very slow, Cloning is faster, but still causes a lot of memory to be used. Given that Parts for example makes a "Clone" of a Default Environment to make sure we have a clean environment for the component being defined, this would be a big deal. I have noticed that most environments are different because one or two values. There is little value in copying ( which clone does) most of the data. We only need to have a copy on write for what needs to be different.
Last area would be to Setting object I have not finished in Parts. This was again based on Greg idea for IAPAT. This is more functional to help with managing large projects, cross build, configuration information.
I personal have started to rewrite Scons ( merge of some Parts stuff) myself.. but like I said above... I have not made any real progress to talk about.
Jason
More information about the Scons-dev
mailing list