Das Launix-Ökosystem baut sehr stark auf OpenSource auf. Launix ist ein Verfechter freier Software und unterstützt die Community auch, indem es Code zurückgibt.
Vorgestellt: die MPDF-Bibliothek (GPL 2.0)
PDFs sind das Rückgrat unserer heutigen Verwaltung. Auch wenn das Papier irgendwann aussterben wird: Das DIN A4 Format mit seinen standardisierten Maßen mit weißem Hintergrund und schwarzer Schrift wird uns im Geschäftsleben wohl noch eine Weile begleiten.
Umso wichtiger ist da ein vernünftiges Layouting der hübschen Angebote und Rechnungen. Ein Problem bereitet dabei vielen Officeworkern immer wieder Kopfzerbrechen: Elegante Zeilenumbrüche bei komplexen Dokumenten und Tabellen in Dokumenten.
Die MPDF-Bibliothek ist eine PHP-Programmierbibliothek, die Dokumente in der Auszeichnungssprache HTML in druckbare PDFs umwandelt. Wir als Launix haben den Code dazu beigetragen, dass der <tr>
-Tag auch die CSS-Attribute page-break-before: avoid;
und page-break-after: avoid;
beherrscht.
Den Pull Request für diese Änderung kann man hier betrachten:
https://github.com/mpdf/mpdf/pull/2004
Wir hoffen, dass unsere Änderung im nächsten MPDF-Release mit aufgenommen wird.
Vorgestellt: MemCP (GPL 3.0)
Datenbanken sind das Rückgrat einer datengetriebenen Gesellschaft. Sie sind längst nicht nur Speicher für Daten, sondern bieten an Bord auch die notwendigen Hilfsmittel, um Daten zu suchen, zu finden und zu analysieren.
Gerade diese Datenanalyse wird immer wichtiger und Datenbanken werden normalerweise umso langsamer, je mehr Daten sie beherbergen. Nicht so die MemCP – die spaltenbasierte hauptspeicherresidierende In-Memory-Datenbank kann mit der Anzahl der CPU-Kerne und dem RAM mitskalieren. Auf großen Mainframes sind das auch mal mehrere tausend Kerne und Terabytes an RAM.
Launix bzw. der Gründer Carl-Philip Hänsch ist der Mitinitiator des MemCP-Projekts und hat über die Osterfeiertage einen neuen Low-Level-Optimierer implementiert, der die Algorithmen in der Datenbank um bis zu 100% beschleunigt. Angewendete Techniken sind dabei:
- Vorbereitung der JIT-Kompilierung durch ein Compiler-Interface
- Wiederbenutzung von Stackframes je Single-Core Kontext
- Herausziehen von Speicherallokationen aus Schleifen
- In Lambdas: Transformation von benannten Variablen in nummerierte Variablen
- Listen-Literale optimiert
- Precaching von Systemfunktionen
Die MemCP hilft dabei, große Datenmengen auszuwerten und Statistiken in Echtzeit anzuzeigen, während nebenher das ERP in den Daten unterbrechungsfrei schreiben kann.
Comments are closed