Steven D'Aprano wrote: > On Fri, 13 Mar 2009 01:02:26 pm R. David Murray wrote: >> On Fri, 13 Mar 2009 at 00:35, Antoine Pitrou wrote: >>> R. David Murray <rdmurray <at> bitdance.com> writes: >>>> Seriously, though, the point is that IMO an application should not >>>> be calling fsync unless it provides a way for that behavior to be >>>> controlled by the user. >>> But whether an application does it or not is none of Python's >>> business, is it? What is the disagreement exactly? >> I'd like to see whatever feature gets added support the application >> writer in making this user controllable, or at the very least >> document that this to do so is best practice if you use the sync >> feature. > > It's not best practice. It may be best practice for a certain class of > users and applications, e.g. those who value the ability to control > low-level behaviour of the app, but it is poor practice for other > classes of users and applications. Do you really think that having > Minefield make the file syncing behaviour of the high scores file > user-configurable is best practice? People care about their high > scores, but they don't care that much. > > It may even lead to more data loss than leaving it out: > > * If the application chooses a specific strategy, this strategy might > (for the sake of the argument) lead to data loss once in ten million > writes on average. > > * If the application makes this a configuration option, the increased > complexity of writing the code, and the increased number of paths that > need to be tested, may lead to bugs which cause data loss. This may be > more risky than the original strategy above (whatever that happens to > be.) > > Complexity is not cost-free, and insisting that the more complex, > expensive solution is always "best practice" is wrong. If the pops and moms uses a financial program and lost their only copy of 10 years worth of financial data, they'll simply be confused and that's it. Meanwhile if a network administrator needs to squeeze the last bit of performance out of his backup script, he definitely would threaten the dev-team of the programming language to make manual sync file writing the default, since it makes it difficult for him to fine-tune the syncing process.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4