I'm a pentium4 user who still is doubting/ not satisfied what CFLAGS he should take for some*good* performance.You to?
I installed a while ago mandrake on the a frend his computer who has the exact same system specs as mine computer.His mandrake i586 was/is way faster then my gentoo system(their does the doubting starts). You can notice it the way gnome 2.4 starts , the way mozilla starts everything just feels verry smooth and fast)
Anyway, I searched trough the forums but I didn't realy find what I was looking for: A page where pentium4 users could post there cflags + sys specs. And there experience with these CFLAGS.Well I don't have much experience but here are mine:
ps: How come that the mandrake i586 runs faster then my gentoo ?
Code: Select all
sh-2.05b$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 4
cpu MHz : 2417.773
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4823.44
sh-2.05b$
Code: Select all
gentoo:/home/pantoffel# hdparm -tT /dev/hda
/dev/hda:
Timing buffer-cache reads: 1452 MB in 2.00 seconds = 726.00 MB/sec
Timing buffered disk reads: 136 MB in 3.02 seconds = 45.03 MB/sec
Code: Select all
gentoo:/home/pantoffel# lspci -v
00:00.0 Host bridge: Silicon Integrated Systems [SiS] SiS645 Host & Memory & AGP Controller (rev 01)
Flags: bus master, medium devsel, latency 32
Memory at e0000000 (32-bit, non-prefetchable) [size=64M]
Capabilities: [c0] AGP version 2.0
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SiS 530 Virtual PCI-to-PCI bridge (AGP) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: dde00000-dfefffff
Prefetchable memory behind bridge: cdb00000-ddcfffff
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
Flags: bus master, medium devsel, latency 0
00:02.2 USB Controller: Silicon Integrated Systems [SiS] SiS7001 USB Controller (rev 07) (prog-if 10 [OHCI])
Subsystem: Micro-Star International Co., Ltd.: Unknown device 5470
Flags: bus master, medium devsel, latency 64, IRQ 10
Memory at dfffe000 (32-bit, non-prefetchable) [size=4K]
00:02.3 USB Controller: Silicon Integrated Systems [SiS] SiS7001 USB Controller (rev 07) (prog-if 10 [OHCI])
Subsystem: Micro-Star International Co., Ltd.: Unknown device 5470
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at dffff000 (32-bit, non-prefetchable) [size=4K]
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0) (prog-if 80 [Master])
Subsystem: Micro-Star International Co., Ltd.: Unknown device 5470
Flags: bus master, fast devsel, latency 128
I/O ports at ff00 [size=16]
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] SiS7012 PCI Audio Accelerator (rev a0)
Subsystem: Micro-Star International Co., Ltd.: Unknown device 5470
Flags: bus master, medium devsel, latency 64, IRQ 10
I/O ports at dc00 [size=256]
I/O ports at d800 [size=128]
Capabilities: [48] Power Management version 2
00:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RT8139
Flags: bus master, medium devsel, latency 64, IRQ 10
I/O ports at d400 [size=256]
Memory at dfffdf00 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3) (prog-if 00 [VGA])
Subsystem: Micro-Star International Co., Ltd.: Unknown device 8771
Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 11
Memory at de000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (32-bit, prefetchable) [size=128M]
Memory at ddc80000 (32-bit, prefetchable) [size=512K]
Expansion ROM at dfee0000 [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Capabilities: [44] AGP version 2.0
gentoo:/home/pantoffel#
My make.conf
Code: Select all
# Copyright 2000-2003 Daniel Robbins, Gentoo Technologies, Inc.
# Contains local system settings for Portage system
# $Header: /home/cvsroot/gentoo-src/portage/cnf/make.conf,v 1.67 2003/08/21 01:01:26 carpaski Exp $
# Please review 'man make.conf' for more information.
# Build-time functionality
# ========================
#
# The USE variable is used to enable optional build-time functionality. For
# example, quite a few packages have optional X, gtk or GNOME functionality
# that can only be enabled or disabled at compile-time. Gentoo Linux has a
# very extensive set of USE variables described in our USE variable HOWTO at
# http://www.gentoo.org/doc/use-howto.html
#
# The available list of use flags with descriptions is in your portage tree.
# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <--
#
# 'ufed' is an ncurses/dialog interface available in portage to make handling
# useflags for you. 'emerge app-admin/ufed'
#
# Example:
#USE="X gtk -gnome alsa"
USE="acpi cdr cscope doc dv dvd emacs emacs-w3 evo faad fbcon flash gb gd gtk2 icc imagemagick ipv6 jack jikes lcms leim moznoxft pic sse tiff usb v4l videos oss -arts -kde -qt X alsa avi aalib bonobo crypt cups esd encode fbcon flash gif imlib jack java jikes jpeg lcms leim mad motif mozilla mpeg ncurses nls opengl oggvorbis pam pdflib png perl python readline sdl spell svga tcltk tcpd tetex truetype usb xml2 xmms xv zlib mozsvg sse gnome"
# Host Setting
# ============
#
# If you are using a Pentium Pro or greater processor, leave this line as-is;
# otherwise, change to i586, i486 or i386 as appropriate. All modern systems
# (even Athlons) should use "i686-pc-linux-gnu". All K6's are i586.
#
CHOST="i686-pc-linux-gnu"
# Host and optimization settings
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
#
# Please note that if you experience strange issues with a package, it may be
# due to gcc's optimizations interacting in a strange way. Please test the
# package (and in some cases the libraries it uses) at default optimizations
# before reporting errors to developers.
#
# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs.
#
# -march=<cpu-type> means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=athlon-xp code will not run on a regular Athlon, and
# -march=i686 code will not run on a Pentium Classic.
#
# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp,
# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron), pentium3.
# Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
#
# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
#
# CRITICAL WARNINGS: ****************************************************** #
# ATHLON-4 will generate invalid SSE instructions; use 'athlon' instead. #
# PENTIUM4 will generate invalid SSE2 instructions; use 'pentium3' instead. #
# K6 markings are deceptive. Avoid setting -march for them. See Bug #24379. #
# ************************************************************************* #
#
# Decent examples:
#
#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
# This is what I Used to compile the bootstrap
# These CFLAGS are used on the p4 livecd.
# (only changed from -O3 to -O2)
CFLAGS="-O2 -mcpu=i686 -funroll-loops -pipe"
# This is what I'm using after the bootstrap!
# I'm running ~x86 , so i got gcc-3.3.1,
# this version should fix the invalid SSE2 instructions.
#CFLAGS="-march=pentium4 -mmmx -msse -msse2 -mfpmath=sse -O2 -fomit-frame-pointer -pipe"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings.
CXXFLAGS="${CFLAGS}"
# Advanced Masking
# ================
#
# Gentoo is using a new masking system to allow for easier stability testing
# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
# on the platform they are set for. A special form has been added that
# indicates packages and revisions that are expected to work, but have not yet
# been approved for the stable set. '~arch' is a superset of 'arch' which
# includes the unstable, in testing, packages. Users of the 'x86' architecture
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
# '~ppc', '~sparc' are the unstable KEYWORDS for their respective platforms.
# DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
#
ACCEPT_KEYWORDS="~x86"
# Portage Directories
# ===================
#
# Each of these settings controls an aspect of portage's storage and file
# system usage. If you change any of these, be sure it is available when
# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
#
# PORTAGE_TMPDIR is the location portage will use for compilations and
# temporary storage of data. This can get VERY large depending upon
# the application being installed.
#PORTAGE_TMPDIR=/var/tmp
#
# PORTDIR is the location of the portage tree. This is the repository
# for all profile information as well as all ebuilds. This directory
# itself can reach 200M. WE DO NOT RECOMMEND that you change this.
#PORTDIR=/usr/portage
#
# DISTDIR is where all of the source code tarballs will be placed for
# emerges. The source code is maintained here unless you delete
# it. The entire repository of tarballs for gentoo is 9G. This is
# considerably more than any user will ever download. 2-3G is
# a large DISTDIR.
#DISTDIR=${PORTDIR}/distfiles
#
# PKGDIR is the location of binary packages that you can have created
# with '--buildpkg' or '-b' while emerging a package. This can get
# upto several hundred megs, or even a few gigs.
#PKGDIR=${PORTDIR}/packages
#
# PORT_LOGDIR is the location where portage will store all the logs it
# creates from each individual merge. They are stored as YYMMDD-$PF.log
# in the directory specified. This is disabled until you enable it by
# providing a directory. Permissions will be modified as needed IF the
# directory exists, otherwise logging will be disabled.
#PORT_LOGDIR=/var/log/portage
#
# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
# concern that they will be deleted by rsync updates. Default is not
# defined.
PORTDIR_OVERLAY=/usr/local/portage
# Fetching files
# ==============
#
# If you need to set a proxy for wget or lukemftp, add the appropriate "export
# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
# all users on your system should use them.
#
# Portage uses wget by default. Here are some settings for some alternate
# downloaders -- note that you need to merge these programs first before they
# will be available.
#
# Default fetch command (5 tries, passive ftp for firewall compatibility)
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp \${URI} -P \${DISTDIR}"
#
# Using wget, ratelimiting downloads
#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp --limit-rate=200k \${URI} -P \${DISTDIR}"
#
# Lukemftp (BSD ftp):
#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
#
# Prozilla (turbo downloader)
#FETCHCOMMAND='/usr/bin/proz --no-getch -s ${URI} -P ${DISTDIR}'
#
# Portage uses GENTOO_MIRRORS to specify mirrors to use for source retrieval.
# The list is a space seperated list which is read left to right. If you use
# another mirror we highly recommend leaving the default mirror at the end of
# the list so that portage will fall back to it if the files cannot be found
# on your specified mirror. We _HIGHLY_ recommend that you change this setting
# to a nearby mirror by merging and using the 'mirrorselect' tool.
#GENTOO_MIRRORS="<your_mirror_here> http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
#
# Portage uses PORTAGE_BINHOST to specify mirrors for prebuilt-binary packages.
# The list is a single extry specifying the full address of the directory
# serving the tbz2's for your system. Running emerge with either '--getbinpkg'
# or '--getbinpkgonly' will cause portage to retrieve the metadata from all
# packages in the directory specified, and use that data to determine what will
# be downloaded and merged. '-g' or '-gK' are the recommend parameters. Please
# consult the man pages and 'emerge --help' for more information.
#PORTAGE_BINHOST="ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp/"
#PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"
# Synchronizing Portage
# =====================
#
# Each of these settings effects how Gentoo synchronizes your Portage tree.
# Synchronization is handled by rsync and these settings allow some control
# over how it is done.
#
#
# SYNC is the server used by rsync to retrieve a localized rsync mirror
# rotation. This allows you to select servers that are geographically
# close to you, yet still distribute the load over a number of servers.
# Please do not single out specific rsync mirrors. Doing so places undue
# stress on particular mirrors. Instead you may use one of the following
# continent specific rotations:
#
# Default: "rsync://rsync.gentoo.org/gentoo-portage"
# North America: "rsync://rsync.namerica.gentoo.org/gentoo-portage"
# South America: "rsync://rsync.samerica.gentoo.org/gentoo-portage"
# Europe: "rsync://rsync.europe.gentoo.org/gentoo-portage"
# Asia: "rsync://rsync.asia.gentoo.org/gentoo-portage"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
#
# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
#RSYNC_RETRIES="3"
#
# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
# on a connection. Most users will benefit from this setting as it will
# reduce the amount of 'dead air' they experience when they run across
# the occasional, unreachable mirror. Dialup users might want to set this
# value up around the 300 second mark.
#RSYNC_TIMEOUT=180
# Advanced Features
# =================
#
# MAKEOPTS provides extra options that may be passed to 'make' when a
# program is compiled. Presently the only use is for specifying
# the number of parallel makes (-j) to perform. The suggested number
# for parallel makes is CPUs+1.
#MAKEOPTS="-j2"
#
# PORTAGE_NICENESS provides a default increment to emerge's niceness level.
# Note: This is an increment. Running emerge in a niced environment will
# reduce it further. Default is unset.
#PORTAGE_NICENESS=3
#
# AUTOCLEAN enables portage to automatically clean out older or overlapping
# packages from the system after every successful merge. This is the
# same as running 'emerge -c' after every merge. Set with: "yes" or "no".
# This does not affect the unpacked source. See 'noclean' below.
#AUTOCLEAN="yes"
#
# FEATURES are settings that affect the functionality of portage. Most of
# these settings are for developer use, but some are available to non-
# developers as well.
#
# 'autoaddcvs' causes portage to automatically try to add files to cvs
# that will have to be added later. Done at generation times
# and only has an effect when 'cvs' is also set.
# 'buildpkg' causes binary packages to be created of all packages that
# are merged.
# 'ccache' enables ccache support via CC.
# 'cvs' feature for developers that causes portage to enable all
# cvs features (commits, adds) and all USE flags in SRC_URI
# will be applied for digests.
# 'digest' autogenerate a digest for packages.
# 'distcc' enables distcc support via CC.
# 'fixpackages' allows portage to fix binary packages that are stored in
# PKGDIR. This can consume a lot of time. 'fixpackages' is
# also a script that can be run at any given time to force
# the same actions.
# 'keeptemp' prevents the clean phase from deleting the temp files ($T)
# from a merge.
# 'keepwork' prevents the clean phase from deleting the WORKDIR.
# 'noauto' causes ebuild to perform only the action requested and
# not any other required actions like clean or
# 'noclean' prevents portage from removing the source and temporary files
# after a merge -- for debugging purposes only.
# 'nostrip' prevents stripping of binaries.
# 'notitles' disables xterm titlebar updates (which contain status info).
# 'sandbox' enable sandbox-ing when running emerge and ebuild
# 'strict' causes portage to react strongly to conditions that
# have the potential to be dangerous -- like missing or
# incorrect Manifest files.
# 'userpriv' allows portage to drop root privleges while it is compiling
# as a security measure, and as a side effect this can remove
# sandbox access violations for users.
# 'usersandbox' enables sandboxing while portage is running under userpriv.
# unpack -- for debugging purposes only.
#FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles noclean noauto cvs keeptemp keepwork"
#
# CCACHE_SIZE sets the space use limitations for ccache. The default size is
# 2G, and will be set if not defined otherwise and ccache is in features.
# Portage will set the default ccache dir if it is not present in the
# user's environment, for userpriv it sets: ${PORTAGE_TMPDIR}/ccache
# (/var/tmp/ccache), and for regular use the default is /root/.ccache.
# Sizes are specified with 'G' 'M' or 'K'.
# '4G' for 4 gigabytes, '4096M' for 4 gigabytes, etc... Default is 2G
#CCACHE_SIZE="2G"
#
# RSYNC_EXCLUDEFROM is a file that portage will pass to rsync when it updates
# the portage tree. Specific chucks of the tree may be excluded from
# consideration. This may cause dependency failures if you are not careful.
# The file format is one pattern per line, blanks and ';' or '#' lines are
# comments. See 'man rsync' for more details on the exclude-from format.
#RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes





