Alle Programme nutzen dieselben Register, sofern sie auf demselben Kern laufen.

Vor einem Kontextwechsel werden u. a. alle Register gesichert, und danach wieder hergestellt. Deshalb sind Kontextwechsel auch so teuer und man sollte es mit Syscalls nicht übertreiben. (Das trifft also nicht nur zu, wenn der Scheduler mit Prozessen hantiert, sondern auch ständig im normalen Programmablauf.)

Beim Start passiert eine ganze Menge, aber grob gesagt wird die EXE in den Speicher gemappt, und das OS reserviert einen bestimmten Speicherbereich für Stack, Heap, usw. in Form von Speicherseiten.

Während der Laufzeit wird der sogenannte Program-Break oder Stack-Break immer dann angepasst, wenn das Programm mehr Speicher benötigt, als erwartet.

Du kannst aber theoretisch eine EXE mit Assembler zusammen popeln, die den Program-Break nicht anrührt und mit sehr wenig Speicher auskommt.

...zur Antwort

Naja, wenn man sich mal in der sog. Demoscene umguckt und sich ansieht, was die mit Assembler heraus holen, dann dürfte der Speicherplatz für die Binary auf weit unter ein Tausendstel sinken, was allerdings durch sehr hohen RAM-Verbrauch erkauft wird.

Die Geschwindigkeit kann man mit Unity gar nicht vergleichen, da liegen Welten, dazwischen.

Allerdings ist es mit Assembler alles andere als komfortabel ein Spiel zu entwickeln, und deshalb wird es auch in den meisten Fällen bei atemberaubenden Demos bleiben.

Allerdings kann man mit C++ durchaus Spieleengines schreiben, die teilweise der Assemblerprogrammierung überlegen sind, weil bei modernem C++ unglaublich viel zur Kompilierzeit vorausberechnet werden kann.

Außerdem hat man mit C++ wesentlich mehr Kontrolle über Speichermanagement, Prozesse und auch den Scheduler. Die Synchroniesierung dessen ist aber eine Kunst und stellt die Größte Hürde für aktuelle Spieleengines dar.

Bei Unity fehlt dieser Teil gänzlich, aber Unity ist auch wesentlich anfängerfreundlicher.

Richtig guten C++-Code zu schreiben ist eine hohe Kunst, und Assembler vermutlich noch viel mehr.

Da optimierter C++-Code aber im Schnitt mit Assembler gleich zieht, macht sich niemand (außer aus Spieltrieb bei z. B. oben genannten Demos) die Mühe.

...zur Antwort

Egal, ob mit Streams oder händisch per Schleifen: Wenn das am Ende auch performant laufen soll, wirst du nicht um eine eigens dafür entwickelte Datenstruktur herum kommen.

Ich würde eine TreeMap mit einer HashMap kombinieren, die eigene leichtgewichtige Wrapperobjekte halten, und zzgl. noch einen Bloomfilter mit einem TreeSet realisieren.

Das wird dann auch performant laufen, wenn du mehr als einige Tausend Wörter abspeicherst, ohne dass dir der Speicher wegläuft.

Google mal danach, wie man Such- oder Wortvorschläge in Java realisiert, wie z. B. bei einer Googlesuche oder in einer IDE. Das wird zu 100% dein Problem erschlagen, und du wirst sehen, dass du mit nur einer einzigen herkömmlichen Datenstruktur nicht weit iommen wirst.

Viel Spaß! :)

...zur Antwort
Das ist sinnvoll und ich würde das machen

Mache ich seit Jahrzehnten so!

...zur Antwort

Ist komplett anders, aber mit Javaerfahrung schaffste das locker.

...zur Antwort

Da bereits gleich mehrere klinische Studien am Menschen durchgeführt werden, und viele weitere für die nächsten paar Monate geplant sind, kannst du davon ausgehen, dass es gleich eine ganze Reihe an Impfstoffen geben wird, und nicht nur einen einzigen.

Kannst also ganz beruhigt sein! :)

...zur Antwort
Ich bin gegen "Black Lives Matter".

Bin mit meiner asiatischen Frau an einer Berliner BLM-Demo vorbei gekommen.

Sie wurde wiederholt an unterschiedlichen Stellen von den Demoteilnehmern mit "Corona" beschimpft und anderweitig beleidigt.

Erschreckend war, dass niemand der Umstehenden eingeschritten ist und sogar mitgelacht wurde.

Wir haben mit denen nicht ein Wort gewechselt und sind einfach kopfschüttelnd weiter gegangen.

Von daher halte ich von BLM gar nix, weil die mr einfach zu rassistisch sind.

...zur Antwort

Definier dir doch einfach ein paar Aliase! Das ist viel sauberer und komfortabler.

alias ehw='echo hello world'

Das kannst du irgendwo speichern (z. B. in ~/.profile) und hast dann immer Zugriff drauf.

...zur Antwort

Das habe ich hier vor vielen Jahren auf GF auch mal veröffentlicht. Damals noch mit anderem Useraccount. Hier ein Link zum damaligen Code des "Sortier-Algorithmus":

https://pastebin.com/PCZ5R3Bq

Es geht allerdings noch wesentlich lustiger bzw. kreativer! :)

...zur Antwort

Naja, Phobien haben relativ viele Leute, aber eine Nadelphobie, bei der man sich nicht mal zusammen reißen kann, ist sehr selten.

Es gibt Leute, die ekeln sich so sehr vor ihren Handgelenken, dass sie sich übergeben müssen, wenn sie diese auch nur angucken.

Von daher gucken die meisten Menschen natürlich komisch, wenn sie so etwas hören und können sich nicht darin hinein versetzen.

Damit wirst du wohl einfach leben müssen. Aber für deine Phobie können die Impfungen ja auch nichts. :)

...zur Antwort

Software, die relativ belanglose Dinge tut, muss natürlich nur neu kompiliert werden, und das war es dann auch.

Aber alles, was irgendwie hochoptimiert ist, nutzt oft an irgendeiner Stellle Assemblercode. Dazu zählt Software für Kryptografie (OpenSSL, GNUtls, etc.) genauso, wie Kompressionsprogramme (7zip) oder irgendwelche Codecs.

All diese Dinge haben die Eigenschaft, meist nicht in Form von Programmen an den Nutzer heran zu treten, sondern werden als Bibliotheken in Drittsoftware genutzt.

Und da liegt der Hase im Pfeffer! Wenn du ein Mailprogramm nutzt, wirst du irgendeine Art von TLS aus irgendeiner Bibliothek einsetzen wollen, und DIE hat dann garantiert Teile in Assemblercode.

Solche Assemblerteile haben normalerweise zwar eine portable Fallbackimplementiertung in der jeweiligen Programmiersprache, aber am Ende läuft die Software dann eben merklich langsamer und verbraucht mehr Energie, was zu mehr Abwärme der CPU führt und den Nutzer den Lüfter hören lässt.

Deshalb sollte man bei seiner Software darauf achten, dass alle genutzten Bibliotheeken Dritter sich auch auf ARM kompilieren lassen, und möglichst entsprechende Optimierungen mitbringen.

Das wird aber sicher sowieso zeitnah passieren. Ich sehe da eigentlich kein Problem. :)

...zur Antwort

Natürlich kann man auch Linux-Systeme hacken, so wie jedes andere System auch.

Und eine Art Trojaner würde auch unter Linux problemlos laufen, falls du darauf hinaus wolltest.

...zur Antwort

Allein für den Namen Yuki gibt es unzählige (fast 100) Schreibweisen, von denen weit über 10 absolut üblich sind.

Das gilt übrigens für fast alle japanischen Namen.

DIE korrekte Schreibweise gibt es deshalb nicht. :)

...zur Antwort