5 Punkte von GN⁺ 2023-07-04 | 1 Kommentare | Auf WhatsApp teilen
  • Fizz Buzz ist eine gängige Programmieraufgabe, die in Vorstellungsgesprächen gestellt wird.
  • Dieser Artikel stellt verschiedene FizzBuzz-Implementierungen in unterschiedlichen Programmiersprachen vor.
  • Der bislang höchste erreichte Durchsatz liegt in Assembler bei etwa 57,2 GiB/s.
  • Der Artikel bietet Build- und Nutzungsanweisungen für die Assembler-Implementierung.
  • Die Multithread-Version des Programms führte nicht zu einer nennenswerten Geschwindigkeitssteigerung.
  • Der Artikel hebt Herausforderungen und Optimierungen für leistungsstarke FizzBuzz-Implementierungen hervor.
  • Der Artikel behandelt ein AVX2-Assemblerprogramm, das den FizzBuzz-Algorithmus implementiert.
  • Das Programm verwendet ein Primorial-Format und den vmsplice-Systemaufruf für höhere Geschwindigkeit.
  • Das Programm enthält verschiedene Initialisierungsschritte und Routinen zum Schreiben von Fizz, Buzz und Zeilennummern.
  • Der Artikel erwähnt einen Bytecode-Interpreter, der fortlaufende FizzBuzz-Ausgaben erzeugt.
  • Das Bytecode-Programm wird mit SIMD-Befehlen interpretiert, um eine effiziente Verarbeitung zu ermöglichen.
  • Der Artikel behandelt bestimmte Codeabschnitte im Zusammenhang mit der Hauptschleife, die den Bytecode interpretiert und die Ausgabe erzeugt.
  • Der bereitgestellte Code ist ein Beitrag zu einer Programmier-Challenge zur Optimierung der FizzBuzz-Performance.
  • Der Code erreicht hohe Leistung und nutzt fortgeschrittene Techniken und Befehle.
  • Der Artikel behandelt ein C-Programm, das mit optimierten Techniken eine FizzBuzz-Sequenz erzeugt.
  • Der Code wurde von anderen Entwicklern weiter optimiert und zeigt noch bessere Leistung.
  • Der Artikel behandelt einen Codebeitrag, der JIT-Kompilierung verwendet, um schnelles FizzBuzz-Assembly zu erzeugen.
  • Diese Implementierung enthält einen Präprozessor und vektorisierten C-Code für eine effiziente Ausgabe.
  • Der Code wurde optimiert und auf verschiedenen Systemen getestet, um bessere Leistung als frühere Beiträge zu erzielen.
  • Der Artikel behandelt eine C-Code-Implementierung, die AVX2-Befehle zur Optimierung verwendet.
  • Die Implementierung enthält einen JIT-Compiler und erreicht hohe Geschwindigkeit sowie effiziente Speichernutzung.
  • Der Artikel bietet eine Rust-Implementierung, um die Geschwindigkeit von FizzBuzz zu demonstrieren.
  • Die Rust-Implementierung verwendet effiziente Integer-zu-String-Konvertierung und Code-Chunk-Techniken.
  • Der Artikel behandelt ein C-Programm, das FizzBuzz mit fortgeschrittenen Techniken und Optimierungen implementiert.
  • Das Programm wurde so entworfen, dass es schneller als alle anderen läuft, und enthält Erläuterungen sowie Code-Snippets.
  • Der Autor gibt Tipps und Warnungen zur Verwendung des vmsplice-Systemaufrufs und enthält ein Testmodul.
  • Der Text enthält Code-Snippets zu einer Funktion namens fizzbuzz, die die Ausgabe effizient erzeugt.

1 Kommentare

 
GN⁺ 2023-07-04
Hacker-News-Kommentare
  • Linux ist ein beeindruckendes Systemarchitektur-Design, da es Daten, die von einem Programm an ein anderes gepiped werden, vollständig im L2-Cache halten kann.
  • Der Autor des Artikels diskutiert mit einer Person, die das Programm nicht ausführt, in aufwendigen Kommentaren und löst dabei ein Problem im Zusammenhang mit ASLR.
  • Die Performance der FizzBuzz-Implementierung in Rust ist unerwartet und liegt auf einem ähnlichen Niveau wie Python 3.
  • Wenn man Code in Assembler schreibt, kann man alles schneller machen.
  • Die Bewertung der Geschwindigkeit beim Lösen komplexer Probleme ist fehlerhaft, weil sie hauptsächlich die Effizienz von Memory-Reads und der Übertragung zwischen Prozessen testet.
  • Der Einsatz von vmsplice gewährt anderen Prozessen Zugriff auf den Speicher eines Prozesses und entspricht daher möglicherweise nicht den Wettbewerbsanforderungen.
  • Die Bedeutung von ".S" und ".s" bei Dateierweiterungen wird fragwürdig.
  • Java ist im Vergleich zu anderen Sprachen wie C, C++, Assembler, Go und Rust überraschend schnell.