D. When things go wrong
Most often, when things go wrong its because of some silly error (e.g. a missing parentheses or mispelled word). Sometimes it is because of a silly error in making this language (if so, please report the problem to BioBIKE Central!). However, there are times that things go wrong because they've gone too right.D.1. Running long programs
You might enter a program into the Program Window, click EVAL, and... nothing happens! Maybe the computer is thinking. If so, it has a limited time (default currently 40 seconds) to sort things out, and then you will get the following message:;; <<< *** TIMEOUT TIMEOUT TIMEOUT *** >>>Possible responses:
;; <<< *** COMPUTATION ABORTED ***>>>
;; <<< *** ADJUST *EXECUTION-TIMELIMIT* TO RUN LONGER *** >>>
;; <<< *** CURRENT VALUE IS 40 SECONDS ***>>>
- Try again later or go to another BioBIKE site (someone else may be running a computationally intensive program temporarily clogging things up).
- Increase the time limit. First, however, it is a good idea to run a shorter version of the code to get an estimate of how long the full code will take. The TIME function is useful in this regard. Suppose you run across this problem::
Here's how you can find out how long the program will take:(FOR-EACH electron IN universe ... ; something really important FINALLY (DISPLAY answer)) :: ;; <<< *** TIMEOUT TIMEOUT TIMEOUT *** >>>Going through just the first 100 iterations took 380 msec of computer thought, 200 msec of garbage collection (retrieving memory no longer in use), for a total of 580 msec. Now you can calculate the amount of time it would take to run the full program (= 580 msec * number of electrons in universe / 100).(TIME (FOR-EACH electron IN universe FOR count FROM 1 TO 100 ... ; something really important FINALLY (DISPLAY answer)) ) :: 42 ; cpu time (non-gc) 380 msec user, 0 msec system ; cpu time (gc) 200 msec user, 0 msec system ; cpu time (total) 580 msec user, 0 msec system ; real time 583 msec
If the calculation convinces you that you really need a reasonable amount of execution time, then click on the down arrow of the Tools menu at the bottom of the screen, click on Prefs, and set the execution time limit to the desired number of seconds.
- Run a long program in the middle of the night so as to not drain resources from your colleagues (see DELAY-EXECUTION)
- Step back and reconsider... 40 seconds is a LONG TIME for a computer. There's a good chance you are doing something wrong or at least inefficient. Try contacting us to see if we might be able to speed up the program.
BioBIKE Help Back to Table of Contents Continue