# Geschwindigkeit!!

## BlackEye

Hallo Leute!

Gibt es eigentlich einen erklärbaren Grund, wieso unter meinem 2600er Athlon mit 1Gig Dual-Ram alles nur halb so schnell unter Linux läuft wie auf meinem Athlon 1000 mit 512 Ram unter Windows XP?? Gerade die Eclipse Entwicklungsumgebung ist nicht mal HALB so schnell wie unter Windows und langsam stresst es mich enorm! (jeder Klick mit dem Visual Editor dauert mehrere SEKUNDEN bis Reaktion kommt)

Liegt das daran, dass die Entwicklung der Libraries unter Linux keine Gewichtung erhält oder wie? Ich glaube was die reine Applikationsgeschwindigkeit betrifft würde ich unter dem vermeintlich lahmeren PC merklich schneller voran kommen!

Gruß,

Martin

----------

## Finswimmer

Du vergleichst grad ein Gentoo mit XP?

Vielleicht hast du gravierende Einstellungsfehler gemacht?

Oder geht alles andere normal?

Wie schaut es aus, wenn du eine DVD schaust, etc?

Ist DMA an?

Tobi

----------

## BlackEye

 *Quote:*   

> Du vergleichst grad ein Gentoo mit XP?

 

hmm... was ist daran so schlimm? Vergleicht man nicht immer zwischen zwei Systemen mit denen man arbeitet?

Zum meinem Arbeitsplatz:

Links habe ich einen Gentoo-Rechner stehen mit dem ich eigentlich immer arbeite. Eclipse und Firefox sind hier immer offen. Nebenher laufen kontact, kopete, skype und die überlichen Dienste von KDE. Das System ist ein Athlon XP 2600+ mit 1 gig dual ram. Die Festplatte ist eine relativ neue 80gig platte unter IDE. hdparm sagt folgendes dazu:

```
# hdparm -tT /dev/hda

/dev/hda:

 Timing cached reads:   1608 MB in  2.00 seconds = 802.90 MB/sec

 Timing buffered disk reads:   78 MB in  3.01 seconds =  25.93 MB/sec
```

Ansonsten ist es eigentlich ein normal eingerichtetes System ohne große Fummeleien. Allerdings ist es schon lange (>1 jahr?) drauf. Muss ich zugeben.

Auf meinem rechten PC läuft Windows XP mit den neuesten Updates die halt so wöchentlich eintrudeln. Alles unter einem Athlon 1000 mit 512MB (normalem) Ram. Auf dem Teil laufen verschiedene Kleinigkeiten wie meine Nokia Suite, mit der ich mein Handy synchronisieren kann (vieles davon ist in Java geschrieben). Wenn ich auf diesem Rechner das Eclipse starte dauert der Ladevorgang schon länger als auf meinem linken PC. Dafür läuft es einfach flüssiger. Und irgendwie will ich das nicht hinnehmen, dass das auf einem langsameren Rechner schneller läuft als auf meiner Linux Box :/ (mal abgesehen davon, das mich noch so einige andere Sachen grätzen)

Übrigens sind die beiden per synergy verbunden -> nur eine Maus und nur eine Tastatur  :Smile: 

 *Quote:*   

> 
> 
> Vielleicht hast du gravierende Einstellungsfehler gemacht?
> 
> Oder geht alles andere normal?

 

Naja, alles andere geht relativ normal eigentlich. Der Firefox (ver 2.0) braucht auch lange zum starten ist mir aufgefallen. Aber lange Startzeiten bei solchen Applikationen sind nicht so schlimm. Schlimmer ist es, wenn der konqueror lange braucht um das Homedir mal anzuzeigen. Das hab ich auch schon mal schneller gesehen.

 *Quote:*   

> 
> 
> Wie schaut es aus, wenn du eine DVD schaust, etc?
> 
> Ist DMA an?

 

