TickitPen should store a refcount
Given as most TickitPen instances are not modified after construction, it makes sense to consider storing multiple references to the same instance instead of cloning it (especially in things like RenderBuffer which stores a pen per cell). This would reduce CPU and memory usage by a lot.
I suggest a behaviour similar to Perl SVs; that a new pen starts with refcount 1, gets destroyed when it hits 0, and has a pair of ref/unref functions:
TickitPen *tickit_
void tickit_
It might also make sense to have an accessor to return the current refcount, or at least to check if the refcount is 1 - in that situation an in-place mutation may be allowable, whereas with refcount > 1 the user may wish to clone, unref the old one, then mutate the new copy.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- High
- Drafter:
- Paul "LeoNerd" Evans
- Direction:
- Approved
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Paul "LeoNerd" Evans
- Completed by
- Paul "LeoNerd" Evans
Related branches
Related bugs
Sprints
Whiteboard
Done as of -r368