Struppi: Mein erstes kleines Modülchen... und Grundsatzfragen!

Beitrag lesen

Sind Hashes denn so viel weniger performant? Ich arbeite gerne mit Hashes... ;)
Absolut, dir muss klar sein, dass die Schlüssel immer Strings sind, die bei jeder Operation verglichen werden müssen und Stringvergleiche sind immer langsamer als Zahlenvergleiche.

Auch, wenn die Hash-Schlüssel, wie bei mir, Zahlen sind? Ich habe mich informiert und das hier gefunden: http://www.perlmonks.org/?node_id=630227. Im vorletzten Posting scheint die Hash-Iteration schneller zu sein.

Ja sie sind schneller, wenn du das Array nicht durchsuchen musst. Hier geht es ja um den Zugriff auf den Key bzw. auf den Index, da ist das Array vorzuziehen.

Denn für die gewünschte Internationalisierung (falls ich sie je realisiere, denn sonst kann ich gleich Date::Calc/Pcalc einsetzen und spare mir die Arbeit), schwebt mir, im Gegensatz zur rein arraybasierten Lösung von Date::Pcalc, eher ein HoA vor. Dafür hätte ich zwei Varianten (am beispiel von %monthnames):

%monthnames = (
         0 => ["January", "Januar", "Janvier"],
         1 => ["February", "Februar", "Février"],
         ...
         };

das ist was anderes und da würde ich dann auch lesbarere Keys verwenden.

in etwa so:

%monthnames = {  
de => [...],  
en => [...]  
};  

mit dem Aufruf deutscher Monatsnamen in der Form $monthnames{$lmon}->[1], oder:

$monthnames{$lang}->[$month];

Das Und-Zeichen sieht unschön, finde ich.

Unschön vielleicht, eine Unterscheidungshilfe ist es aber schon, finde ich.

Wenn dir das ->() nicht reicht?

----------------- Grundstazfragen zu Modulen -----------

Solele, diesen Bereich trenne ich etwas ab, ist er doch eher allgemeiner Natur.

1.) In Calc.pm (Date::Calc) steht folgende Zeile, was bedeutet sie?

bootstrap Date::Calc $VERSION;

Das gehört zu DynaLoader

2.) Spielt es in der Performance eine Rolle, wenn ich bereitgestellte
    Variablen oder Methoden mit qw/:all/ importiere, oder ist es in
    dieser Hinsicht besser, nur die Methoden zu importieren, die im
    aufrufenden Skript wirklich gebraucht werden? Denn so oder so,
    geladen wird das Modul eh komplett, sobald es mit use eingebunden
    ist - bei Date::Pcalc sind es inklusive Pod-Doku 3838 Zeilen (107KB).

Frag Hotte wie aufwendig die Datumsberechung ist, Date::Calc kann ja ein Haufen andere Sachen.

Wegen der Performance wird das keine grosse Rolle spielen, beim Exportieren geht es eher um die "Verschmutzung" des Namensraums, je mehr du exportierst umso größer wird die Chance das du mit deinen eigenen Variabeln in Konflikt kommst.

Struppi.

0 69

Mein erstes kleines Modülchen...

Patrick Andrieu
  • perl
  1. 0
    Cheatah
    1. 0
      Patrick Andrieu
      1. 0
        Cheatah
        1. 0
          Patrick Andrieu
    2. 0
      Patrick Andrieu
      1. 0
        Patrick Andrieu
  2. 0
    hotti
  3. 0
    hotti
    1. 0
      Patrick Andrieu
  4. 0
    Adolf
    1. 0
      Patrick Andrieu
      1. 0
        Adolf
        1. 0
          Patrick Andrieu
  5. 0
    Beat
    1. 0
      Patrick Andrieu
  6. 0
    Struppi
    1. 0
      Patrick Andrieu
      1. 0
        Struppi
        1. 0

          Mein erstes kleines Modülchen... und Grundsatzfragen!

          Patrick Andrieu
          1. 0
            Struppi
            1. 0
              Patrick Andrieu
  7. 0

    Mein erstes (nicht mehr so kleines) Modülchen...

    Patrick Andrieu
    1. 0
      Beat
      1. 0

        Anhang

        Beat
        1. 0
          Skrilax
          1. 0
            Beat
            1. 0
              Struppi
              1. 0
                Struppi
              2. 0
                Beat
                1. 0
                  Struppi
                  1. 0
                    Beat
                    1. 0
                      Struppi
                      1. 0
                        Beat
                        1. 0
                          Struppi
                          1. 0
                            Siechfred
                            1. 0
                              Struppi
                              1. 0
                                Siechfred
                          2. 0
                            Beat
                            1. 0
                              Struppi
      2. 0
        Patrick Andrieu
    2. 0
      Christoph
      1. 0
        Patrick Andrieu
        1. 0
          Christoph
          1. 0
            Patrick Andrieu
    3. 0
      Siechfred
      1. 0
        Patrick Andrieu
        1. 0
          Patrick Andrieu
          1. 0
            Tim Tepaße
        2. 0
          Harlequin
        3. 0
          Tim Tepaße
          1. 0
            Patrick Andrieu
            1. 0
              at
              1. 0
                Patrick Andrieu
                1. 0
                  at
            2. 0
              Tim Tepaße
              1. 0
                Patrick Andrieu
              2. 0

                Date::Today released and with POD

                Patrick Andrieu
                1. 0
                  Christoph
                  1. 0
                    Patrick Andrieu
  8. 0

    Kritik und Regel für Wochenzählung

    Patrick Andrieu
    1. 0
      Patrick Andrieu
      1. 0
        at
        1. 0
          Patrick Andrieu
    2. 0
      Patrick Andrieu
      1. 0
        Beat
        1. 0
          Patrick Andrieu
          1. 0
            Beat
            1. 0
              Patrick Andrieu