AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign EnsureRange vs. Min( 0, Max( 1, Value )) unter CrossPlatform
Thema durchsuchen
Ansicht
Themen-Optionen

EnsureRange vs. Min( 0, Max( 1, Value )) unter CrossPlatform

Ein Thema von Rollo62 · begonnen am 2. Sep 2022 · letzter Beitrag vom 5. Sep 2022
Antwort Antwort
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

AW: EnsureRange vs. Min( 0, Max( 1, Value )) unter CrossPlatform

  Alt 5. Sep 2022, 11:38
Die RTL wird ohne Assertions kompiliert, das siehst du übrigens, wenn du mal in EnsureRange reindebuggst.

Übrigens, du hast oben EnsureRange( 0.0, 1.0, AValue ); geschrieben, aber ich gehe davon aus, dass du EnsureRange( AValue, 0.0, 1.0 ); meintest

wenn EnsureRange sehr oft und an vielen Stellen aufgerufen wird ist es doch der erste Kandidat für ein Profiling Problem.
Kaum, außer du rufst EnsureRange laufend in Schleifen auf.

Ansonsten Regel Nummer 1 - Anwendung durch nen Profiler jagen (und damit meine ich einen SamplingProfiler - und keinen Instrumentation Profiler wie AQTime), um eine grobe Idee zu bekommen, was wirklich die Zeit verbraucht.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 5. Sep 2022 um 11:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.385 Beiträge
 
Delphi 12 Athens
 
#2

AW: EnsureRange vs. Min( 0, Max( 1, Value )) unter CrossPlatform

  Alt 5. Sep 2022, 13:39
Wer viel Misst misst Mist.

Hatte es schon, dass in einer Schleife ganz viel Zeit angezeigt wurde, aber die Zeit kam vom AQTime (mit Profiler war es auch insgesamt viel langsamer)
Nach dem Umbau fiel dann auf, dass Dort die gesamte Schleife eigentlich garnicht so langsam war, auch wenn in der Schleife etwas einige Millionen Male gemacht wurde.


Es ist schon eine Kunst die Resultate auch richtig auszuwerten.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: EnsureRange vs. Min( 0, Max( 1, Value )) unter CrossPlatform

  Alt 5. Sep 2022, 13:52
Es ist schon eine Kunst die Resultate auch richtig auszuwerten.
Nein, die "Kunst" ist es, zu wissen, wie AQTime bzw ein sogenannter Instrumentation Profiler funktioniert

Bei absolut fein granularem Profiling ist Instrumentierung einfach nicht zu gebrauchen, da der Overhead bzw die Laufzeitveränderung durch diese das Ergebnis verfälscht.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.176 Beiträge
 
Delphi 12 Athens
 
#4

AW: EnsureRange vs. Min( 0, Max( 1, Value )) unter CrossPlatform

  Alt 5. Sep 2022, 17:56
Ok, ich werde im Moment bei EnsureRange bleiben, ist nicht so kritisch.
Der Hinweis zu dem Assertions ist sehr interessant, werde ich mir merken

Ansonsten Regel Nummer 1 - Anwendung durch nen Profiler jagen (und damit meine ich einen SamplingProfiler - und keinen Instrumentation Profiler wie AQTime), um eine grobe Idee zu bekommen, was wirklich die Zeit verbraucht.
Das würde ich auch gerne machen, aber die gibt es ja nur für Windows(32).
Mir geht es auch darum ob es sich auf allen Plattformen dann ähnlich verhält, weil das ja ganz unterschiedliche Compiler und Systeme sind.
Soweit ich weiss gibt es keinen CrossPlatform-Profiler, oder etwa doch ?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz