LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices



Reply
 
Search this Thread
Old 07-30-2012, 09:00 PM   #1
arodlinux
Member
 
Registered: Apr 2008
Location: today here, 2morrow there, next week anywhere
Distribution: Slackware64 14, openSuse 12.3,
Posts: 70

Rep: Reputation: 27
Question Speed difference between 32 and 64 bits


I got an 64 bit capable machine with 6 Gb of RAM and I wonder if I should install 64 instead of 32 bit version. Is the difference is speed noticeable? The only thing is that I need 2 programs that will run in wine and I don't know is will be worth the "trouble" of getting wine installed to work under 64 bits.
 
Old 07-30-2012, 09:16 PM   #2
jefro
Guru
 
Registered: Mar 2008
Posts: 12,093

Rep: Reputation: 1521Reputation: 1521Reputation: 1521Reputation: 1521Reputation: 1521Reputation: 1521Reputation: 1521Reputation: 1521Reputation: 1521Reputation: 1521Reputation: 1521
I almost doubt you could see the difference. You might feel it is faster but the difference wouldn't be much. Large cpu time apps would tend to show it or servers running for hours tend to really show it.

I'd wait until you have to major issue and have to reload unless you are really lacking things to do.
 
Old 07-30-2012, 09:20 PM   #3
ReaperX7
Senior Member
 
Registered: Jul 2011
Location: California
Distribution: LFS-7.6, Slackware 14.1, FreeBSD 10.1
Posts: 3,851
Blog Entries: 15

Rep: Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191
It's very minimal if you run native 64-bit applications, but 32-bit software can see slight improvements at times. However, native 64-bit programs will have a larger memory footprint and may seem to run slower, but again it's very minimal.

However, the real issue is how much of the system resources do you want to utilize. Basically... If you run 64-bit capable hardware, you should run a 64-bit OS.
 
Old 07-30-2012, 10:21 PM   #4
BrZ
Member
 
Registered: Apr 2009
Distribution: Slackware
Posts: 505

Rep: Reputation: 84
I can be wrong, but to use your full 6GB of RAM you'll need 64-bit.
 
Old 07-30-2012, 10:27 PM   #5
animeresistance
Member
 
Registered: Feb 2004
Distribution: Slackware
Posts: 192

Rep: Reputation: 20
Well it depends on how you will use your hardware and what you want to run on it.

If you are going to make a lots of heavy math, engineering tasks, you should use 64 bit (and of course if you want to use the 6 GB of memory). If you will not do heavy tasks, i think 32 bit will ok. But again, it depends of what do you want to run on your hardware

Cheers
 
Old 07-31-2012, 02:06 AM   #6
markush
Senior Member
 
Registered: Apr 2007
Location: Germany
Distribution: Slackware
Posts: 3,974

Rep: Reputation: 849Reputation: 849Reputation: 849Reputation: 849Reputation: 849Reputation: 849Reputation: 849
Quote:
Originally Posted by ReaperX7 View Post
It's very minimal if you run native 64-bit applications, but 32-bit software can see slight improvements at times. However, native 64-bit programs will have a larger memory footprint and may seem to run slower, but again it's very minimal.
The memory will be no problem with 6GB of RAM. At least the memory-footprint will not compensate the advantages of a 64bit system (if any).
Quote:
Originally Posted by BrZ
I can be wrong, but to use your full 6GB of RAM you'll need 64-bit.
The 64bit-kernel uses the whole 6GB of RAM, but you can use a PAE-kernel with the 32bit-system. The PAE-Kernel can use the whole amount of RAM. You would only have to rebuild your kernel and configure in "Processor and Features" for "more than 4GB of RAM".
The difference is that with a 32bit-PAE-kernel each process can use a maximum-amount of 3GB of RAM whereas the RAM per process on a 64bit-system is not limited.

Markus
 
1 members found this post helpful.
Old 07-31-2012, 02:27 AM   #7
damgar
Senior Member
 
Registered: Sep 2009
Location: dallas, tx
Distribution: Slackware - current multilib/gsb Arch
Posts: 1,949
Blog Entries: 8

Rep: Reputation: 201Reputation: 201Reputation: 201
I think Slackware now uses a PAE kernel by default.
 
