Legolash2o Posted March 14, 2014 Posted March 14, 2014 As part of my final year project (if approved). I will be focusing a lot on threading. Currently Win Tookit uses background workers with apparently are bad for performance. I've been experimenting and here are some results compare the current method used by Win Toolkit and a new method. Parallel will also use more CPU cores and I will let you choose in Options how many you want to use. By default it would be ProcressorCount - 1, so if you have a quad core with hyperthreading (8), it will use 7 by default. Test 1: The test was to get the MD5 values for 1300+ MSU files.--------------------------------------------Not Updating GUI:-Current: 19270ms (19 seconds)New: 5499ms (5.4 seconds)350% speed increase! When updating the GUI:-Current: 38417ms (38.4 seconds)New: 9576ms (9.5 seconds)401% speed increase! --------------------------------------------Test 2: The test was to get the MD5 values for 55652 files. Not Updating GUI:-Current: 466165ms (466 seconds / 7.7 minutes)New: 4943ms (4.9 seconds / 0.082 minutes) 9430% speed increase! When updating the GUI:- Current: 500754ms (501 seconds / 8.34 minutes) (testing....)New: 13334ms (13.3 seconds / 0.22 minutes) 3755% speed increase! -----------------------------------------------------------The results so far look very promising! Imagine integrating EVERY gadget, EVERY wallpaper, EVERY custom files, EVERYTHING except Updates + Drivers being integrated at the same time as everything else. I'm still continuing my research... rulman, TRSyntax, gandalfWhite and 1 other 4 Quote
compstuff Posted March 15, 2014 Posted March 15, 2014 The magnitudes of those improvements are unreal... Quote
Legolash2o Posted March 15, 2014 Author Posted March 15, 2014 I want to implement it for the next release but it requires changing Win Toolkit from .NET 3.5 to .NET 4.0 Quote
oguz Posted March 16, 2014 Posted March 16, 2014 Vaoouuww!!Record figures :dribble: Awesome numbers!! Congratulation @Lego :type: Quote
Legolash2o Posted March 16, 2014 Author Posted March 16, 2014 Since RunOnce decided to screw up (partially my fault). I decided to put all my knowledge including the new multithreading knowledge I have into it, So far it's a lot less code and much simpler for me to read and so far the results have been excellent. For example: I had to wait about 10-13 seconds for it detects items to install (usually 2000+ drivers) before I see the main install screen. Now it does the same thing in 411ms 366ms so no complaints here. It now uses all cores to get the information. Quote
Tuesday77 Posted March 16, 2014 Posted March 16, 2014 Good job! I think its the true way, its goes "modern".I agree with that WTK should use all possibles. changing Win Toolkit from .NET 3.5 to .NET 4.0 Excellent idea! Quote
Legolash2o Posted March 16, 2014 Author Posted March 16, 2014 Well with the RunOnce installer I've managed to keep it on .NET 3.5 but yet use a backported dll which lets me use the parallel and linq from .NET 4.0. But for WinToolkit I will use the latest .NET framework the university have. Quote
Tuesday77 Posted March 16, 2014 Posted March 16, 2014 Yay, i think 3.5 will die in future, that's a reason for example. Legolash2o 1 Quote
Legolash2o Posted March 16, 2014 Author Posted March 16, 2014 Can people please test the latest test build. The RunOnce installer has had an upgrade in regard to threading and updates are installed separately. Also when you select/load a DVD in WIM Manager a sample install.ini is created in the sources folder to be used with the RunOnce. Thanks. Yay, i think 3.5 will die in future, that's a reason for example.I wish it was dead already or wish that Windows 7 came with .NET 4 instead of 3.5 Quote
Tuesday77 Posted March 16, 2014 Posted March 16, 2014 I wish it was dead already or wish that Windows 7 came with .NET 4 instead of 3.5 True one. Quote
compstuff Posted March 17, 2014 Posted March 17, 2014 I will try it sometime tomorrow Can people please test the latest test build. The RunOnce installer has had an upgrade in regard to threading and updates are installed separately. Also when you select/load a DVD in WIM Manager a sample install.ini is created in the sources folder to be used with the RunOnce. Thanks. Quote
bphlpt Posted March 17, 2014 Posted March 17, 2014 Yay, i think 3.5 will die in future, that's a reason for example.I wish it was dead already or wish that Windows 7 came with .NET 4 instead of 3.5 But, for folks that want or need to run Win Toolkit using XP as a host, assuming that is still possible, I would suggest sticking with 4.0 and not using 4.5, since AFAIK 4.0 can be installed on XP and 4.5 cannot.Cheers and Regards Quote
techbound Posted March 17, 2014 Posted March 17, 2014 I'd say if you need to run wintoolkit on xp to manage wim images i think its time you plan on moving to newer systems. just my 2 cents. Quote
bphlpt Posted March 17, 2014 Posted March 17, 2014 True enough and no argument from me about that. After all, that's kind of what Win Toolkit is all about - helping folks make an install source for Win7 or 8.x in the easiest, most efficient way possible to help them move to the newer OS. But since being able to do that from XP was a feature of Win Toolkit, then I say no sense removing a feature until it is absolutely necessary. I think it would be sad to require you to already be on Win7 in order to make a Win7 install source. Let's not be like MS. But then that's just my 2 cents. Cheers and Regards Quote
Legolash2o Posted March 17, 2014 Author Posted March 17, 2014 .NET 4.0 is fine, has everything I need such as better threading, LINQ and Lambda expressions which I love.Just those 3 features alone will make a HUGE performance increase in Win Toolkit! Quote
crashfly Posted March 17, 2014 Posted March 17, 2014 Wow! All of this talk on multi-threading, it makes my spidey senses tingle. I wonder what WinToolKit could do with an 8 core processor? hmmmm ... the possibilities are endless .... :prop: Quote
Legolash2o Posted March 17, 2014 Author Posted March 17, 2014 Well previously Win Toolkit only used about 10-20% of my CPU my (8 cores) but with my experiments, it shoots up to about 80-90%. The HDD is really the limiting factor, SSD helps a lot but the results from a RAM Drive were mind blowing Quote
Etz Posted March 17, 2014 Posted March 17, 2014 Wonder, how it would perform on Dual E5-2620 with 24 threads total... Quote
Legolash2o Posted March 17, 2014 Author Posted March 17, 2014 Wonder, how it would perform on Dual E5-2620 with 24 threads total... What's your spec? :-O Quote
Etz Posted March 17, 2014 Posted March 17, 2014 (edited) Wonder, how it would perform on Dual E5-2620 with 24 threads total... What's your spec? :-O I dont own that system...basically its a server which was used for running databases but became obsolete when everything went to the "cloud" ... I would have to sell my both kidneys to build such a beast for my home desktop use, so I have a regular I7-3770K clocked to 5Ghz at home with 8 threads only Edited March 17, 2014 by Etz Quote
Tuesday77 Posted March 17, 2014 Posted March 17, 2014 (edited) I would suggest sticking with 4.0 and not using 4.5, since AFAIK 4.0 can be installed on XP and 4.5 cannot. Yeah, i think the same, its too early for 4.5But, I think also that XP is dead and the users should think about an upgrade.. Question: Whats about Mono, run it with?https://en.wikipedia.org/wiki/Mono_%28software%29 Edited March 17, 2014 by BrokenZer0 Quote
Etz Posted March 17, 2014 Posted March 17, 2014 (edited) Yeah, i think the same, its too early for 4.5But, I think also that XP is dead and the users should think about an upgrade.. Question: Whats about Mono, run it with?https://en.wikipedia.org/wiki/Mono_%28software%29 Mono doesn`t help you, as Dism cannot be run on Linux or Mac OS X anyway And I dont think Latest ADK for Windows 8.1 would install on XP to get Dism working on it either... XP is pretty much obsolete platform anyway as it support ends completely in two weeks and Hardware which runs XP can run Win 7 from hardware standpoint. Edited March 17, 2014 by Etz Quote
bphlpt Posted March 17, 2014 Posted March 17, 2014 And I dont think Latest ADK for Windows 8.1 would install on XP to get Dism working on it either...AFAIK, You don't need to install the entire ADK in order to install DISM, at least it used to be that way, and there are tools available to download just DISM so you don't even have to download the entire ADK either. I admit that I don't know if the 8.1 DISM will install on XP, but as long as Win Toolkit on XP can be used to build a Win7 install source, then I think it is still worthwhile.I'm really not trying to be an XP champion, I haven't run it myself in years, and I don't know for sure if the latest version of Win Toolkit even runs on XP for that matter. ( I'm also not sure if Win Toolkit runs on or can build an install source for Vista, but since it is part of the NT6 family I think it probably could be made so it does. Yes I know it's market share is low so that's not as important, but still.) But XP still has a large enough market share to not be ignored. So if we want to give those folks a way to use their existing install as a platform on which to build a Win7 or possibly even a Win8.x install source, and leaving code in to allow running on XP does not hurt the performance on other platforms, then why not? I'm trying to be a Win Toolkit champion! I would really like to see the usage of Win Toolkit continue to grow. It really irks me to see new users asking questions about how to use RT7Lite, when that app hasn't been updated in several years, but it is a recognized name and it is still used. I want Win Toolkit to be the go to tool for Win 7 and Win 8.x like nLite became for XP. And speaking of nLite, nuhi is expected to release his version of a tool to work on Win7 and Win8.x by sometime next month, and if nLite was any indication, then that might well become the major "competition" to Win Toolkit. WinAIO Maker Professional by Josh Cell, and Onepiece's DX WinNT6.x True Integrator for Windows Vista x86/x64, Windows 7 x86/x64 and Windows 8/8.1 x86/x64 are two existing "competitors", among others. I just figure the more versions of Windows that Win Toolkit can run on and the more versions it can make an install source for can only help it have a larger user base. And wouldn't that benefit us all? Cheers and Regards Quote
Legolash2o Posted March 17, 2014 Author Posted March 17, 2014 8.1 DISM doesn't work on XP. WinToolkit does run on XP with some small features disabled. I will be using .NET 4.0 so XP users can still use it. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.