Multimedia läuft eigentlich gut sofern ich das beurteilen kann. Gucke hier nicht viel Videos auf dem Teil. Bin hier eher am arbeiten und kommunizieren. Aber wenn ich mal was schaue, ist mir noch nichts aufgefallen in der Hinsicht.

Mir fällt gerade ein, dass ich hier noch den beagle laufen habe. Den schalte ich jetzt testweise mal ab.

Schönen Gruß,

Martin

----------

## Finswimmer

Das mit dem Vergleich war nicht als Vorwurf gedacht, sondern nur als Feststellung, weil ich das nicht so genau herauslesen konnte.

Mehr fällt mir leider nicht ein.

Tobi

----------

## Klaus Meier

Also erst mal hdparm. Dein Durchsatz ist recht niedrig. Hast du bei der Platte mit hdparm den DMA-Modus aktiviert? Und diesem auch im Kernel aktiviert? Des weiteren, was für ein Filesystem benutzt du? Mir ist aufgefallen, daß z.B. XFS extrem lahm ist, wenn der Rechner nebenher belastet ist. Und das alle Filesystem unter Fragmentierung leider. Da hilft bei reiser3 und ext3 leider nur umkopieren.

Insgesamt hat sich bei mir ext3 als das brauchbarste Filesystem herausgestellt. Bei reiser3 gehen größere Kopieraktionen tierisch auf die CPU.

Ich denke schon, daß man bei dir noch einiges optimieren kann. Gut, wie sich Eclipse verhält weiß ich nicht, aber bei mir läuft ein Gentoo auf einem Dualbootrechner deutlich besser als ein WindowsXP.

----------

## BlackEye

 *Quote:*   

> Also erst mal hdparm. Dein Durchsatz ist recht niedrig. Hast du bei der Platte mit hdparm den DMA-Modus aktiviert? Und diesem auch im Kernel aktiviert?

 

das dachte ich zumindest immer. hdparm startet bei mir mit dem rechner mit.

Hier die hdparm angaben:

```
# hdparm /dev/hda

/dev/hda:

 multcount    = 16 (on)

 IO_support   =  1 (32-bit)

 unmaskirq    =  1 (on)

 using_dma    =  1 (on)

 keepsettings =  0 (off)

 readonly     =  0 (off)

 readahead    = 256 (on)

 geometry     = 65535/16/63, sectors = 160086528, start = 0
```

sieht soweit doch gnaz okay aus, oder?

 *Quote:*   

> Des weiteren, was für ein Filesystem benutzt du? Mir ist aufgefallen, daß z.B. XFS extrem lahm ist, wenn der Rechner nebenher belastet ist. Und das alle Filesystem unter Fragmentierung leider. Da hilft bei reiser3 und ext3 leider nur umkopieren.
> 
> Insgesamt hat sich bei mir ext3 als das brauchbarste Filesystem herausgestellt. Bei reiser3 gehen größere Kopieraktionen tierisch auf die CPU.

 

ich benutze überall das ext3. Hatte damit ebenfalls noch nie Probleme.

 *Quote:*   

> Ich denke schon, daß man bei dir noch einiges optimieren kann. Gut, wie sich Eclipse verhält weiß ich nicht, aber bei mir läuft ein Gentoo auf einem Dualbootrechner deutlich besser als ein WindowsXP.

 

Hmm.. Gibt es denn irgendwie eine schlaue Möglichkeit den Flaschenhals zu finden bei sowas? So eine Art Analysetool oder so?

Grüße,

Martin

----------

## Klaus Meier

Hm, gibt da tausende Dinge. Das läßt sich alles nicht so einfach sagen. Poste doch mal die Ausgabe von emerge --info

----------

## BlackEye

bitteschön

