yes, it does seem a little slow. Try using the Win32 command WriteConsole.
uses Windows;
procedure WriteString(const AString: String);
var
LUnused: longword;
begin
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), PChar(AString), Length(AString), LUnused, nil);
end;