The current version of SWI-Prolog provides two formatted write predicates. The first is writef[1,2], which is compatible with Edinburgh C-Prolog. The second is format[1,2], which is compatible with Quintus Prolog. We hope the Prolog community will once define a standard formatted write predicate. If you want performance use format[1,2] as this predicate is defined in C. Otherwise compatibility reasons might tell you which predicate to use.