Actions
Feature #21505
openDefine __slots__ for all classes in the fusedir and fusefile modules
Story points:
0.5
Description
Because these are the classes that arv-mount might instantiate several thousand of, defining __slots__ could make for a noticeable improvement in memory use at little cost.
Note that __slots__ needs to be defined on all classes to get the full benefit. Subclasses that add no attributes to their parents need to say __slots__ = ().
#21541 added slots to the most commonly instantiated classes in arvados_fuse.fusedir. The following still need to have __slots__ defined:
- TmpCollectionDirectory
- UnsaveableCollection
- MagicDirectory
- TagsDirectory
- TagDirectory
- SharedDirectory
In addition, a number of classes in arvados.collection would benefit from defining __slots__
- CollectionBase
- RichCollectionBase
- Collection
- Subcollection
- CollectionReader
Actions