I should have added that my comments were assuming that MLton_bug_msg was global or file-static. If it was local to a function than char MLton_bug_msg[] = "..." is much slower because it actually has to copy the string onto the stack on every entry to the function.