Varying speed of a program.
|
05-25-2022, 03:51 PM
(This post was last modified: 05-25-2022 04:09 PM by Albert Chan.)
Post: #10
|
|||
|
|||
RE: Varying speed of a program.
To speed up, we could do in-place divide, instead of building up quotient, 1 char at a time.
This eliminated cost of generating intermediate strings, and cost of garbage collection, both O(n^2) (Timing jitters likely comes from unpredictable timing of garbage collection.) With positive integer divisor, dividend has enough room to hold the quotient. CAS> s := "12345" CAS> s[1] =< "0" // in-place string update CAS> s → "02345" s is treated just like an array, with INPUT showed array_sto("0",s[1]) Instead of removing quotient leading zeroes, we could track index of first non-zero entry. Comment: we might as well work with true array, saving cost of str/num conversions. HOME> L1 := ASC("12345") - 48 → {1,2,3,4,5} HOME> L1[1] := 0 → {0,2,3,4,5} |
|||
« Next Oldest | Next Newest »
|
Messages In This Thread |
Varying speed of a program. - matalog - 05-21-2022, 09:46 AM
RE: Varying speed of a program. - albud44 - 05-21-2022, 10:02 AM
RE: Varying speed of a program. - Gene - 05-21-2022, 10:09 PM
RE: Varying speed of a program. - matalog - 05-21-2022, 05:01 PM
RE: Varying speed of a program. - matalog - 05-21-2022, 11:47 PM
RE: Varying speed of a program. - anyfoo - 05-22-2022, 01:34 AM
RE: Varying speed of a program. - matalog - 05-24-2022, 08:43 PM
RE: Varying speed of a program. - Albert Chan - 05-25-2022 03:51 PM
RE: Varying speed of a program. - Terje Vallestad - 05-22-2022, 09:26 AM
RE: Varying speed of a program. - Kevin Ouellet - 05-23-2022, 10:55 AM
|
User(s) browsing this thread: