FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   CLS-PrecompMT (Multi tasking) (https://fileforums.com/showthread.php?t=97961)

Razor12911 10-06-2016 06:03

CLS-PrecompMT (Multi tasking)
 
4 Attachment(s)
Hello guys, again.

Made another CLS based on the one I did about a week ago.

Which you can find here:
http://fileforums.com/showthread.php?t=97938


What I did this time is made the cls launches parallel instances of precomp.exe to speed up the entire process.

Notes:
During compression, it launches the same number of instances as the number of threads your processor has and during decompression, it launches half that number.

cls name being cls-precompmt.dll, does not mean the executables must also be precompmt.exe and so on, I just renamed the cls but maintained its usage to precomp with the filenames precomp.exe and precomp64.exe for 64-bit.

precomp versions supported:
0.38-0.46

Enjoy

ChronoCross 10-06-2016 06:38

Nice razor. Very clever.

Andrey167 10-06-2016 06:56

work on 2 cores,and dont work in 4 threads(Hyper Threading)

Razor12911 10-06-2016 07:04

Hmm weird, did you read the part that says during decompression, it uses half of what you have, unless you're saying with reference to compression step

Mini 10-06-2016 07:39

thx! why it is impossible to choose how many streams to use? it would be convenient

coveiro 10-06-2016 08:06

Very good, Thanks Razor12911

http://i.imgsafe.org/ad758a1f7c.png

felice2011 10-06-2016 08:58

Great Speed ... Bro !!!

http://i20.photobucket.com/albums/b2.../Thumbs-Up.gif

mikey26 10-06-2016 09:54

1 Attachment(s)
nice work razor really awesome stuff. i think if guys have issues or problems dont say its not working.State your processor in detailed spec makes life easier for Razor to fix.

ok 8 threads working like a boss.Even with Reflate running :D
8 Temp folders created.

I7 4700MQ CPU Haswell
2.4GHZ turbo Boost to 3.2GHZ

felice2011 10-06-2016 13:03

@mikey26 It works in parallel, it is as if at each thread would create a precomp execution, the overall size of the folders in mt is equal to the single temporary folder you created for the normal execution precomp.:)

Prince4 10-06-2016 23:24

MT Compress huh? then MT DeCompress??
 
Pretty something that every one needed, Bravo Brother Razor
So now we can get MT Compressing so then can we also get MT Decompression? If possible then How?:)

mikey26 11-06-2016 11:50

@felice2011 : i know that bro kinda hard not to miss or see that :P

@Prince4 : check wat razor mentioned in the start of the thread :
Notes:
During compression, it launches the same number of instances as the number of threads your processor has and during decompression, it launches half that number.

Mini 13-06-2016 01:33

Razor12911, at a decompression it was possible to make so that 3\4 and 7\8 kernels were used, but not a half, what does you think? lay out please such version :)

Razor12911 01-11-2016 08:35

Update uploaded

Added options for thread count and brute. (Not tested) I simply have no time, plus I'm not really sure why I'm doing this.

Mini 01-11-2016 09:53

wow, big thanks Razor12911!!!

Quote:

(Not tested)
everything well works

aswadd 01-11-2016 10:21

Before Update :
everything is ok
After the update with brute 0 & threads works fine :
everything is ok

Sorry I forgot to put brute to zero :D now everything works fine thnx bro Razor & don't care about anyone who get your work & edit on it or use it without ur permission :) Just do it & make sure nothing you do will waste

LuzhinE 01-11-2016 12:21

aswadd

because it changes from 1 to 0.
cls-precompmt.ini
[CLS]
Threads = 1
Brute = 1

if its value is 1 prederterminado

aswadd 01-11-2016 13:30

Quote:

Originally Posted by LuzhinE (Post 453360)
aswadd

because it changes from 1 to 0.
cls-precompmt.ini
[CLS]
Threads = 1
Brute = 1

if its value is 1 prederterminado

who wants to use brute ?? it will talk all your live to complete .. I just Forgot to put it to Zero :D so it seemed to me like stuck

tanerjames 05-11-2016 15:34

Hi,

Error with Unarc.dll:
Unarc.dll returned an error code: -1
ERROR: archive data corrupted (decomporession fails)


How to use inno setup and unarc.dll?

Thanks.

chum 28-11-2016 22:33