```
# emerge --info

Portage 2.1.2_rc2-r1 (default-linux/x86/2006.0, gcc-3.4.5/hardened, glibc-2.3.6-r4, 2.6.17-gentoo i686)

=================================================================

System uname: 2.6.17-gentoo i686 AMD Athlon(tm) XP 2600+

Gentoo Base System version 1.12.0_pre8

Last Sync: Wed, 22 Nov 2006 08:30:01 +0000

ccache version 2.4 [enabled]

app-admin/eselect-compiler: 2.0.0_rc1-r1

dev-java/java-config: 1.3.0-r2, 2.0.26

dev-lang/python:     2.3.5, 2.4.1-r1

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     2.4

sys-apps/sandbox:    1.2.18.1

sys-devel/autoconf:  2.13, 2.59-r7

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6

sys-devel/binutils:  2.17

sys-devel/gcc-config: 1.3.12-r2

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17

ACCEPT_KEYWORDS="x86 ~x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-march=athlon-xp -Os -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/terminfo /etc/texmf/web2c"

CXXFLAGS="-march=athlon-xp -Os -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox"

GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://gentoo.inode.at/source/ http://gentoo.inode.at/"

LANG="de_DE@euro"

LC_ALL="de_DE@euro"

LINGUAS="de en"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/overlays/local /usr/portage/local/layman/gentoo-de /usr/portage/local/layman/xeffects"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 3dnowext X alsa apache2 apm audiofile avantgo berkdb bitmap-fonts cairo cdparanoia cdr cli cracklib crypt cups dga dlloader dri dvd dvdr eds elibc_glibc emboss encode esd font-server foomaticdb fortran gdbm gif glitz gpm gstreamer gtk gtk2 hbci iconv imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog java jpeg jpeg2k kde kdeenablefinal kernel_linux libg++ libwww linguas_de linguas_en lirc mad mikmod mmx mmxext motif mozilla mp3 mpeg musicbrainz mysql ncurses nls nptl nsplugin nvidia ogg oggvorbis opengl oss pam pcre perl png pppd python qt3 qt4 quicktime readline reflection sdl session source spell spl sse ssl tcpd tidy truetype truetype-fonts type1-fonts udev unicode userland_GNU v4l v4l2 video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_vesa vorbis win32codecs wxwindows xine xml xorg xv xvid zlib"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

schaut gut aus  :Smile: 

----------

## STiGMaTa_ch

 *BlackEye wrote:*   

> bitteschön
> 
> [code]Portage 2.1.2_rc2-r1 (default-linux/x86/2006.0, gcc-3.4.5/hardened, glibc-2.3.6-r4, 2.6.17-gentoo i686)
> 
> [...]
> ...

 

Naja... Du vermischst Stable mit Testing. Ob das eine gute Idee ist? Grad letzthin hat jemand über Geschwindigkeitsprobleme mit dem aktuellsten Portage geklagt, bis er auf stable gegangen ist. So kann das im Prinzip mit jedem der installierten Applikationen auf deinem System gehen.

Ausserdem weiss ich nicht welchen Einfluss das hardened gcc auf das System hat. Wahrscheinlich keinen, könnte aber im Zusammenspiel mit ~x86 sein...

Lieber Gruss

STiGMaTa

----------

## nikaya

Du scheinst schon länger kein world-update gemacht zu haben,jedenfalls ist nicht alles aktuell:

ACCEPT_KEYWORDS="x86 ~x86"  --> Du fährst den Testing-Tree.

gcc-3.4.5/hardened --> aktuell:4.1.1

glibc-2.3.6-r4 --> aktuell testing:2.5,stable:2.4-r4

Gentoo Base System version 1.12.0_pre8 --> aktuell:1.12.6

dev-lang/python:2.3.5, 2.4.1-r1 --> aktuell testing:2.4.4,stable:2.4.3-r4

----------

## BlackEye

Japp, das stimmt. Ein update-world hab ich schon länger nicht mehr gemacht. Meine Erfahrungen damit waren immer etwas... naja.. zwiegespalten. Nicht selten gingen durch diese Aktion irgendwelche Programme nicht mehr oder das update-world wurde schlicht mitten drin unterbrochen und man musste wieder stundenlanges Fehlersuchen starten wozu ich einfach keine Lust hatte in letzter Zeit.

Wieso ich jetzt stable mit testing vermische ist mir allerdings ein Rätzel. Seit Installation dieses Systems habe ich schon immer das ~x86 in der make.conf stehen. Das habe ich meines Wissens nach auch noch nie geändert.. 

Aber vielleicht ist es einfach mal wieder an der Zeit alles von vorn aufzuspielen. Immerhin ist das System schon eine ganze Weile hier drauf. Stabil laufen tut es ja (meistens). Nur manchmal bissl träge.. Aber das kann natürlich auch an den einzelnen Applikationen selbst liegen. Ich bezog mich hauptsächlich auf Eclipse, weil ich damit mal wieder täglich arbeite und der VisualEditor ist unter Linux echt zum ...... Mich wundert es nur immer wieder, wieso unter Windows solche Dinge scheinbar immer problemlos ablaufen und nur unter Linux ständig irgendwelche Haken und Ösen sind, die scheinbar nur mit auf den Kranz gehen...

Beispiel: Es gibt einen Bug im Eclipse, dass markierter Text _manchmal_ nur teilweise in die Zwischenablage kopiert wird. Das ist besonders lustig, wenn man ausschneidet, wo anders einfügen will und dann nur die Hälfte erscheint. (Bug ist bekannt - jedoch kann es keiner der Entwickler bis dato nachvollziehen -> keine Lösung in Sicht). Dazu kommen deaktivierte Optionen im Visual Editor, die in Windows funktionieren und unter Linux schlicht deaktiviert sind, weil die GEF unter Linux anders ist als unter Windows (ebenfalls seit 2005 bekannter Bug - keine Änderung in Sicht). Wenn man jetzt wegen dieser nicht funktionierenden Option einiges per Hand nachbessern muss und jede dieser Änderungen sekundenlanges einschlafen der Oberfläche nachsichziehen weil der Quelltext beim Tippen ständig neu interpretiert wird (was unter Windows innerhalb von wenigen Millisekunden geht), dann fängt man langsam an und bekommt einen zuviel mit dem Mist. Manchmal frage ich mich daher, wieso ich mir das ständig antue. Ich mag kein Windows! Dafür muss ich mir Problemen kämpfen, die einen auf Dauer auf die Palme bringen... Verdammt  :Smile: 

Sorry fürs geweine  :Smile:  Es kam gerade mal wieder in mir hoch...

Augen zu und durch..

Vielleicht doch echt mal neu installieren alles.. ach, keine Ahnung *seufz*

----------

## Finswimmer

Neuinstallieren war noch nie eine Lösung für mich.

Das mit x86 ~x86 ist normal, das wird so vom emerge --info ausgegeben.

An deiner Stelle würde ich mal ein world update machen. Wer weiß, wenn die Programme, auf die eclipse aufbauen, sich verbessert haben, wirds vielleicht auch schneller.

Meine reinen Java Programme (Mercury) laufen auf meinem schlechteren Lappi subjektiv schneller.

Tobi

----------

## hoschi

Was heisst reine Java-Programme, Bytecode oder Maschinencode?

----------

## Klaus Meier

Also zum Updaten kann ich nur sagen, je seltener man es macht, um so mehr Probleme macht es. Ich nutze Testing und mache da jeden Tag ein Update. Je mehr Pakete man auf einmal updatet und je größer die Versionssprünge sind, um so eher tritt ein Problem auf. Die Probleme, die da auftreten können, hat man irgendwann mal im Griff. Man muß halt nur bei env-update aufpassen. Ansonsten geht zumindestens bei Stable selten was in die Hose. Und dein System ist preStable.

----------

## franzf

 *Klaus Meier wrote:*   

> Man muß halt nur bei env-update aufpassen.

 

Du meinst doch sicher etc-update, oder?

 :Wink: 

----------

## Klaus Meier

 *franzf wrote:*   

>  *Klaus Meier wrote:*   Man muß halt nur bei env-update aufpassen. 
> 
> Du meinst doch sicher etc-update, oder?
> 
> 

 Sorry, ja.

----------

## Finswimmer

 *hoschi wrote:*   

> Was heisst reine Java-Programme, Bytecode oder Maschinencode?

 

Keine Ahnung  :Smile:  Mit Java kenn ich mich fast gar nicht aus.

Mit "rein" war nur gemeint, dass es in andere Programme eingebettet ist.

So wird Mercury zum Beispiel gestartet:

```
[12:57:04]|[root@tobi-rechner]|/tmp$cat /usr/bin/mercury

