3 ms·
It's true that it's shorter, but I suspect that the if-return, if-return pattern compiles down to much faster code. Separately, this code was originally written
by shmolyneaux 5mo ago
It's true that it's shorter, but I suspect that the if-return, if-return pattern compiles down to much faster code. Separately, this code was originally written in C then ported. There are reasonable explanations for why Matz has the code written this way besides the typical AI slop.
- Calavar 5mo agoI'm skeptical of that reasoning because the original C wasn't too clean or performant either. For example emit.c from an earlier commit [1] It writes a separate call to emit_raw for each line, even though there many successive calls to emit_raw before it runs into any branching or other dynamic logic. What if you change this emit_raw(ctx, "#include <stdio.h>\n"); emit_raw(ctx, "#include <stdlib.h>\n"); emit_raw(ctx, "#include <string.h>\n"); emit_raw(ctx, "#include <math.h>\n"); // And on for dozens more lines to this emit_raw(ctx, "#include <stdio.h>\n" "#include <stdlib.h>\n" "#include <string.h>\n" "#include <math.h>\n" // And on for dozens more lines ); That would leave you with code that is just as readable, but only calls the emit function once, leading to a smaller and faster binary. Again, this is a trivial change to the code, but Claude struggles to get there. [1] https://github.com/matz/spinel/blob/aba17d8266d72fae3555ec916688fe1edcfa9858/src/emit.c#L892 https://github.com/matz/spinel/blob/aba17d8266d72fae3555ec91...