pl: Feiertage Beta

Beitrag lesen

problematische Seite

Ich bin mir noch nicht ganz sicher ob ich INI nicht die irgendwie nach json "compiliere"

Compilieren ja, aber JSON ist auch nicht performanter im Serialisieren. Wenn Du was wirklich Schnelles haben willst, serialisiere byteorientiert auf Low-Level. Mit untenstehendem Algorithmus (den ich auch irgendwo in PHP habe) liest mein FW den gesamten Content (derzeit ca. 300 Einzelseiten) aus einer Bytesequenz mit ca. 1 MB, das geht ratz fatz. Die Datenstruktur ist nach dem Muster Entity-Attribute-Value, was genauso auch zu einer ini-Datei passt.

Evntl. sparst Du Dir aber auch den Umweg über die ini und baust Dir gleich ein Backend für die Binary.


package EAVHandle;

use strict;
use warnings;

sub handle2eav{
    my $pkg = shift;
    my $fh = shift;
    seek $fh,0,0;
    
    my %eav = ();
    while( read($fh, my $buffer, 12)){
        my($elen, $alen, $vlen) = unpack "NNN", $buffer;
        read($fh, my $ent, $elen);
        read($fh, my $att, $alen);
        read($fh, my $val, $vlen);
        $eav{$ent}{$att} = $val;
    }
    
    return \%eav;
}

sub eav2str{
    my $pkg = shift;
    my $ref = shift;
    my $CONTENT = '';
    foreach my $ent(keys %{$ref}){
        foreach my $att(sort {$b cmp $a} keys %{$ref->{$ent}}){
            my $val = $ref->{$ent}{$att} || '';
            $CONTENT .= pack("NNN", length $ent, length $att, length $val).$ent.$att.$val;
        }
    }
    return $CONTENT;
}

sub eav2handle{
    my $pkg = shift;
    my $ref = shift;
    my $fh  = shift;
    seek($fh,0,0);
    truncate($fh,0);
    

    foreach my $ent(keys %{$ref}){
        foreach my $att(sort {$b cmp $a} keys %{$ref->{$ent}}){
            my $val = $ref->{$ent}{$att} || '';
            $fh->print( pack("NNN", length $ent, length $att, length $val).$ent.$att.$val );
        }
    }
}

1;
0 91

Feiertage Beta

Tagwächter
  • php
  • seitenbewertung
  1. 0
    MudGuard
    1. 0
      Tagwächter
      1. 0
        Matthias Apsel
        1. 0
          Tagwächter
          1. 0
            Matthias Apsel
          2. 0
            dedlfix
            1. 0
              Tagwächter
              1. 0
                dedlfix
        2. 0
          Tagwächter
          1. 0
            Matthias Apsel
            • php
            1. 0
              Google weiß alles
        3. 0
          Auge
          • menschelei
    2. 0
      Tagwächter
    3. 0
      Tagwächter
      1. 0
        MudGuard
        1. 0
          Der Martin
          1. 1
            MudGuard
            1. 0
              Der Martin
              1. 0
                Tagwächter
        2. 0
          Google weiß alles
  2. 0
    TS
    1. 0
      Tagwächter
  3. 0
    pl
    1. 0
      Tagwächter
      1. 0
        pl
        1. 0
          1unitedpower
          • humor
          • performance
          1. 0

            Komplexe Arrays/Hashs wegschreiben und Lesen - heute: var_dump()

            Google weiß alles
            • performance
            • php
            1. 0

              Komplexe Arrays/Hashs wegschreiben und Lesen - heute: var_export()

              Google weiß alles
              1. 0
                1unitedpower
                1. 0
                  Google weiß alles
                2. 0

                  Feiertage (BETA)

                  Tagwächter
          2. 0
            pl
            1. 0
              1unitedpower
            2. 0

              Schneller Test

              Google weiß alles
              1. 0

                Schneller Test (Fazit)

                Google weiß alles
          3. 0
            pl
            1. 0
              Christian Kruse
              1. 0
                Google weiß alles
                1. 0
                  hausl
                  1. 0
                    Google weiß alles
      2. 0
        TS
        • php
        • projekt
  4. 0
    Rolf b
    1. 0
      Tagwächter
      1. 0
        Rolf b
        1. 0
          Tagwächter
        2. 0
          Tagwächter
          1. 0
            pl
            1. 0
              Google weiß alles
  5. 0
    TS
    • php
    • projekt
    1. 0
      Tagwächter
    2. 0
      Tagwächter
  6. 0
    mermshaus
    1. 0
      Tagwächter
      1. 0

        Allfällige Korrektur

        Tagwächter
      2. 0
        mermshaus
      3. 1
        hausl
      4. 1
        hausl
        1. 0
          Der Martin
          1. 0
            Google weiß alles
            1. 0
              hausl
          2. 0
            hausl
            1. 0
              Der Martin
              1. 0
                Google weiß alles
              2. 0
                hausl
            2. 0
              Tabellenkalk
              • feiertag
              1. 0
                Google weiß alles
              2. 0
                Der Martin
              3. 0
                hausl
                1. 0
                  Google weiß alles
                  1. 0
                    hausl
                    1. 0
                      Google weiß alles
                      1. 0
                        hausl
                  2. 0
                    Google weiß alles
                    1. 0
                      hausl
                      1. 0
                        Der Martin
                  3. 0
                    Der Martin
                    1. 0
                      Google weiß alles
                2. 0
                  Tabellenkalk
                  1. 0
                    hausl
                    1. 0
                      Tabellenkalk
                      1. 0
                        hausl
        2. 0
          Google weiß alles
          1. 0
            hausl
            1. 0
              Google weiß alles
      5. 2
        hausl
        1. 0

          Feiertage Beta - Neue Versionsnummer: 0.4

          Google weiß alles
          1. 0

            Feiertage Beta - Neue Versionsnummer: 0.6

            Google weiß alles
            1. 0

              Feiertage Beta - Neue Versionsnummer: 0.7

              Tagwächter
  7. 0
    pl
    1. 0
      Google weiß alles