orocos-toolchain / orogen

Code generator for components and type handling in Rock - the Robot Construction Kit - and the Orocos Toolchain
http://rock-robotics.org
Other
4 stars 35 forks source link

Remove caches #77

Closed doudou closed 8 years ago

doudou commented 8 years ago

This pull request removes the two main caches that were present, related to orogen loading

It depends on https://github.com/orocos-toolchain/utilrb/pull/30. https://github.com/rock-core/tools-orocosrb/pull/94 must be applied at the same time, as some private APIs of Loaders::PkgConfig is used by Orocos::Process.

These two caches were meant to work around bad orogen loading behaviour in the pre-loaders days, that is the fact that orogen had a tendency to load the same package over and over again. This has been fixed by the orogen loaders.

Their side effect - and why I remove them - was that we ended up with more than 250k objects in the Ruby heap in a typical Syskit application, that were only related to these - and never used. That's more than 50% of the total.