Themabewertung:
  • 4 Bewertung(en) - 3.5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Engineering der NLT II
(20.11.2025, 05:59)llm schrieb: ohne die Info von dir mit "Die Originalimplementierung dieser Funktion hat mit GCC/Clang falsche Werte geliefert." war einfach nicht klar warum dich diese kleine Routine so interessiert :)

d.h. du hast das für 32/64bit gefixt aber weils im BCC eh ohne Optimierung gebaut wurde hatte der Fehler in der DOS Exe nie Auswirkungen?

zu deinem Benchmark

...

aber es zeigt auf jeden Fall wie gut die Optimizer arbeiten können

Ziel des Tests war herauszufinden wie gut die Compiler optimieren. Wenn die Schleife aus der main()-Funktion wegoptimiert wird, passt es.

Die Funktion swap_u32() ist mir im Charaktergenerator schon aufgefallen.
Damals hatte ich diese Idee für den Test. Gestern gab's dann auch einen echten Grund das zu fixen.
Performance steht da nicht im Vordergrund, dafür wird diese Funktion zu selten aufgerufen.

Hab am Wochenende auf Debian 13 aktualisiert: GCC 14.2.0, Clang 19.1.7 läuft hervorragend.


(20.11.2025, 06:19)cmfrydos schrieb: Aber eigentlich will man hier ja doch, dass der Compiler am Ende wieder ein bswap im Assembler erzeugt, oder?
__builtin_bswap32 (GCC/Clang) bzw. _byteswap_ulong (MSVC) dürften daher die schnellste und, im Gegensatz zu Inline-Asm, plattformunabhängigere Variante sein.

Nicht ganz. Mir geht es bei BrightEyes darum möglichst nah am Original zu bleiben und portablen und korrekten Code zu erzeugen.
Die builtins halte ich bei performancekritischer Software für das Mittel der Wahl, aber es zieht im Nachgang für mehrere Compiler Präprozessor-ifdef-Orgien nach sich.
Das muss nicht sein.

(20.11.2025, 06:26)llm schrieb: wäre interessant ob der "-fsanitize=undefined" das aufzeigt - ich denke ein Coverity hätte das auch bemängelt

Nur zur Info: Der Address-Sanitizer funktioniert bei mir mit GCC auf dem Raspi2 nicht. Da fehlen scheinbar hardwareseitig atomic_load/store und compare_exchange Instruktionen.
Zitieren


