HP50g small tips and trick
|
06-23-2018, 05:43 PM
(This post was last modified: 06-23-2018 05:44 PM by pier4r.)
Post: #43
|
|||
|
|||
RE: HP50g small tips and trick
(06-23-2018 04:26 PM)rprosperi Wrote: When you have no idea at all how long a program may run, it's usually best to include a counter to track the number of iterations and when it exceeds some threshold, exit with a diagnostic message, e.g. "Exceeded 10,000 iterations". Yes that is true. Though I tend to deviate from theory if the task is not critical. (i.e: I am interested in the results but I can wait) I learned (also through pain) to do sort of canary deployments (principle that is valid mostly everywhere). Small tests first. Passed? Good. Then a bit larger. In the meanwhile I collect timings and I see if the predicted runtimes hold varying the input. Then I let the program crunch large input values. In my particular case I could predict the next execution time practically with 100% accuracy (and also the number of loops to execute). Only one loop was related to a random pick that in a very remote case could have ended in "sorry no result is there for what you are searching" and then this would have ended in an infinite loop. I though "well do I make a fail check condition for this? Nah. It won't happen until the input values are really large. By then I will have fixed it". Instead it happened earlier than expected. Sometimes I have to be remembered of some programming/planning techniques through slightly bitter experiences, to then be motivated to implement them. Wikis are great, Contribute :) |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)