1. Nautilus I/O Operation Management Rework
1.1. Abstract
Currently, I/O operations are largely unmanaged, allowing a large number of them to be running concurrently, which increases the amount of random I/O performed by the disk. That can lead to poor performance. While GTask rate-limits the tasks, it cannot be assumed that GLib will always do that and thus Nautilus would benefit from having a mechanism to control the execution of its tasks. That, along with rewriting the operations in a more object-oriented manner will result in better performance and maintainability.
1.2. Timetable
Period |
Deliverable |
May 30 – June 13 |
Task interface |
Task management API |
|
Complete port of a single file operation |
|
June 13 – June 20 |
Progress notification signaling |
June 20 – July 4 |
Complete port of a single cache operation |
Phase 1 evaluation |
|
July 4 – July 11 |
Complete port of search operations |
July 11 – July 18 |
Complete port of thumbnailing |
July 18 – August 1 |
Complete port of cache operations |
Phase 2 evaluation, GUADEC |
|
August 8 – August 15 |
Scheduling capabilities in task manager |
1.3. Detailed Plan
TODO