Old 07-31-2012, 03:31 AM   #8
Mark Pettit
Member
 
Registered: Dec 2008
Location: Cape Town, South Africa
Distribution: Slackware 14.1 64 Multi-Lib
Posts: 443

Rep: Reputation: 140Reputation: 140
If you're worried about the 2 wine programs, then install AlienBob's multi-lib system. I also run 2 programs under wine and they work perfectly fine. Point is that if you have a 64bit cpu, then you may as well use the features fully. And being able to run virtual machines under that of ANY size is handy too.
 
Old 07-31-2012, 04:02 AM   #9
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269
You can see a noticeable performance increase with even 2GB of RAM. With 6GB I would say 64-bit is a must. You can see the difference even in the installer, which is almost twice as fast on 64-bit.

The difference usually is greatest for number crunching apps like compression, encoding, scientific, etc. Every program is slightly faster or a lot faster in 64-bit, so overall you can notice the difference in speed.

Benchmarks:
2009
http://www.phoronix.com/scan.php?pag...u_32_pae&num=1
2012
http://www.phoronix.com/scan.php?pag...204_3264&num=1
 
2 members found this post helpful.
Old 07-31-2012, 11:08 AM   #10
guanx
Senior Member
 
Registered: Dec 2008
Posts: 1,014

Rep: Reputation: 147Reputation: 147
Quote:
Originally Posted by H_TeXMeX_H View Post
... You can see the difference even in the installer, which is almost twice as fast on 64-bit. ...
Amazing! How is it measured?
 
Old 07-31-2012, 11:20 AM   #11
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269Reputation: 1269
Quote:
Originally Posted by guanx View Post
Amazing! How is it measured?
With a stopwatch, or maybe just a regular clock.
 
Old 07-31-2012, 05:30 PM   #12
ReaperX7
Senior Member
 
Registered: Jul 2011
Location: California
Distribution: LFS-7.6, Slackware 14.1, FreeBSD 10.1
Posts: 3,851
Blog Entries: 15

Rep: Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191
From experience... about ever 2GB or RAM you add you can shave off about 1 minute or so from the install, but as always a faster multi-core CPU will shave off more. However the main issue you will always have is the transfer rate of your disk controller.
 
Old 07-31-2012, 08:18 PM   #13
Mercury305
Member
 
Registered: Jul 2012
Location: Rockville, MD
Distribution: CrunchBang / Ubuntu
Posts: 540

Rep: Reputation: Disabled
Quote:
Originally Posted by arodlinux View Post
I got an 64 bit capable machine with 6 Gb of RAM and I wonder if I should install 64 instead of 32 bit version. Is the difference is speed noticeable? The only thing is that I need 2 programs that will run in wine and I don't know is will be worth the "trouble" of getting wine installed to work under 64 bits.
it will be a huge difference. Slack runs quite will with 64.
 
Old 07-31-2012, 08:30 PM   #14
foobarz
Member
 
Registered: Aug 2010
Distribution: slackware64-current
Posts: 48

Rep: Reputation: 10
no real reason not to run slackware64

I am on slackware64 with the multilib packages. I have encountered no problems running any 32bit program. Same thing with Windows 7 - no reason on modern hardware with 4+ GB ram to not install the 64bit Windows 7. You can run 32bit programs too without problems so far as I know.

The only problem with running multilib is upgrading it. You have to follow alienbob's instructions to get started, where you are running 13.37 or -current and use the multilib for the one you are running.

Once you have it setup initially, then when you upgrade your 64bit packages, the 32bit compat32 versions do not match anymore. So, you have to upgrade those 32bit compat32 packages separately. Maybe you are able to rsync or lftp mirror alienbob's multilib/13.37 or multilib/current directory, and use upgradepkg * in each directory if his collection is up-to-date.

You have to make sure that during your regular upgrades that you blacklist packages gcc* and glibc* because those are special multilib versions that you have to manually upgrade from alienbob's site when new versions of them are available.

Another way to upgrade the 32bit compat32 packages is to mirror both the slackware-current and slackware64-current (assuming you are using -current) using mirror-slackware-current.sh script which can be found at
http://alien.slackbook.org/blog/local-slackware-mirror/ .
You can edit this script so it doesn't build the install-dvd each time.

With a mirror of both, you setup slackpkg to use your local mirror of slackware64-current to get upgrades. You upgrade your 64bit packages like normal after you have a up-to-date mirror.

Then you can use the convertpkg-compat32 script, which you should have installed already following alienbob's multilib install instructions, to convert an individual normal 32bit package into a package-compat32 that you install/upgrade with. This process can be automated using a script you can write that could be something like this (that I have used):

Code:
#!/bin/bash
# Upgrade installed compat32 packages from 32-bit slackware-current packages.
#
# The default is to do a dry run that doesn't do anything.
# Pass --go on the command line to do the real stuff.
# Still, nothing happens unless you okay it at prompts that show pending commands.
#
# For each installed pkg *-compat32-* in /var/log/packages:
#  Get installed pkg info.
#  Find current pkgname in /home/user1/mirror/slackware32/
#   Get current pkg info.
#   Get pkgset directory letter/name.
#   If version or build is different:
#   Prompt to ask to upgrade. If yes:
#    convertpkg-compat32 on current pkgname.
#    upgradepkg on the resulting /tmp/pkgname
#    remove pkg in /root/packages-multilib/<set>-compat32/pkgfile
#    mv /tmp/pkgfile /root/packages-multilib/<set>-compat32/

ARCH=${ARCH:-$(uname -m)}

# Location to find 32-bit slackware-current package set directories <set>/
MIRROR32=/home/user1/mirror/slackware32/slackware-current/slackware
# Location to store 32-bit slackware compat32 package set directories <set>-compat32/
MULTILIB=/root/packages-multilib/compat32
# Warning: spaces in path/filenames would cause problems with the CMD variables below

# Collect package name/filename of all packages under $MIRROR32 into associative array CURRENTPKG:
#  CURRENTPKG[<package name>]=<./set/filename>
# Used later to find slackware-current package filename associated with a package name.
echo "Collecting slackware-current package information..."
declare -A CURRENTPKG
for i in $( cd $MIRROR32 && find . | grep ".*\.t[xg]z$" ) ; do
 PKGFILE=$( basename $i )
 PKGNAME=$(echo $PKGFILE | rev | cut -f4- -d- | rev)
 CURRENTPKG[${PKGNAME}]=${i} 
 #echo "PKGFILE=$PKGFILE"
 #echo "PKGNAME=$PKGNAME"
 #echo "${PKGNAME}=${CURRENTPKG[${PKGNAME}]}"
done

echo "Searching for upgrades..."
# For each installed compat32 package, look for new current version and upgrade
for i in /var/log/packages/*-compat32-* ; do
 # Collect info about installed compat32 package
 PKGFILECOMPAT=$(basename ${i})
 PKGNAME=$(echo ${PKGFILECOMPAT} | rev | cut -f5- -d- | rev)
 PKGVERSION=$(echo ${PKGFILECOMPAT} | rev | cut -f3 -d- | rev)
 PKGBUILD=$(echo ${PKGFILECOMPAT} | rev | cut -f1 -d- | cut -f2- -d. | rev)
 # Collect info about 32-bit slackware-current package
 if [ -z ${CURRENTPKG[${PKGNAME}]} ] ; then
  echo
  echo "Package: ${PKGNAME}, is NOT in slackware-current; unable to find upgrade."
  echo " Installed: ${PKGFILECOMPAT}"
  echo " This package may have been installed special, or it has been removed from slackware-current."
 else
  CURRENTPKGFILE=$(basename ${CURRENTPKG[${PKGNAME}]})
  CURRENTPKGNAME=$(echo ${CURRENTPKGFILE} | rev | cut -f4- -d- | cut -f1 -d/ | rev)
  CURRENTPKGVERSION=$(echo ${CURRENTPKGFILE} | rev | cut -f3 -d- | rev)
  CURRENTPKGBUILD=$(echo ${CURRENTPKGFILE} | rev | cut -f1 -d- | cut -f2- -d. | rev)
  CURRENTPKGSET=$(echo ${CURRENTPKG[${PKGNAME}]} | cut -f2 -d/ )
  if [[ (${PKGVERSION} != ${CURRENTPKGVERSION}) || (${PKGBUILD} != ${CURRENTPKGBUILD}) ]] ; then
   # Package upgrade is available
   echo
   echo "Package: ${PKGNAME}, available in slackware-current."
   echo " Installed: ${PKGFILECOMPAT}"
   echo " Available:          ${CURRENTPKGFILE}"
   echo -n "Upgrade to available version? (y/n)"
   read -n 1 ANSWER
   echo
   if [[ ${ANSWER} = "y" ]] ; then
    # Prepare upgrade commands
    CMDCONVERT="convertpkg-compat32 -i ${MIRROR32}/${CURRENTPKG[${PKGNAME}]}"
    CONVERTPKGFILE="${CURRENTPKGNAME}-compat32-${CURRENTPKGVERSION}-${ARCH}-${CURRENTPKGBUILD}.txz"
    CMDMKDIR="mkdir -p ${MULTILIB}/${CURRENTPKGSET}-compat32/"
    CMDMV="mv /tmp/${CONVERTPKGFILE} ${MULTILIB}/${CURRENTPKGSET}-compat32/"
    CMDRM="rm -f ${MULTILIB}/${CURRENTPKGSET}-compat32/${PKGFILECOMPAT}.txz"
    CMDUPGRADE="upgradepkg ${MULTILIB}/${CURRENTPKGSET}-compat32/${CONVERTPKGFILE}"
    # Get permission to run upgrade commands
    if [[ $1 = "--go" ]] ; then
     echo "Performing upgrade... (warning: check pending commands before proceeding)"
     echo "Pending: ${CMDCONVERT}"
     echo "Pending: ${CMDMKDIR}"
     echo "Pending: ${CMDMV}"
     echo "Pending: ${CMDRM}"
     echo "Pending: ${CMDUPGRADE}"
     echo -n "Perform pending commands? (y/n)"
     read -n 1 ANSWER
     echo
     if [[ ${ANSWER} = "y" ]] ; then
      ${CMDCONVERT}
      ${CMDMKDIR}
      ${CMDMV}
      ${CMDRM}
      ${CMDUPGRADE}
      echo ${CMDMV}
      echo ${CMDRM}
     else
      echo "Upgrade of package aborted."
      echo -n "Continue? (y/n)"
      read -n 1 ANSWER
      echo
      if [[ ${ANSWER} != "y" ]] ; then exit ; fi
     fi
    else
     echo "Performing upgrade... dry run, echoing commands only (use --go to perform real upgrade)"
     echo "Dry: ${CMDCONVERT}"
     echo "Dry: ${CMDMKDIR}"
     echo "Dry: ${CMDMV}"
     echo "Dry: ${CMDRM}"
     echo "Dry: ${CMDUPGRADE}"
     echo -n "Continue? (y/n)"
     read -n 1 ANSWER
     echo
     if [[ ${ANSWER} != "y" ]] ; then exit ; fi
    fi
   fi
   # Upgrade done
  else
   # Package is up-to-date
   echo "Package: ${PKGNAME}, is up-to-date."
  fi
 fi
done

Basically, the script finds the installed compat32 packages, finds if there is an upgraded version available, if so converts the new 32bit package to a new compat32 package, replaces the old package in a multilib/<pkgset>-compat32 directory structure like a mirror of alienbob's multilib to keep it updated, and upgrades the package.

It seems to work, but everyone has their own way do to this. Maybe this is overly complicated, and it can be done much easier, but it works.
 
1 members found this post helpful.
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
cryptography... what's difference between 8bits / 16 bits / 32 bits/ 64 bits/128bits? ybpark81 Linux - Security 4 02-19-2012 09:38 AM
Difference In Speed Among Several Distributions kaplan71 Linux - General 2 01-22-2009 06:08 PM
speed difference: xfce vs. console? lefnire Linux - Distributions 3 04-04-2008 12:41 PM
Added Memory=difference in speed SteveSch Linux - General 10 10-30-2005 10:45 PM
encoding speed difference linux and windows shanenin Linux - Software 6 08-09-2004 08:40 AM


All times are GMT -5. The time now is 03:57 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration