In meinem letzten Artikel zum Thema dWb+ beschrieb ich ein neues Feature der Lösung - nunmehr wende ich mich einer wichtigen nichtfunktionalen Anforderung zu
Ich habe in den letzten Wochen - nicht nur - wegen der diversen neuen Features, die bereits veröffentlicht wurden und sich noch in der Entwicklung befinden viele Eindrücke zur (gefühlten) Performance der Anwendung gewonnen.
Generell waren die Eindrücke eher negativ - besonders das Laden von Workspaces war für den Benutzer keine optimale Erfahrung: Nach Instantiierung des ersten Moduls schien die Anwendung lange zu pausieren, ehe die nächsten Module auf der Arbeitsfläche erschienen. Auch der Fortschrittsdialog wurde in dieser Zeit nicht aktualisiert.
Ich wollte dieses Problem lösen und installierte daher einige Messpunkte im Startablauf, die ein detailliertes Profiling erlauben sollten. Der Einbau und die anschließende Analyse benötigte knappe anderthalb Stunden - anschließend konnte ich die Ursache bereits so weit eingrenzen, dass ich in der Lage war, einen schnellen Workaround zu erstellen, der das Performancebottleneck für den Nutzer unsichtbar machte.
Nach weiteren Tests am nächsten Tag war klar, dass der initiale Verdacht korrekt war: Die verstärkte Nutzung von Reflection für die Erstellung der Parameter-Dialoge für Module, die keine dedizierte GUI mitbringen war die Wurzel allen Übels. Ich lagerte diese Funktionalität in Hintergrund-Threads aus und damit erscheint das Laden eines Workspace für den Nutzer flüssig.
Natürlich wurden alle Tests durchgeführt und bestätigten, dass durch diese Änderung keine bestehende Funktionalität beeinträchtigt wurden.
Precision Time Protocol
15.10.2021
Durch meinen Neffen wurde ich neulich auf ein Video im Internet aufmerksam gemacht, aus dem ich von der Existenz des Protokolls PTP oder Precision Time Protocol erfuhr. Hier einige Gedanken dazu
WeiterlesenAI und ML Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Hardware Java Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Als ich diese Lösung zur Darstellunbg und Analyse von beliebigen strukturierten Daten fand (das Beispiel erledigt das für ASN.1 kodierte Informationen), fasste ich den Entschluss, dass ich eine entsprechende Komponente in Java realisieren wollte.
WeiterlesenEine neue Version der sQLshell ist verfügbar!
WeiterlesenEin Influenzer würde einen solchen Artikel beginnen mit "Ich werde immer wieder gefragt, warum..." Da ich keiner bin kann ich so etwas nicht tun – statt dessen erläutere ich einfach das Szenario: Ich pflege diverse Open Source Projekte, die sich mit PKI und kryptographischen Timestamps. Jedoch benutzt die sQLshell elektronische Signaturen nur für die Verteilung der diversen Plugins.
WeiterlesenManche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.