Nautilus I/O Operation Management Rework

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.

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

Detailed Plan

TODO

Outreach/SummerOfCode/2017/Projects/ErnestasKulik_NautilusThreadingRework (last edited 2017-05-07 08:02:24 by PidorsAlmadovarovs)