-
For large output a lot of time is used copying capturebuf to callerbuf to provide a Glib::ustring copy of the buffer for the update callback. However update callbacks are only used when commands are run to apply operations by FileSystem::execute_command() and their output is incrementally displayed in the UI. Whereas update callbacks are never used when commands are used to query information via Utils::execute_command(). Stop performing interim copying of capturebuf to callerbuf when there are no update callbacks registered as it is unnecessary. Time to read portions of the recorded fsck.fat output via fat16::set_used_sectors() and intermediate copies aren't required: 1 MiB 10 MiB 122 MiB old code : 0.074 sec 1.41 sec 210 sec [3:30] new code : 0.063 sec 0.56 sec 6.57 sec Bug 777973 - Segmentation fault on bad disk
25780c61