That's once for each Format, not "during marshalling" so I always think of spray-json as "no reflection after initial setup" => pretty much no reflection as for the parsing. Or am I missing something since some years :) 