Michael Schröpl: we are connected ! ! ! ! ! ! ! ! ! ! ! ! ! !

Beitrag lesen

Hi Christoph,

Ich spreche eigentlich seltenst jemanden persönlich an,

Ich schon. ("SelfHTML-Forum - da werden Sie geholfen.")

ist schließlich ein Forum, gelle? ;-)

<eg>Meinst Du, die Browserweichenbastler lesen hier noch mit?</eg>

Plattform, Compiler, CPU-Architektur? (Ich SunOS, nix Linux.)
$ Linux yals 2.2.7cz #1 Sat Oct 20 06:07:13 MEST 2001 i586 unknown
Aber das liegt wahrscheinlich am meisten an der unterschiedlichen
Austattung des Apachen, weniger an der Architektur. Ich habe mal
ein Crosscompile auf 64Bit versucht, der Unterschied war marginal.

Yep - ich habe mal meinen Apache auf irgend einer ollen Suse-Box, die
hier herum steht ("Linux 2.2.1" und "egcs 2.91.66", was immer das sein
mag), übersetzt - die Größe war fast identisch zur Sun-Version.
(Dort bewirkte das "strip" übrigens noch einiges, auf der Sun nicht.)

Hast Du mehr als '-O2' verwendet?
Ja.

Immerhin steht in der src/Configuration:
"# Optimization note:
 # Be careful when adding optimization flags (like -O3 or -O6) on the OPTIM
 # entry, especially when using some GCC variants. Experience showed that using
 # these for compiling Apache is risky. If you don't want to see Apache dumping
 # core regularly then at most use -O or -O2.
 #"
"regularly" - so, so ... da war mein 'Heldenmut' dann doch eher endlich,
wenn es um Produktionsmaschinen geht ... wie 'tapfer' bist Du denn? ;-)

Könnte man also noch mehr in der Größe optimieren, falls
heutzutage Speicher wirklich noch die große Rolle spielt.
Ich befürchte aber signifikante Geschwindigkeitseinbußen.

Ich hätte gedacht, mehr Optimierung (d. h. 'aggressiveres Raten') wäre
eher 'schlauer' und schneller?

Also auf der Linux-Box mal schnell -O6 angegeben und neu übersetzt -
und siehe da: Das Programm wird dabei größer! (Von 277 auf 302 KB.)
Und das wundert mich noch nicht mal: Ich kann mir gut vorstellen, daß
irgend eine Optimierungsstufe z. B. Schleifen aufrollt oder sonstige
Turnübungen veranstaltet, um Tempo zu gewinnen.
Und dabei kann der Compiler halt auch falsch raten, wenn unsauberer Code
z. B. davon lebt, daß einzelne Anweisungen obskure Seiteneffekte haben ...

Mein gcc-Compiler auf Solaris scheint uuuralt zu sein ('gcc -v': 2.8.1,
März 1998 ???), bei dem passiert oberhalb von -O3 nichts mehr (ich habe
gerade alle Stufen durchprobiert).
Am speichersparendsten bei meinem Compiler ist übrigens -O2 ;-), damit
wird das binary am kleinsten und es wird auch am wenigsten Hauptspeicher
vom laufenden Programm belegt.

Ab -O3 scheinen mir also die aggressiven Optimierungen anzufangen, die
bereit sind, Geschwindigkeit für Speicher einzukaufen.
(Bei mir von 358 auf 393 KB binary und fünf Seiten Hauptspeicher mehr
belegt, gemessen jeweils zweimal: Direkt nach Apache-Start und nochmal
nach Anforderung zweier definierter Seiten, einer statischen und einer
SSI - wodurch die Speicherbelegung um ca. 20% zunimmt, obwohl alles fest
einkompiliert ist; das werden wohl dynamisch angeforderte Puffer sein
oder etwas was Ähnliches.)

Mit dem SunOS-Compiler wäre es auch ein Trauerspiel.
(Zum Glück hat hier der Admin ein GCC-package installiert.)
Naja, so das Gelbe vom Ei ist der auch nicht gerade ;-)

Was würdest Du mir empfehlen? (gcc 3.0.3, 2001-12-20 ... ?)

Viele Grüße
      Michael

0 58

we are connected ! ! ! ! ! ! ! ! ! ! ! ! ! !

Andreas
  • software
  1. 0
    Sven Rautenberg
    1. 0

      Ich hab's aber doch gesehen! ;o)

      Stonie
      • menschelei
    2. 0
      Christian Kruse
      1. 0
        Andreas
        1. 0
          Sven Rautenberg
          1. 0
            Andreas
            1. 0
              Marko
              1. 0
                Andreas
                1. 0
                  Christoph Zurnieden
                  1. 0
                    Andreas
                    1. 0
                      Christoph Zurnieden
        2. 0
          Christoph Zurnieden
          1. 0
            Andreas
            1. 0
              Andreas
              1. 0
                Christoph Zurnieden
                1. 0
                  Christian Kruse
                  1. 0
                    Christoph Zurnieden
                    1. 0
                      Christian Kruse
        3. 0
          Michael Schröpl
          1. 0
            Christoph Zurnieden
            1. 0
              Michael Schröpl
              1. 0
                Christian Kruse
                1. 0
                  Michael Schröpl
                  1. 0
                    Christian Kruse
                    1. 0
                      Michael Schröpl
                2. 0
                  Michael Schröpl
                3. 0
                  Christoph Zurnieden
                  1. 0
                    Christian Kruse
                    1. 0
                      Michael Schröpl
                      1. 0
                        Christoph Zurnieden
                        1. 0
                          Michael Schröpl
              2. 0
                Christoph Zurnieden
                1. 0
                  Michael Schröpl
                  1. 0
                    Christoph Zurnieden
                    1. 0
                      Michael Schröpl
                      1. 0
                        Christoph Zurnieden
                        1. 0
                          Michael Schröpl
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Michael Schröpl
                              1. 0
                                Christoph Zurnieden
                                1. 0
                                  Michael Schröpl
      2. 0
        Christoph Zurnieden
        1. 0
          Christian Kruse
          1. 0
            Christoph Zurnieden
            1. 0
              Christian Kruse
              1. 0
                Christoph Zurnieden
                1. 0
                  Christian Kruse
  2. 0
    Bio
    1. 0
      Christian Kruse
      1. 0
        Bio
      2. 0
        -RB-
        1. 0
          Christian Kruse
          1. 0
            -RB-
            1. 0
              Christian Kruse
  3. 0
    Ralf Rapude
  4. 0
    xwolf
  5. 0
    Andreas