When you say it support Precomp from 0.38 to 0.46 do you mean for compressing and decompression? I tried using 0.38 and 0.42 but none of them worked for compressing, only default 0.45 works.

LuzhinE 01-12-2016 17:33

Tested in max payne 3 complete edition

precompmt+srep+lzma2
Game size = 32 GB
Size of Repack = 18.3 GB
Installation time 50 min

divided in 2 Setup.bin
*
Setup1.bin
The rest of the game folders

Setup2.bin
The movies folder is not compressed

For me the best option, since precomp 0.42 takes to install the game in 2 hours and compresses it up to 16 GB

CAT8K 02-12-2016 02:06

Quote:

Originally Posted by LuzhinE (Post 454157)
Tested in max payne 3 complete edition

precompmt+srep+lzma2
Game size = 32 GB
Size of Repack = 18.3 GB
Installation time 50 min

divided in 2 Setup.bin
*
Setup1.bin
The rest of the game folders

Setup2.bin
The movies folder is not compressed

For me the best option, since precomp 0.42 takes to install the game in 2 hours and compresses it up to 16 GB


i done from Max Payne 3 Complete Edition last ver 1.0.0.196

pzlib+srep+lzma

Game size = 32.5 GB
Size of Repack = 16.6 GB
Installation time 55 min on my cpu 8 Core amd

do this if you are interested in reducing Size

LuzhinE 02-12-2016 05:07

I only have 4 threads, so for me it is double the installation with pzlib

CAT8K
Maybe if you use precompmt the installation for you will be 25 min thanks to its 8 threads

Simorq 14-12-2016 09:31

Batman Arkham Knight 52.0 GB TO 31.0 GB precompmt+Srep+Lzma2:D
http://uupload.ir/files/w3gv_cp.png
http://uupload.ir/files/qxmn_dp.png

LuzhinE 14-12-2016 12:36

Thanks for the test

Simorq 15-12-2016 13:13

Hi Razor12911
cls-precompmt_update! Automatic threads your processor has and during decompression, it launches half that number?

Razor12911 16-12-2016 06:18

Update2 uploaded

Changes

Automatic threads is half during compression and decompression
Added thread percentage option
Added optional work directory

Mini 16-12-2016 06:43

Quote:

Added optional work directory
{app} or how?

Razor12911 16-12-2016 11:28

{app} is an inno constant, cls doesn't know what it is, so you have to use setinistring in a script to pass info to cls configuration just before you start unpacking archives.

aswadd 16-12-2016 11:42

Now, that's the talk :D thnx Razor For the Update

vint56 19-12-2016 22:52

Razor12911 I am sorry for my bad english
Installer crash when using CLS-PrecompMT when Cancel installation
I did so added to isdone 6 Finale

#define Precompmt
[Setup]

[Files]
#ifdef Precompmt
Source: Include\PrecompMt\cls-precompmt.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\PrecompMt\precomp.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\PrecompMt\precomp64.exe; DestDir: {tmp}; Flags: dontcopy
#endif

procedure CurStepChanged(CurStep: TSetupStep);
#ifdef Precompmt
SaveStringToFile(ExpandConstant('{tmp}\cls-precompmt.ini'), '[CLS]'+#13#10+'Threads=75%'+#13#10+'Brute=0'+#13#10+'Te mp='+ExpandConstant('{app}'), True);
ExtractTemporaryFile('cls-precompmt.dll');
ExtractTemporaryFile('precomp.exe');
ExtractTemporaryFile('precomp64.exe');
#endif

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-1.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\cls-precompmt.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;

http://s016.radikal.ru/i334/1612/ba/97f82ac9b10e.jpg

and if you do so then there is no error
if not ISExec( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ -cfg"{tmp}\cls-precompmt.ini" -w"{app}" -pPassword -dp"{app}" "{src}\data-1.bin"'), ExpandConstant('{tmp}'), '...',false) then break;

ZakirAhmad 26-02-2017 09:16

please help me...
while unpacking i am getting unarc.dll has returned with error code 1.. arc data corrupted... I included precomp.exe, cls-precompmt.dll and cls-precompmt.ini in wpi script...

ZakirAhmad 27-02-2017 02:15

@everyone
 
The problem is only with scripts... cmd extractor works good...

vint56 27-02-2017 04:27

example on ISDone0.6final

#define Precompmt
[Setup]

[Files]
#ifdef Precompmt
Source: Include\PrecompMt\cls-precompmt.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\PrecompMt\precomp.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\PrecompMt\precomp64.exe; DestDir: {tmp}; Flags: dontcopy
#endif

[Code]
var
i:integer;

procedure CancelButtonOnClick(Sender: TObject);
begin
SuspendProc;
if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then ISDoneCancel:=1;
#ifdef Precompmt
if not IsWin64 then begin
Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM Precomp.exe', '', SW_HIDE, ewWaitUntilTerminated, i);
end else begin
Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM Precomp64.exe', '', SW_HIDE, ewWaitUntilTerminated, i);
DelTree(ExpandConstant('{app}\'), True, True, True);
end;
#endif
ResumeProc;
end;

#ifdef Precompmt
SaveStringToFile(ExpandConstant('{tmp}\cls-precompmt.ini'), '[CLS]'+#13#10+'Threads=75%'+#13#10+'Brute=0'+#13#10+'Te mp='+ExpandConstant('{tmp}'), True);
ExtractTemporaryFile('cls-precompmt.dll');
ExtractTemporaryFile('precomp.exe');
ExtractTemporaryFile('precomp64.exe');
#endif

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-1.arc'), ExpandConstant('{app}\'), '', false, 'pass', ExpandConstant('{tmp}\cls-precompmt.ini'), ExpandConstant('{app}'), notPCFonFLY{PCFonFLY}) then break;

Prince4 27-02-2017 05:49

Braw why am i still getting

Code:

Could not get the file size of null00
with whatever version of pecomp i use and also the CLS this isn't working too..

Plz a little help?

There are about 3 games that i need to put in to DVD5s that have a lot of ZLibs in them :)

ZakirAhmad 27-02-2017 05:57

please bro i have no experience in programming... can u please give me modified version of wpi which supports precompmt...

Simorq 27-02-2017 06:21

Quote:

Originally Posted by vint56 (Post 456391)
example on isdone0.6final

#define precompmt
[setup]

[files]
#ifdef precompmt
source: Include\precompmt\cls-precompmt.dll; destdir: {tmp}; flags: Dontcopy
source: Include\precompmt\precomp.exe; destdir: {tmp}; flags: Dontcopy
source: Include\precompmt\precomp64.exe; destdir: {tmp}; flags: Dontcopy
#endif

[code]
var
il:integer;

procedure cancelbuttononclick(sender: Tobject);
begin
suspendproc;
if msgbox(setupmessage(msgexitsetupmessage), mbconfirmation, mb_yesno) = idyes then isdonecancel:=1;
#ifdef precompmt
if not iswin64 then begin
exec(expandconstant('{sys}\taskkill.exe'), ' /f /im precomp.exe', '', sw_hide, ewwaituntilterminated, i);
end else begin
exec(expandconstant('{sys}\taskkill.exe'), ' /f /im precomp64.exe', '', sw_hide, ewwaituntilterminated, i);
deltree(expandconstant('{app}\'), true, true, true);
end;
#endif
resumeproc;
end;

#ifdef precompmt
savestringtofile(expandconstant('{tmp}\cls-precompmt.ini'), '[cls]'+#13#10+'threads=75%'+#13#10+'brute=0'+#13#10+'te mp='+expandconstant('{app}'), true);
extracttemporaryfile('cls-precompmt.dll');
extracttemporaryfile('precomp.exe');
extracttemporaryfile('precomp64.exe');
#endif

if not isarcextract ( 0, 0, expandconstant('{src}\data-1.arc'), expandconstant('{app}\'), '', false, 'pass', expandconstant('{tmp}\arc.ini'), expandconstant('{app}'), notpcfonfly{pcfonfly}) then break;

ciu:(

ZakirAhmad 27-02-2017 06:51

I said bro please provide wpi script which extracts precompmt. .. please please please...

vint56 27-02-2017 09:16

1 Attachment(s)
ZakirAhmad

ZakirAhmad 27-02-2017 09:20

@vint56

thanks bro... is it working

ZakirAhmad 27-02-2017 21:06

This was good bro but i am using modified wpi script with archieve.ini
 
1 Attachment(s)
@vint56
This really helped but since i am using modified wpi script with archive.ini... i was not able to modify this using ur example script... please modify for me this script... thanks in advance...


All times are GMT -7. The time now is 21:16.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com