XTool (2020)

XTool (2020) 0.8.7

Нет прав для скачивания

Yaroslav950

Участник
@dixen18,спс,а я думал она работает также как и остальные dll. Сжимает также быстро?.
 

toolame

Старожил
Проверенный
а как можно вывести информацию из консоли в файл? (нужны логи работы хтулла)
опции для лога нет
Код:
xtool.exe ..... > xtool.log
такое дает пустой файл, что говорит о чей то криворукости...
Код:
xtool.exe ..... 2> xtool.log
это тоже самое
 

Shegorat

Lord of Madness
Администратор
@toolame, скорее всего логи пишутся в stderr, чтобы была возможность использовать stdin/stdout для обработки файлов.
 

Mickey1s

Ветеран
Модератор
@toolame,
Syntax has been updated as per request from Cesar82:
--dedup can also be -dd
--dedup=#, -dd#
--dbase, -db
--diff=#,-df#
--verbose, -v
--skip, -s

используй --verbose, -v

например так: xtool.exe precomp -mreflate -c32mb -t100p --verbose - - < %1 > %1.out
 

vint56

Ветеран
Проверенный
toolame батник не работает --verbose, -v не выводит информацию
 

Edison007

Ветеран
Модератор
xtool.exe precomp -mzlib -c32mb -t100p-1 -v <test.dat >test.xtl 2>>log.txt
А, лол, таким образом выходной файл нулевого размера. Видимо чет накосячено и никак :\

Во, вроде пофисксил:
xtool.exe precomp -mzlib -c32mb -t100p-1 -v - - <test.dat >test.xtl 2>log.txt
 
Последнее редактирование:

toolame

Старожил
Проверенный
используй --verbose, -v
оно конечно работает, лог пишется, подробный... только вот нужной информации там нету))
всего то надо: сколько было > сколько стало
наверно проще фриарком прогнать только хтулл, с логом в нужное место)
извращуга!
проще же
Код:
xtool.exe precomp -mzlib -c32mb -t100p-1 -v test.dat test.xtl 2>log.txt
 

Edison007

Ветеран
Модератор
По идее можно тут поправить
Код:
procedure EncodeStats;
var
  FHandle: THandle;
  SBInfo: TConsoleScreenBufferInfo;
  CLine: Integer;
  SL: TStringList;
  Coords: TCoord;
  ulLength: Cardinal;

  procedure Update;
  var
    I: Integer;
    TS: TTimeSpan;
    CreationTime, ExitTime, KernelTime, UserTime: TFileTime;
    TT: TSystemTime;
    I64: Int64;
  begin
    GetProcessTimes(GetCurrentProcess, CreationTime, ExitTime, KernelTime,
      UserTime);
    FileTimeToSystemTime(TFileTime(Int64(UserTime) + Int64(KernelTime)), TT);
    SL[0] := 'Streams: ' + EncInfo.Processed.ToString + ' / ' +
      EncInfo.Count.ToString;
    TS := Stopwatch.Elapsed;
    SL[1] := 'Time: ' + Format('%0:.2d:%1:.2d:%2:.2d',
      [TS.Hours + TS.Days * 24, TS.Minutes, TS.Seconds]) + ' (CPU ' +
      Format('%0:.2d:%1:.2d:%2:.2d', [TT.wHour + Pred(TT.wDay) * 24, TT.wMinute,
      TT.wSecond]) + ')';
    I64 := EncInfo.DecMem0 + EncInfo.DecMem1;
    I64 := I64 div 1024;
    if StoreDD > -2 then
    begin
      I := 4;
      SL[2] := 'Duplicates: ' + EncInfo.DupCount.ToString + ' (' +
        ConvertKB2TB(EncInfo.DecMem2 div 1024) + ') [' +
        ConvertKB2TB(EncInfo.DupSize1 div 1024) + ' >> ' +
        ConvertKB2TB(EncInfo.DupSize2 div 1024) + ']     ';
      if StoreDD > 0 then
      begin
        I := 5;
        SL[3] := 'Srep decompression memory: ' +
          ConvertKB2TB(EncInfo.SrepMem * 1024) + ' [' +
          ConvertKB2TB((EncInfo.SrepMem * 1024) + (EncInfo.DecMem3 div 1024)) +
          IfThen(EncInfo.DecMem3 > 0, '*', '') + ']     ';
      end;
    end
    else
      I := 3;
    SL[I] := 'Size: ' + ConvertKB2TB(EncInfo.InSize div 1024) +
      IfThen(StoreDD > -2,
      ' >> ' + ConvertKB2TB((EncInfo.InflSize + EncInfo.DupSize2) div 1024), '')
      + ' >> ' + ConvertKB2TB(EncInfo.InflSize div 1024) +
      IfThen(StoreDD > 0, ' >> ' + ConvertKB2TB((EncInfo.SrepSize) div 1024),
      '') + IfThen(COMPRESS, ' >> ' + ConvertKB2TB((EncInfo.CompSize) div 1024),
      '') + '      ';
    SetConsoleCursorPosition(FHandle, Coords);
    WriteConsole(FHandle, PChar(SL.Text), Length(SL.Text), ulLength, nil);
  end;

begin
  FHandle := GetStdHandle(STD_ERROR_HANDLE);
  GetConsoleScreenBufferInfo(FHandle, SBInfo);
  Coords.X := 0;
  Coords.Y := SBInfo.dwCursorPosition.Y;
  SL := TStringList.Create;
  SL.Add('Streams: 0 / 0');
  SL.Add('Time: 00:00:00');
  if StoreDD > -2 then
  begin
    SL.Add('Duplicates: 0 (0.00 MB) [0.00 MB  >> 0.00 MB]');
    if StoreDD > 0 then
      SL.Add('Srep decompression memory: 0.00 MB [0.00MB]');
  end;
  SL.Add('');
  SL.Add('Size: ');
  SL.Add('');
  while Stopwatch.IsRunning do
  begin
    Update;
    Sleep(500);
  end;
  Update;
  SL.Free;
end;
 

Mickey1s

Ветеран
Модератор
Mickey1s обновил(а) ресурс XTool (2020) новой записью:

0.7.2

Update available

Changes

- memory usage optimizations

Notes
Resources utilised by zlib, lzo, zstd and some other codecs have been made to initialize only when used, this was down to reduce memory usage and allocation.

If you're users like shazzla however, who want to utilise features of xtool before they are tested and ready for, there's a new parameter introduced in this release which makes xtool utilise the GPU's VRAM to improve precompression speed and reduce...
Узнать больше об этом обновлении...
 
Сверху