Version 6 Autopar updates
Posted: Sun Nov 21, 2010 7:26 pm
Was just working on the par2dll.dll. It already does multi-core but, I've updated the MD5 routines (which it uses heavily) to use Intel "Performance Primitives" which means it'll take advantage of all the special instructions your CPU might have. In my testing, MD5 calculations are 25% faster than before.
I'd had an idea for awhile now for a way to speed up repair but, the code in the par2dll is pretty damn complicated so, I could never figure out how to hook in my changes. Well, I finally figured it out. What you should see when you use it is that there's far less disk IO when doing a repair. I think for some of those monster 10+ gig repairs some of you are doing, it should make a large difference.
When I release 6, I'll punch up the source for par2dll.dll. It's derived from an open source library so, we publish all the code changes I make to it. Basically, I just work around the edges, adding interface code to it so, Newsbin can use it when it needs it. For perfect files, Newsbin doesn't even use the DLL. All file checking and rar tracking is done internally using code I wrote. It's only when a repair is needed that I make use of the DLL.
I'd had an idea for awhile now for a way to speed up repair but, the code in the par2dll is pretty damn complicated so, I could never figure out how to hook in my changes. Well, I finally figured it out. What you should see when you use it is that there's far less disk IO when doing a repair. I think for some of those monster 10+ gig repairs some of you are doing, it should make a large difference.
When I release 6, I'll punch up the source for par2dll.dll. It's derived from an open source library so, we publish all the code changes I make to it. Basically, I just work around the edges, adding interface code to it so, Newsbin can use it when it needs it. For perfect files, Newsbin doesn't even use the DLL. All file checking and rar tracking is done internally using code I wrote. It's only when a repair is needed that I make use of the DLL.