I'm splitting this out from a comment on the 7-Zip release as I think it may warrant further discussion. The user inquired about doing a 64-bit version of 7-Zip Portable. Now, rather than dismiss it as it could be extra work, etc, I think 7-Zip is one of the few apps where it might make sense.
Right now, although a large majority of new PCs are using 64-bit chips, only a relatively small fraction of PCs have a 64-bit OS on them. This is mainly because Windows XP 64 was nowhere near ready for regular user use and Vista in its initial incarnation wasn't either, so PC vendors never shipped with it. This has been slowly changing as more manufacturers have been making available 64-bit drivers and the OS's support for both 32-bit and 64-bit apps has improved.
We currently have one dual app, JKDefrag Portable, which includes both the 32-bit and 64-bit versions (which was done out of necessity since the 32-bit version doesn't work on 64-bit Windows).
Now, for most apps, it doesn't make any sense since there is no real benefit to having 64-bit versions. Many apps like Firefox won't be releasing 64-bit versions for a while. And most apps won't benefit. But a few high-CPU apps may. 7-Zip may be one of the few exceptions. It would only add a little over 1MB to the install size and may add some performance.
So, what I'm hoping is that someone can do some benchmarking of 7-Zip performance on a 64-bit box between the 32 and 64 bit versions of 7-Zip to see if this makes sense for this particular app.
Thoughts? Volunteers?
I found an older test here: http://www.exoid.com/?page_id=123
Zip compression was 51% faster. 7z compression was 7% faster.
Unfortunately this is a year and a half old, so performance may have changed a little with the current 7-Zip version.
Sometimes, the impossible can become possible, if you're awesome!
Hi John,
I ran a test looking at 7-zip 32 bit vs x64
-SHORT VERDICT- Not much difference between 7-zip 32 bit and x64. However, I would also request that you include x64 in the portable app (or have a separate portable app for 7-zip x64)
-RESULTS-
-SYSTEM-
AMD Turion x2 Processor
4GB RAM
Vista Home Premium x64 (SP2) all patches
-METHOD-
- computer was started and left for 10 minutes for all processes / updates to finish running. WiFi / LAN turned off. All USB devices removed.
- 7-zip 4.65 installations (32 and 64 bit) and Truecrypt empty containers were on the local system hard drive.
- Test files were truecrypt (TC) empty containers, AES encryption, FAT filesystem.
- Tests ran in duplicate (except the last two tests due to time). I carefully watched the "elapsed time" counter to see how long the compression took.
32 bit .ZIP (default settings)
100 mb TC file - 18s, 18s 64 bit .ZIP (default settings)
100 mb TC file - 15s, 16s
500 mb TC tile - 2min 11s, 2 min 14s
1 gb tc file - 4 min 14s, 4 min 8s
32 bit .7z (default settings)
100 mb TC file - 47s, 49s
500 mb TC file - 4 min 13s, 4 min 5s
1gb TC file - 8min 18s, 9 min 7s
64 bit .7z (default settings)
100 mb TC file - 47s, 47s
500 mb TC tile - 4 min 7s, 3 min 59s
1 gb tc file - 8 min 15s, 8 min 19s
32 bit .7z (64 mb dictionary size)
1gb TC file - 15 min 31s
64 bit .7z (64 mb dictionary size)
1gb TC file - 15 min 26s
A very quick rough and ready result for you compressing a 275MB Lightroom 2 catalogue file to ~14MB on a stock Q6600 and 4GB RAM (7z using the GUI and ultra setting)...
x86 = 86s
x64 = 78s
Try testing with various portable storage devices and see if there's a bottleneck that makes processor-related performance irrelevant. My guess is that only users with external HDs connected via USB 2.0 or better will see a performance gain.
Vintage!
I just tested 7zip portable from my HD, and my 64-bit 7-zip, and didn't notice any difference in the time needed to extract. If there were any differences, they weren't noticeable, in Vista SP1 64-bit.
Hey! Where'd it go?
LZMA decompression takes little processing power, so of course you didn't notice a difference.
Vintage!
Not that little. It's still CPU, not IO bound.
"Those people who think they know everything are a great annoyance to those of us who do." Asimov
Your post would mean something if you told also what's your CPU, what did you decompress and what compression switches did you use.
"Those people who think they know everything are a great annoyance to those of us who do." Asimov
Oops... I'll test it further tomorrow.
Hey! Where'd it go?
think it would be a good addition, 1MB is a tiny amount of space...what would it really hurt to include it? I say go for it...for those gifted with 64-bit OS' it's a nice performance increase, especially on full backups.
I'd like to be one of the ones clamoring for 64bit apps. One of the main reasons is that I *do* use a 64bit OS at home, an would prefer the processing power benefit (even if subjectively immeasurable).
However, with newer and newer OSs coming out, and with the end of the 32bit processor line, I'd be willing to bet that in a relatively short amount of time the proliferation of 64bit OSs will skyrocket - and the current adopters would also serve as a good test group so that you're not caught with your proverbial pants down when you wake up and all of a sudden there are more 64bit OS users than 32bit OS users....
__
JG
I Have Made A 64bit Version of 7zip,and tested it and it works great,download from here
http://www.mediafire.com/download.php?ltzjg4y3zwn
Thanks Ryan, that's just what I was looking for, a 64 bits version of portable 7zip. I hope this version is soon included in the list of applications of Portableapps. Thanks again.
Libertad para compartir...
Maybe it would be an idea to make it optional. Let users choose whether to install just the 32 bits version, or the 32 bits and the 64 bits version on install, just like they can choose languages now. This would mean that users who want it get the chance to use it, but users who don't need it don't have to waste extra space for it.
I know that for 7zip the extra space is negligible, but as more 64 bits versions get released that might not be the case for all apps, and simply giving users the choice won't hurt.
Behold, the DutchLander has arrived.
Grammatical errors are copyrighted.
here's a possibility on how to give users a choice, program an option in the installer to install either the 64bit or the 32bit.
your friendly neighbourhood moderator Zach Thibeau
There's no way we're gonna do both 32-bit and 64-bit installs. Then people will complain when their 64bit version they installed at home doesn't work on their work PC which is a 64bit CPU but a 32bit Windows.
Sometimes, the impossible can become possible, if you're awesome!
I don't have any preference and I'm fine with your choice but thought I'd throw out an idea. I have not looked at what the launchers are capable of but would the launcher be able to detect if the OS is 32 or 64 bit and run the appropriate version? So you would have 1 launcher and both 32 and 64 bit versions installed for this to work.
Once you go portable...
As mentioned in the original post, that would be the plan: "We currently have one dual app, JKDefrag Portable, which includes both the 32-bit and 64-bit versions (which was done out of necessity since the 32-bit version doesn't work on 64-bit Windows)."
The only issue was whether or not the performance warranted it. As there is no discernible difference for most files (the 500MB zip not-withstanding), I don't know that it's worth it to bother. Most apps have virtually 0 performance gain from 32bit to 64bit. The only exception is CPU-intensive ones specially coded to take advantage of it. I'd have thought 7zip was in that category, but when there's only a few % different for 1GB files that take 8 minutes to handle, it seems less so.
Sometimes, the impossible can become possible, if you're awesome!
Sorry didn't reread the original post before posting that. I would wait then, I'm sure you have other things to work on (Platform 2.0 Beta 4 ;)).
Once you go portable...
I'd like to chime in and say that performance is NOT the only issue. 32-bit apps don't seem to get shell integration in Vista/7 64-bit, this limits the usefulness of portability vs non-portable installs. Maybe I'm doing it wrong, but that's the problem I've been running into is using the 32-bit portable app and 64-bit windows 7.
A little googling and I came across this somewhat relevant discussion:
http://social.answers.microsoft.com/Forums/en-US/w7programs/thread/5e360...
since portable apps don't (or at least shouldn't) do shell integration anyway, since there is no way to clean up at closedown without killing explorer
There's not really any reason why an application can't handle shell integration. It just needs a bit of care. I'm planning on trying it out myself.
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
I'd always believed that there was no official way to unregister a shell extension without an explorer restart, which usually means either a reboot or a kill of explorer.exe, which itself has other issues (can mess up systray integration for other apps, for example).
There's nothing preventing shell integration in the 32-bit portable apps with 32-bit Windows, so it's a nice to have feature for those of us in the 64-bit world. If you don't want to leave traces on the host OS, that's a whole other can of worms because as of right now you can in 7zip and I'm sure there are other apps too. The only difference with 64-bit Windows are the changes are being made to a 32-bit registry that is not being read by explorer, because it reads the 64-bit registry.
There is because it locks the file and explorer won't free it unless you reboot, log out of Windows and log back in, or hard crash explorer by killing the process, currently. Shell extensions are unsupported in all portable apps at the moment. Chris is working on a fix to be incorporated into the PA.c Launcher at some point, but at current, we remove the shell extension abilities of all portable apps when we can and advise against using it when we can't because you won't be able to safely eject your drive.
Sometimes, the impossible can become possible, if you're awesome!
I ran their benchmark tool under the Tools menu. I let it do 10 passes and clicked stop.
Win7 Ultimate x64
Core i7 920
32 bit (PortableApps install internal hdd)
http://www.pict.com/view/1867794/0/screenshot2b1
64 bit (local install)
http://www.pict.com/view/1867815/0/screenshot2b2
The help for the benchmark tool.
http://www.pict.com/view/1867860/800/screenshot2b3
Once you go portable...
I've posted a dual 32-bit/64-bit 7-Zip in 4.65. The launcher detects a 64-bit OS and will automatically use the correct 7-Zip version for the PC you are currently using. The launcher moves the translations back and forth, saving 1mb from having 2 full 7-Zip installs. The whole thing still fits in 5mb. Enjoy
Sometimes, the impossible can become possible, if you're awesome!
More launchers like this would be superb, app dev allowing, of course.
This is an excellent idea, one that I hope will have far reaching consequences to allowing us to use most of our PA apps according to that architecture we are plugged into....
Thanks John!
__
JG