Sujet : Re: OT programming challenge: fastest/best/shortest C program to jumble a sentence, then restore it
De : bowman (at) *nospam* montana.com (rbowman)
Groupes : comp.os.linux.advocacyDate : 09. Mar 2024, 05:14:10
Autres entêtes
Message-ID : <l522g2FqgibU6@mid.individual.net>
References : 1 2 3 4 5 6
User-Agent : Pan/0.149 (Bellevue; 4c157ba)
On Fri, 8 Mar 2024 15:41:13 -0500, DFS wrote:
Sorry. That's ALL from a crlf inserted by the newsreader. It compiled
cleanly after I took it out.
Yup...
In production code I'd likely do
char* sentence;
sentence = strdup("Once you try it, you'll see it doesn't need spice.");
if (sentence == NULL) {
printf("strdup() failed: %s", strerror(errno));
return -1;
}
Admittedly is the implied malloc() failed the odds of it printing anything aren't great but might as well try. I probably would use strtok_r() in production if there was a remote possibility that there would be another nested strtok(). That's ruined more than one programmer's day.
It does make one appreciate Python when you're not scrambling for the last nanosecond. I recently came across an article about MicroPython on the Pico by someone who hung a logic analyzer on an output. The first observation was
def Blink():
While True:
pin.on()
pin.off()
Blink()
was faster than an in-line While True:
pin.on()
pin.off()
The second observation was if you were working with nanoseconds it was time to move to C. No surprise on the second but apparently the generated code is a little better optimized in a function.