Some notes whats going on in the ct branch, second try
[cinelerra_cv/ct.git] / TODO.ct
blobb5b0aa94c5e674e1eeff13cf73c37eb4d0b12da6
1 Some short list where I am working on:
3 Remove the Garbage collector in favor of boost::shared_ptr, the GC has
4 some nasty bugs, partially together with threads. By replacing ALL
5 Asset* with boost::shared_ptr<Asset> these should be fixed on expanse of
6 some performance.
8 Manage Assets in std::vector<boost::shared_ptr> /
9 std::list<boost::shared_ptr>.
11 When this works then refactor some uses of the shared_ptr to using
12 references instead, this will regain most of the performance loss from
13 above. The caller must be the owner of the pointer and the callee must not fork threads
16 When still not fscked up, then refactor the arrays/lists to hold normal
17 pointers (or boost::ptr_vector/ptr_list) with clear ownership semantic.
19 Maybe add some debugging allocator which tracks per-thread ownership of
20 objects, aiding in finding complicated bugs.
22 Maybe apply the above steps to other classes (File, EDL, etc...).
24 Maybe add some pooled allocator which could improve performance even more.