Changes between Initial Version and Version 1 of Ticket #450
- Timestamp:
- Oct 26, 2007, 4:52:44 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #450 – Description
initial v1 1 Debugging checkpoint code can be hard if it requires running under the control of the core client, so it's often useful to make it checkpoint without caring about preferences when running as standalone. For example, making it [attachment:ticket:450:always_checkpoint.c checkpoint always] if standalone (instead of calling `boinc_time_``to_checkpoint`), but that causes too much I/O. [attachment:ticket:450:other_workaround.c Other workarounds] that devs could use reduce performance of the application '''both''' as standalone and with client (because of all the extra function calls). One way to avoid that performance hit is using [attachment:ticket:450:function_pointers.c function pointers]. That already gets ''quite'' messy...1 Debugging checkpoint code can be hard if it requires running under the control of the core client, so it's often useful to make it checkpoint without caring about preferences when running as standalone. For example, making it [attachment:ticket:450:always_checkpoint.c checkpoint always] if standalone (instead of calling boinc_time_to_checkpoint), but that causes too much I/O. [attachment:ticket:450:other_workaround.c Other workarounds] that devs could use reduce performance of the application '''both''' as standalone and with client (because of all the extra function calls). One way to avoid that performance hit is using [attachment:ticket:450:function_pointers.c function pointers]. That already gets ''quite'' messy... 2 2 3 3 I suggest adding a feature inside {{{boinc_time_to_checkpoint}}} itself to return true every few seconds if running standalone. Maybe make it possible to disable using {{{#ifdef}}}, and add a {{{#define}}} for changing the time between checkpoints.