I just found that internalised data in an input is not cleared after you reconnect a cable to that input. I realised after internalising some data in a component to copy/paste to a new definition and send to someone and after that I reconnected the cables and every operation became super-slow.
I thought that it could be because the autosave saving before every cable connection all the internalised data that I previously add to some component inputs. So I found the component and even with cables connected to the input I cleared the data on those. After that everything became normal and fast.
Well, this is by design. Internal data is kept until manually cleared, it’s just ignored if there’s wires coming in to the parameter. And yes it may seriously slow down saving if there’s lots of it and it’s complicated data.
Are you suggesting/asking that GH should do something different in this case?
Thanks for your fast reply. I don’t mind if GH stores the data even after plugin new wires but, is not very intuitive to locate the components which contain internalize data after connecting a wire (there is no visual feedback in the interface or other ways to see it as far as I know). I don’t do this a lot, but after experiencing the need of locating internalize data in a component and eliminate it, I realize how painful is. Several solutions could be provided, here are some:
- Modification in the current behavior: once a wire is connected the internalize data is preserved or deleted according to a parameter in GH settings.
- The behavior is kept but certain tools or UI elements are created to be able to manage internalize data in components easily.
What do you think?
Would you still care if there wasn’t a penalty for this during saving? I’ve never profiled this so I don’t know whether the bulk of the additional save time is due to converting complex objects to byte arrays or whether it’s due to compressing those byte arrays, but if it’s the former a speed up may be possible.
Well, if the general GH performance (due to autosaving tasks executing at every modification in the definition, which is super useful) is not affected, I have no problems keeping it. But as user I would prefer to have control about what is being stored in my “code” and to be able to find that information at any time and manage it by myself.
I understand that it could be a little problematic UI-wise, but I would really prefer an approach that gives me the power of interrogate and manage the data store in the definition or at least preset an option to never let GH to keep internalised data in an input after a cable has been connected.
Sorry for being that “picky”