But looking in the main section and in the while statement, both functions are called sequentially (and probably (this is just my guess)) with the same fequency. So basicly from guessing by the functions name, the function "thunar_transfer_job_execute" seem to be from same high frequency than the "check_destination" one, where this preference object referencing was done before (if not higher) -> nails dbus.
Explaination (old patch):
main() { transfer_ job_veryify_ destination transfer_ job_get_ status
while (1) {
call_fkt_a(); // thunar_
call_fkt_b(); // thunar_
}
}
call_fkt_a() { prefs_object_ reference( ); // calls xfconf which calls dbus
call_
if (foo file list exist) {
return;
}
if (nested block) { gimme_misc_ binary_ size_info( );
fkt_
}
}
call_fkt_b() {
; // left untouched
}
My patch only reduced noise on the bus:
main() { transfer_ job_veryify_ destination transfer_ job_get_ status
while (1) {
call_fkt_a(); // thunar_
call_fkt_b(); // thunar_
}
}
call_fkt_a() {
if (foo file list exist) {
return;
}
if (nested block) { prefs_object_ reference( ); // calls xfconf which calls dbus
call_
fkt_ gimme_misc_ binary_ size_info( );
}
}
call_fkt_b() {
; // left untouched
}
The new patch does:
main() { transfer_ job_veryify_ destination transfer_ job_get_ status
while (1) {
call_fkt_a(); // thunar_
call_fkt_b(); // thunar_
}
}
call_fkt_a() {
if (foo file list exist) {
return;
}
if (nested block) { from_cache( ); gimme_misc_ binary_ size_info( );
get_
fkt_
}
}
call_fkt_b() { prefs_object_ reference( ); // calls xfconf which calls dbus
call_
store_in_cache();
}
But looking in the main section and in the while statement, both functions are called sequentially (and probably (this is just my guess)) with the same fequency. So basicly from guessing by the functions name, the function "thunar_ transfer_ job_execute" seem to be from same high frequency than the "check_destination" one, where this preference object referencing was done before (if not higher) -> nails dbus.