Changes between Initial Version and Version 1 of Ticket #450


Ignore:
Timestamp:
Oct 26, 2007, 4:52:44 PM (17 years ago)
Author:
Nicolas
Comment:

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...
     1Debugging 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...
    22
    33I 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.