Puzzel Puzzels
Gebruikersavatar
Schwartz
Artikelen: 0
Berichten: 691
Lid geworden op: di 14 mar 2006, 18:14

Re: Java 7

Heb vandaag even een meting gedaan in delphi4 pascal:

2 giga aan testen op een 2.8 Ghz processor.

De if testing kwam op 41 seconden

En de case constructie kwam uit op 5 seconden.

Getest bij 20 ingangen.

Betekent dat de case met de testconstructie erbij per test gemiddeld maar 7 processorcycli nodig heeft.
Een computertaal is voor mensen, niet voor de computer.

ads

Steun Sciencetalk Western Digital Elements Portable - Externe harde schijf - 2TB

Western Digital Elements Portable - Externe harde schijf - 2TB

Bekijk product

Steun Sciencetalk Libelle Marjolein Bastin Agenda 2026 - één jaar lang genieten - Incl. handige ringband, elastiek en 8 ansichtkaarten

Libelle Marjolein Bastin Agenda 2026 - één jaar lang genieten - Incl. handige ringband, elastiek en 8 ansichtkaarten

Bekijk product

Steun Sciencetalk Mario Kart 8 Deluxe - Nintendo Switch

Mario Kart 8 Deluxe - Nintendo Switch

Bekijk product

Gebruikersavatar
Schwartz
Artikelen: 0
Berichten: 691
Lid geworden op: di 14 mar 2006, 18:14

Re: Java 7

Heb vorige geedit maar er is iets fout gegaan:

De editing is niet verwerkt en nu kan ik het niet meer editen.

De case en if is net zo snel.

De compiler heeft de lege case testen namelijk niet opgenomen waardoor er een aanzienlijk snelheidsverschil ontstond.

Haal nu een snelheid van 15 seconden voor beide op een moderne computer.
Een computertaal is voor mensen, niet voor de computer.
Scispace Scispace

Scispace is dé ai voor wetenschappers en onderzoekers. Ga naar SciSpace en profiteer van één van de beste ai's.

Scispace

Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: Java 7

Uiteraard zou dat nauwelijks verschil mogen geven, uiteindelijk worden beide situaties omgeschreven naar spronginstructies voor de processor.
Gebruikersavatar
Schwartz
Artikelen: 0
Berichten: 691
Lid geworden op: di 14 mar 2006, 18:14

Re: Java 7

@cycloon

Zo logisch is dat niet, de compiler kan bij een case anders gaan handelen en de test constructie optimaliseren omdat alle waarden vastliggen.

Ook heeft men de testwaarde vast staan per test.

Vond het opmerkelijk dat delphi4 (pascal) de case weglaat die geen software omvat, terwijl er wel begin;end instaat.

Deze begin en end wordt waarschijnlijk eerst verwerkt.

Ook het snelheidsverschil tussen de oude en de nieuwe computer valt erg op..

de processor van de nieuwe draait op 3.2 en de oude op 2.8..

14% sneller ongeveer...

maar de testwerking is nu gemiddeld 24 cycli was eerst. 57 cycli...

Kan men zien dat de nieuwe processoren beduidend beter presteren....

Voor het afvangen van toetsdrukken hoeft men geen hash toe te passen want een paar cycli meer maakt dan niets uit....

Wel als men vele commandos af moet vangen.
Een computertaal is voor mensen, niet voor de computer.
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: Java 7

Schwartz schreef:@cycloon

Zo logisch is dat niet, de compiler kan bij een case anders gaan handelen en de test constructie optimaliseren omdat alle waarden vastliggen.


Als je gelijkaardige testen uitvoert dan zijn alle mogelijkheden uiteraard ook vooraf bekend in je if/else constructie. Ook zal een bepaalde waarde in het register gehaald worden (die om te vergelijken) en een beetje goede compiler zou zelf moeten opmerken dat deze waarde tot de laatste else in het register moet blijven. Voor de rest zullen de instructies voor de processor grotendeels gelijklopend zijn.

ads

Steun Sciencetalk Logitech G G102 - Gaming Muis - Wit

Logitech G G102 - Gaming Muis - Wit

Bekijk product

Steun Sciencetalk Nereb® USB-C SD en MicroSD-kaartlezer - USB 3.0 - Aluminium Behuizing - Card Reader

Nereb® USB-C SD en MicroSD-kaartlezer - USB 3.0 - Aluminium Behuizing - Card Reader

Bekijk product

Steun Sciencetalk bol cadeaukaart - 25 euro - Voor jou

bol cadeaukaart - 25 euro - Voor jou

Bekijk product

Gebruikersavatar
Schwartz
Artikelen: 0
Berichten: 691
Lid geworden op: di 14 mar 2006, 18:14

Re: Java 7

IF a=10 then begin a:=a+1;software;end;

IF a=11 then begin software end;

is andere software dan

CASE A OF

10: a:=A+1;software;

11:software;

END;

en de compiler mag dit niet fout doen....

de compiler mag niet mee gaan zitten programmeren....

De delphi compiler test nu bij een case uit of alle waarden uniek zijn, dit is niet het geval bij de if;

en er is minimaal 1 case verplicht, dit vind ik een nadeel inzake programmatie (ik kan met eigen commandos software verzamelen voor in een case constructie).
Een computertaal is voor mensen, niet voor de computer.

Plaats een reactie

Je mail wordt niet openbaar getoond. Het wordt enkel gebruik voor contact of notificatie vanuit het beheer.

🗨️ Wat vind jij? Stel direct je vraag of geef je mening – zonder registratie. Je reactie zet het topic weer bovenaan bij 'Laatste posts' en trekt snel nieuwe reacties aan🔥. Mocht je als vaste bezoeker willen reageren, dan kun je je ook registreren.

Bevestig dat je geen robot bent door de volgende vragen te beantwoorden.

Noor heeft 10 knikkers. Ze verliest er 4 in het gras. Hoeveel heeft ze er nog?

Antwoord: (vul een getal in)

Er zitten 5 vogels op een hek. Twee vliegen weg. Hoeveel blijven er zitten?

Antwoord: (vul een getal in)

Terug naar “Informatica en programmeren”

Sciencetalk: Leer, deel of groei. Volg of geef een cursus op Sciencetalk!