Nachrichten in diesem Thema
Reverse Engineering der NLT II - von Crystal - 28.06.2017, 15:52
RE: Reverse Engineering der NLT II - von Shihan - 28.06.2017, 18:33
RE: Reverse Engineering der NLT II - von aeyol - 29.06.2017, 10:01
RE: Reverse Engineering der NLT II - von Shihan - 19.07.2017, 11:51
RE: Reverse Engineering der NLT II - von Shihan - 20.07.2017, 09:50
RE: Reverse Engineering der NLT II - von Wetzer - 02.08.2017, 21:25
RE: Reverse Engineering der NLT II - von Mirko - 02.10.2017, 17:38
RE: Reverse Engineering der NLT II - von Shihan - 03.10.2017, 10:57
RE: Reverse Engineering der NLT II - von Mirko - 03.10.2017, 13:58
RE: Reverse Engineering der NLT II - von Mirko - 04.10.2017, 18:04
RE: Reverse Engineering der NLT II - von Mirko - 07.10.2017, 23:01
RE: Reverse Engineering der NLT II - von Mirko - 08.10.2017, 10:39
RE: Reverse Engineering der NLT II - von Mirko - 10.10.2017, 08:22
RE: Reverse Engineering der NLT II - von gaor - 10.10.2017, 08:55
RE: Reverse Engineering der NLT II - von Shihan - 10.10.2017, 10:17
RE: Reverse Engineering der NLT II - von Mirko - 10.10.2017, 18:46
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 15:43
RE: Reverse Engineering der NLT II - von gaor - 14.10.2017, 17:37
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 18:01
RE: Reverse Engineering der NLT II - von gaor - 14.10.2017, 18:28
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 19:13
RE: Reverse Engineering der NLT II - von Mirko - 15.10.2017, 21:09
RE: Reverse Engineering der NLT II - von Mirko - 27.10.2017, 22:03
RE: Reverse Engineering der NLT II - von Shihan - 28.10.2017, 12:31
RE: Reverse Engineering der NLT II - von Mirko - 28.10.2017, 17:32
RE: Reverse Engineering der NLT II - von Mirko - 02.11.2017, 20:08
RE: Reverse Engineering der NLT II - von Mirko - 02.11.2017, 23:57
RE: Reverse Engineering der NLT II - von Wetzer - 20.12.2017, 02:33
RE: Reverse Engineering der NLT II - von Shihan - 20.12.2017, 10:42
RE: Reverse Engineering der NLT II - von Shihan - 20.12.2017, 12:05
RE: Reverse Engineering der NLT II - von gaor - 22.03.2018, 15:07
RE: Reverse Engineering der NLT II - von gaor - 22.03.2018, 19:55
RE: Reverse Engineering der NLT II - von gaor - 23.03.2018, 00:02
RE: Reverse Engineering der NLT II - von gaor - 23.03.2018, 23:38
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 09:33
RE: Reverse Engineering der NLT II - von Hindro - 24.03.2018, 16:55
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 17:42
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 19:37
RE: Reverse Engineering der NLT II - von Hindro - 24.03.2018, 23:34
RE: Reverse Engineering der NLT II - von Shihan - 26.03.2018, 10:13
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 12:33
RE: Reverse Engineering der NLT II - von Shihan - 26.03.2018, 12:47
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 18:36
RE: Reverse Engineering der NLT II - von Hindro - 26.03.2018, 20:51
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 22:48
RE: Reverse Engineering der NLT II - von Hindro - 27.03.2018, 10:13
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 11:08
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 13:28
RE: Reverse Engineering der NLT II - von Hindro - 27.03.2018, 15:33
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 17:38
RE: Reverse Engineering der NLT II - von Mirko - 27.03.2018, 20:20
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 12:18
RE: Reverse Engineering der NLT II - von aeyol - 31.03.2018, 12:26
RE: Reverse Engineering der NLT II - von Shihan - 31.03.2018, 13:34
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 15:19
RE: Reverse Engineering der NLT II - von Shihan - 01.04.2018, 16:51
RE: Reverse Engineering der NLT II - von gaor - 31.03.2018, 16:42
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 17:00
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 20:24
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 20:33
RE: Reverse Engineering der NLT II - von Hindro - 01.04.2018, 12:44
RE: Reverse Engineering der NLT II - von Hindro - 01.04.2018, 21:45
RE: Reverse Engineering der NLT II - von Shihan - 02.04.2018, 18:48
RE: Reverse Engineering der NLT II - von Shihan - 18.04.2018, 14:49
RE: Reverse Engineering der NLT II - von gaor - 18.04.2018, 15:28
RE: Reverse Engineering der NLT II - von Shihan - 18.04.2018, 16:59
RE: Reverse Engineering der NLT II - von aeyol - 18.04.2018, 19:18
RE: Reverse Engineering der NLT II - von Mirko - 18.04.2018, 19:37
RE: Reverse Engineering der NLT II - von Shihan - 19.04.2018, 09:35
RE: Reverse Engineering der NLT II - von Shihan - 20.04.2018, 10:08
RE: Reverse Engineering der NLT II - von Tobi - 21.04.2018, 10:59
RE: Reverse Engineering der NLT II - von Shihan - 22.04.2018, 11:33
RE: Reverse Engineering der NLT II - von gaor - 23.04.2018, 14:25
RE: Reverse Engineering der NLT II - von Shihan - 23.04.2018, 15:49
RE: Reverse Engineering der NLT II - von gaor - 25.04.2018, 21:44
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 13:18
RE: Reverse Engineering der NLT II - von Shihan - 25.04.2018, 14:59
RE: Reverse Engineering der NLT II - von gaor - 26.04.2018, 08:09
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 14:41
RE: Reverse Engineering der NLT II - von gaor - 26.04.2018, 17:42
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 18:37
RE: Reverse Engineering der NLT II - von Shihan - 27.04.2018, 10:51
RE: Reverse Engineering der NLT II - von gaor - 27.04.2018, 11:11
RE: Reverse Engineering der NLT II - von Shihan - 27.04.2018, 11:26
RE: Reverse Engineering der NLT II - von gaor - 27.04.2018, 12:48
RE: Reverse Engineering der NLT II - von aeyol - 30.04.2018, 11:45
RE: Reverse Engineering der NLT II - von Shihan - 06.07.2018, 09:08
RE: Reverse Engineering der NLT II - von gaor - 12.07.2019, 09:49
RE: Reverse Engineering der NLT II - von gaor - 12.07.2019, 15:48
RE: Reverse Engineering der NLT II - von Shihan - 24.07.2019, 09:22
RE: Reverse Engineering der NLT II - von aeyol - 16.03.2020, 13:12
RE: Reverse Engineering der NLT II - von Shihan - 17.03.2020, 09:07
RE: Reverse Engineering der NLT II - von Shihan - 17.03.2020, 16:33
RE: Reverse Engineering der NLT II - von gaor - 17.01.2021, 16:08
RE: Reverse Engineering der NLT II - von gaor - 17.01.2021, 16:44
RE: Reverse Engineering der NLT II - von gaor - 22.01.2021, 12:58
RE: Reverse Engineering der NLT II - von gaor - 23.01.2021, 13:54
RE: Reverse Engineering der NLT II - von gaor - 24.01.2021, 18:13
RE: Reverse Engineering der NLT II - von gaor - 24.01.2021, 20:44
RE: Reverse Engineering der NLT II - von aeyol - 26.01.2021, 22:41
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 12:40
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 14:43
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 18:00
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 20:22
RE: Reverse Engineering der NLT II - von gaor - 08.02.2021, 21:25
RE: Reverse Engineering der NLT II - von gaor - 09.02.2021, 20:22
RE: Reverse Engineering der NLT II - von gaor - 12.02.2021, 10:10
RE: Reverse Engineering der NLT II - von gaor - 12.02.2021, 10:54
RE: Reverse Engineering der NLT II - von gaor - 14.02.2021, 14:45
RE: Reverse Engineering der NLT II - von gaor - 15.02.2021, 21:08
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 11:01
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 14:40
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 22:37
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 12:07
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 17:10
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 22:28
RE: Reverse Engineering der NLT II - von gaor - 18.04.2021, 07:47
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 08:52
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 18:38
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 20:54
RE: Reverse Engineering der NLT II - von NRS - 27.04.2021, 10:10
RE: Reverse Engineering der NLT II - von NRS - 27.04.2021, 13:21
RE: Reverse Engineering der NLT II - von aeyol - 01.03.2023, 19:03
RE: Reverse Engineering der NLT II - von Shihan - 02.03.2023, 13:07
RE: Reverse Engineering der NLT II - von Shihan - 05.03.2023, 12:18
RE: Reverse Engineering der NLT II - von Shihan - 07.03.2023, 20:38
RE: Reverse Engineering der NLT II - von Shihan - 18.03.2023, 12:30
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 12:43
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 16:11
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 16:36
RE: Reverse Engineering der NLT II - von Shihan - 30.03.2023, 14:03
RE: Reverse Engineering der NLT II - von Luigi - 11.04.2023, 23:40
RE: Reverse Engineering der NLT II - von aeyol - 01.11.2023, 20:57
RE: Reverse Engineering der NLT II - von aeyol - 01.11.2023, 22:44
RE: Reverse Engineering der NLT II - von aeyol - 02.11.2023, 15:23
RE: Reverse Engineering der NLT II - von aeyol - 03.11.2023, 10:50
RE: Reverse Engineering der NLT II - von aeyol - 03.11.2023, 11:17
RE: Reverse Engineering der NLT II - von Shihan - 28.07.2024, 10:58
RE: Reverse Engineering der NLT II - von Shihan - 28.07.2024, 13:59
RE: Reverse Engineering der NLT II - von Shihan - 28.07.2024, 19:45
RE: Reverse Engineering der NLT II - von Shihan - 29.07.2024, 10:01
RE: Reverse Engineering der NLT II - von Shihan - 05.08.2024, 09:51
RE: Reverse Engineering der NLT II - von llm - 10.08.2025, 10:56
RE: Reverse Engineering der NLT II - von llm - 11.08.2025, 07:24
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 11:39
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 13:59
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 16:18
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 18:36
RE: Reverse Engineering der NLT II - von llm - 13.08.2025, 07:30
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 20:26
RE: Reverse Engineering der NLT II - von llm - 14.08.2025, 07:09
RE: Reverse Engineering der NLT II - von llm - 14.08.2025, 10:01
RE: Reverse Engineering der NLT II - von llm - 14.08.2025, 15:06
RE: Reverse Engineering der NLT II - von llm - 15.08.2025, 07:03
RE: Reverse Engineering der NLT II - von llm - 16.08.2025, 15:23
RE: Reverse Engineering der NLT II - von llm - 16.08.2025, 15:27
RE: Reverse Engineering der NLT II - von llm - 16.08.2025, 19:59
RE: Reverse Engineering der NLT II - von llm - 18.08.2025, 07:30
RE: Reverse Engineering der NLT II - von llm - 19.08.2025, 07:01
RE: Reverse Engineering der NLT II - von llm - 19.08.2025, 13:07
RE: Reverse Engineering der NLT II - von llm - 19.08.2025, 13:16
RE: Reverse Engineering der NLT II - von llm - 27.08.2025, 18:29
RE: Reverse Engineering der NLT II - von Shihan - 27.08.2025, 19:29
RE: Reverse Engineering der NLT II - von Shihan - 31.08.2025, 10:18
RE: Reverse Engineering der NLT II - von llm - 01.09.2025, 09:30
RE: Reverse Engineering der NLT II - von Shihan - 01.09.2025, 10:03
RE: Reverse Engineering der NLT II - von Shihan - 02.09.2025, 08:58
RE: Reverse Engineering der NLT II - von llm - 02.09.2025, 11:27
RE: Reverse Engineering der NLT II - von Shihan - 02.09.2025, 12:05
RE: Reverse Engineering der NLT II - von llm - 05.09.2025, 13:18
RE: Reverse Engineering der NLT II - von llm - 11.09.2025, 07:07
RE: Reverse Engineering der NLT II - von Shihan - 16.09.2025, 09:13
RE: Reverse Engineering der NLT II - von Shihan - 30.09.2025, 08:47
RE: Reverse Engineering der NLT II - von Shihan - 15.10.2025, 09:21
RE: Reverse Engineering der NLT II - von Shihan - 15.10.2025, 09:34
RE: Reverse Engineering der NLT II - von Shihan - 15.10.2025, 11:34
RE: Reverse Engineering der NLT II - von llm - 17.10.2025, 09:11
RE: Reverse Engineering der NLT II - von Shihan - 15.10.2025, 12:46
RE: Reverse Engineering der NLT II - von llm - 17.10.2025, 14:36
RE: Reverse Engineering der NLT II - von Shihan - 20.10.2025, 09:44
RE: Reverse Engineering der NLT II - von llm - 21.10.2025, 16:04
RE: Reverse Engineering der NLT II - von llm - 27.10.2025, 09:36
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 12:11
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 12:27
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 14:13
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 14:26
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 14:29
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 16:21
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 17:02
RE: Reverse Engineering der NLT II - von llm - 02.11.2025, 15:46
RE: Reverse Engineering der NLT II - von llm - 03.11.2025, 13:00
RE: Reverse Engineering der NLT II - von llm - 04.11.2025, 14:48
RE: Reverse Engineering der NLT II - von llm - 06.11.2025, 11:34
RE: Reverse Engineering der NLT II - von llm - 06.11.2025, 15:49
RE: Reverse Engineering der NLT II - von llm - 07.11.2025, 12:49
RE: Reverse Engineering der NLT II - von llm - 07.11.2025, 13:21
RE: Reverse Engineering der NLT II - von llm - 07.11.2025, 16:06
RE: Reverse Engineering der NLT II - von Shihan - 10.11.2025, 11:21
RE: Reverse Engineering der NLT II - von Shihan - 10.11.2025, 12:32
RE: Reverse Engineering der NLT II - von Shihan - 10.11.2025, 16:35
RE: Reverse Engineering der NLT II - von llm - 11.11.2025, 08:38
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 08:20
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 10:21
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 11:27
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 12:00
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 18:04
RE: Reverse Engineering der NLT II - von llm - 15.11.2025, 07:55
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 07:35
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 08:44
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 08:50
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 10:56
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 14:35
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 18:15
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 16:00
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 18:16
RE: Reverse Engineering der NLT II - von llm - 14.11.2025, 08:03
RE: Reverse Engineering der NLT II - von llm - 14.11.2025, 08:58
RE: Reverse Engineering der NLT II - von llm - 14.11.2025, 13:50
RE: Reverse Engineering der NLT II - von llm - 14.11.2025, 17:22
RE: Reverse Engineering der NLT II - von llm - 14.11.2025, 13:31
RE: Reverse Engineering der NLT II - von llm - 14.11.2025, 17:20
RE: Reverse Engineering der NLT II - von llm - 15.11.2025, 08:06
RE: Reverse Engineering der NLT II - von llm - 15.11.2025, 17:24
RE: Reverse Engineering der NLT II - von llm - 17.11.2025, 12:00
RE: Reverse Engineering der NLT II - von llm - 18.11.2025, 07:21
RE: Reverse Engineering der NLT II - von Shihan - 18.11.2025, 09:58
RE: Reverse Engineering der NLT II - von llm - 18.11.2025, 11:45
RE: Reverse Engineering der NLT II - von llm - 18.11.2025, 11:57
RE: Reverse Engineering der NLT II - von llm - 18.11.2025, 12:07
RE: Reverse Engineering der NLT II - von llm - 19.11.2025, 18:03
RE: Reverse Engineering der NLT II - von llm - 20.11.2025, 05:59
RE: Reverse Engineering der NLT II - von llm - 20.11.2025, 06:26
RE: Reverse Engineering der NLT II - von HenneNWH - 20.11.2025, 13:34
RE: Reverse Engineering der NLT II - von llm - 20.11.2025, 16:42
RE: Reverse Engineering der NLT II - von llm - 20.11.2025, 15:20
RE: Reverse Engineering der NLT II - von llm - 20.11.2025, 16:56



Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste