Thread Perl-Modul EavFile soll EavFile::XS werden
(32 answers)
Opened by rosti at 2013-06-12 19:42 Quote In c ist IO um ein Vielfaches schneller als in Perl. Das ergibt ein Benchmark. Das wissen wir schon. Für mich als Entwickler von Serialize-Algorithmen ist das ein Motiv, den auf meiner Seite vorgestellten Algorithmus nach c umzusetzen. In meinem Artikel über die Implementierung des Entity-Attribute-Value-Model mit diesem Algorithmus schreibe ich auch, warum es in der Datei redundante Daten gibt: Beim Einlesen der Bytes baut sich der Hash of Hashes sozusagen wie von selbst wieder zusammen. Zum Vergleich ein anderer Algorithmus, den ich vor ein paar Jahren entwickelt habe: Hierbei wird for each Entity erst die Anzahl der Attribute ermittelt und dann als Key-Value-Pair geschrieben. Das erfordert natürlich mehr CPU im Serialize- bzw. Deserialize-Prozess, einen weiteren Schleifenkörper und mehr IO (diesen anderen Algorithmus könnt Ihr in der Foo 3/2011 nachlesen, danke René, http://rolfrost.de/proglog.html?d=20110404 ). Anwendungsfälle für EAV kennt jeder Programmierer. Pivot-Tabellen passen übrigens auch auf dieses Model, der Drehpunkt ist das Attribut. Und selbstverständlich passen EAV-Patterns auch auf Objekte, sowie Konfigurationsdateien im INI-Format. --Rosti PS: http://shop.handwerkzeugs.de/shop.de.html Sieht einfach aus, der Shop. Was dahinter steckt ist EAV über DBI (MySQL). Offer ist EAV, Konfiguration ist EAV. Last edited: 2013-06-14 23:44:16 +0200 (CEST) |