#!/bin/bash

export AWT_TOOLKIT=MToolkit

MERCURY_INSTALL_PATH="/opt/Mercury"

JMF_INSTALL_PATH="/usr/share/jmf-bin/"

cd $MERCURY_INSTALL_PATH

classpath=""

for file in `ls $MERCURY_INSTALL_PATH/lib`

do

classpath="$MERCURY_INSTALL_PATH/lib/$file:$classpath"

done

for file in `ls $JMF_INSTALL_PATH/lib`

do

classpath="$JMF_INSTALL_PATH/lib/$file:$classpath"

done

java -Djava.library.path=$MERCURY_INSTALL_PATH/jni/linux/ -classpath $classpath com.dMSN.Main

```

Tobi

----------

## SvenFischer

CFLAGS="-march=athlon-xp -Os -pipe" 

Os ist wirklich nicht gut, nimm besser :

CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,now"

----------

## Earthwings

Von ner Neuinstallation würde ich mir nicht allzu viel erhoffen (eigentlich nichts). Meiner Erfahrung nach läuft Eclipse unter Windows deutlich flüssiger mit Ausnahme von Zugriffen aufs Dateisystem (z.B. workspace refresh). Der Grund ist schätzungsweise die bessere Umsetzung von SWT unter Windows als unter Linux-Gtk-Gewurschtel; es arbeiten auch deutlich mehr Leute an/mit Windows-SWT/Eclipse als Linux-SWT/Eclipse.

 *SvenFischer wrote:*   

> CFLAGS="-march=athlon-xp -Os -pipe" 
> 
> Os ist wirklich nicht gut, nimm besser :
> 
> CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
> ...

 

--ffast-math --omg-optimized.

----------

## moe

 *BlackEye wrote:*   

> Japp, das stimmt. Ein update-world hab ich schon länger nicht mehr gemacht. Meine Erfahrungen damit waren immer etwas... naja.. zwiegespalten. Nicht selten gingen durch diese Aktion irgendwelche Programme nicht mehr oder das update-world wurde schlicht mitten drin unterbrochen und man musste wieder stundenlanges Fehlersuchen starten wozu ich einfach keine Lust hatte in letzter Zeit.
> 
> .. schon immer das ~x86 in der make.conf stehen.

 

Sorry, aber wer ~x86 benutzt, dem sollte klar sein, dass einiges evtl nicht richtig funktioniert, gerade beim Updaten..

Irgendwie scheint es in letzter Zeit wieder in Mode zu kommen, komplett auf ~x86 umzustellen und dann über Probleme jammern, anstatt ein stabiles System zu fahren und für selektiv ~x86 für Pakete zu verwenden wo man auf die neueste Version angewiesen ist.

Das ist jetzt nichts persönliches gegen dich BlackEye, nur eine eher allgemeine Feststellung..

----------

## BlackEye

 *moe wrote:*   

> ...
> 
> Das ist jetzt nichts persönliches gegen dich BlackEye, nur eine eher allgemeine Feststellung..

 

Kein Problem.. 

Irgendwann hieß es mal, dass die Mischung von manchem ~x86 Paketen mit ansonsten Stable-markierten Paketen nicht das gelbe vom ei sei. Schön Problematisch wird es ja dann, wenn ich ein Paket A in neuer Version benötige, welches ein Paket B in ebenfalls neuester Version benötigt, das wiederum von Paket C in der älteren Form benutzt wird. Das ist doch dann quer ohne ende..

Daher war meine Entscheidung -> alles ~x86

Und stabil läuft es! Es schneckt nur seltsamerweise. Aber okay, das kann sogar am Eclipse liegen. Vielleicht liegt das Übel irgendwo in den Tiefen von SWT und Eclipse. Böses Zeugs...

BTW: bin beim update von world. Ähh.. noch 93 Pakete und 395MB  :Smile: 

PS: Hoffentlich ist eve bald mal wieder online *g* (für Insider)

----------

## Bloodsurfer

Ich würde an deiner Stelle erstmal den aktuellen GCC, binutils und GlibC mergen. Dann damit je einmal emerge -e system und world.

Mag sein dass du auf kleinere Probleme triffst, aber generell sollte das bei weitem schneller und besser gehen als eine Neuinstallation (die ich auch prinzipiell für falsch halte  :Wink:  ).

Ich fahre auch quasi von Anfang an ~x86, und wenn man regelmässig (ein oder zwei mal die Woche) updatet, trifft man eigentlich nur selten Probleme. Und nach kurzer Forumsrecherche konnte ich bisher eigentlich alles flott lösen, wenn man tatsächlich ein Problem aufgetreten ist... Ist mir allemal lieber, als immer ständig die /etc/portage/package.keywords zu aktualisieren, weil man doch immer irgendwas in einer aktuelleren Version haben möchte...

----------

## nikaya

 *BlackEye wrote:*   

> Japp, das stimmt. Ein update-world hab ich schon länger nicht mehr gemacht. 
> 
> [...]
> 
> Wieso ich jetzt stable mit testing vermische ist mir allerdings ein Rätzel. Seit Installation dieses Systems habe ich schon immer das ~x86 in der make.conf stehen. Das habe ich meines Wissens nach auch noch nie geändert.. 
> ...

 

Naja,ein ~x86 hast du eigentlich nur wenn regelmäßig Updates gemacht werden.

~x86-Pakete werden irgendwann x86,später fliegen auch diese aus Portage raus.Wenn einzelne Pakete nur aktualisiert werden und andere nicht bekommt man halt ein System welches nicht besonders konsistent ist.Sowas ist eher "quer ohne Ende".

Gentoo ist ein System welches sehr dynamisch ist und keinen Freeze-Zustand und damit auch keine Versionen hat.

Egal ob man sich für ~x86 oder x86 entscheidet:Entweder konsquent world-updates machen oder es so lassen wie es ist.Dann sollte man sich jedoch bewußt sein dass nach einem Jahr oder mehr ein world-update sehr problematisch ist.Dafür ist Gentoo zu sehr in Bewegung.

----------

## Klaus Meier

Wenn du ein Update machst, dann lies dir unbedingt durch, was zum gcc Update und zum Xorg Update in den Docs von www.gentoo.org steht. Ansonsten bumm. Sind zwei nicht ganz unkritische Sachen. Es hat sich bei dir einiges angesammelt.

----------

## energyman76b

Beschwer dich bei den eclipse Hanseln.

eclipse ist bekanntermaßen extrem lahm unter linux.

Das haben die Jungs echt gut hinbekommen.

Davon abgesehen, -fomit-frame-pointer und O2 kann, muß nicht helfen.

Allerdings, wenn du deinen Kernel 'kaputtkonfiguriert' hast, kann dir auch keiner helfen  :Wink: 

Oh, und vielleicht mal bios-Einstellungen, so zum Thema Ram kontrollieren?

----------

