benchmark tip

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Back-End Web Developer

As a Back-End Web Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Back-End Web Developer at Coolblue? As a Back-End Web Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you also feel confident with setting up microservices in Typescript or are open to learning this. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing pure

Bekijk vacature »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

Bekijk vacature »

Full Stack .NET Developer C# ASP.NET

Samengevat: Deze werkgever is gespecialiseerd in het op afstand bewaken en besturen van machines en processen. Ben jij een ervaren Full Stack .NET Developer? Heb je ervaring met C# en ASP.NET? Vaste baan: .Net Developer C# ASP.NET HBO €3.300 - €4.500 Deze werkgever is een snel groeiende onderneming gespecialiseerd in het op afstand bewaken en besturen van machines en processen, IoT (Internet of Things). Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Wil jij bij de top specialisten horen? Ben jij op zoek naar een

Bekijk vacature »

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel binnen als

Bekijk vacature »

Senior Applicatie ontwikkelaar Java

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving We verwachten van je,

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

Java Developer (Training And Simulation)

Wat jij doet Je zou onze Java Developer zijn en nauw samenwerken met je Product Owner, Software System Engineer, Scrum Master en andere Developers. Samen draag je bij aan een multidisciplinair en zelf organiserend Agile team. De rol is zeer afwisselend en bestaat uit, maar is zeker niet beperkt tot: de-risk en prototype onbewezen simulatietechnologieën; simulatiekaders ontwikkelen voor gebruik door andere teams; je bent goed in het begrijpen van ingewikkelde ideeën; heeft de mogelijkheid om nauw samen te werken met grote internationale klanten, leveranciers en overheden om onze oplossingen, vastleggingsvereisten, enz. te definiëren en te presenteren. Ben jij het? Wij

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

14/03/2013 01:38:48
Quote Anchor link
Zomaar even een gratis tip die ik met jullie wil delen.

Als je in een class method (functie) meerdere keren een class property nodig hebt, dan kun je deze property beter eerst in een variabele stoppen. Ik had al zo'n vermoeden dat dat sneller zou zijn, maar ik heb het gebenchmarkt en het blijkt ook inderdaad iets sneller te zijn.

In plaats van dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if (isset($this->data[$key])) {
    if ($this->data[$key]['foo'] === 'bar') return $this->data[$key]['bar'];
}

?>


...kun je beter dit doen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (isset($this->data[$key])) {
    $data = $this->data[$key];
    if ($data['foo'] === 'bar') return $data['bar'];
}

?>
 
PHP hulp

PHP hulp

25/11/2024 01:57:26
 
Wouter J

Wouter J

14/03/2013 08:49:37
Quote Anchor link
En hoeveel scheelt dat nou?
 
TJVB tvb

TJVB tvb

14/03/2013 09:20:50
Quote Anchor link
Heb je ook je geheugen gebruik getest? Dat kan juist weer iets vergroten (is vermoeden zonder meteen getest te hebben)
 
Ozzie PHP

Ozzie PHP

14/03/2013 12:39:08
Quote Anchor link
@Wouter: ik heb de test al weer weggegooid. Het scheelt niet gruwelijk veel maar wel wat. En hoe vaker je binnen een functie rechtstreeks de property aanspreekt, des te groter het verschil wordt. In principe zou je dus moeten zeggen... vaker dan 1x dezelfde property aanspreken, dan eerst in een variabele stoppen.

@TJVB: nee, ik heb het geheugenverbruik niet getest, maar je praat over 1 variabele binnen een functie. Zodra de functie niet wordt gebruikt wordt de geheugenruimte vrij gemaakt. Ik kan me dus niet voorstellen dat dat heel spannend is.

Deze optimalisatie zal er ook niet voor zorgen dat je applicatie ineens gruwelijk sneller wordt. Persoonlijk vind ik het soms netter om een property in een variabele te stoppen in plaats van telkens $this->blabla[$key] te moeten doen. En als het dan ook nog snelheidsvoordeel oplevert? Tja, dan is er geen reden om het niet te doen. 2 Vliegen in één klap. Maar je moet het natuurlijk alleen doen als je meer dan 1x de property aanspreekt. Dit is bijvoorbeeld totaal nutteloos:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
public function getObject($key) {
  $object = $this->object[$key];
  return $object;
?>


Dat doe je uiteraard gewoon zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
public function getObject($key) {
  return $this->object[$key];
?>
Gewijzigd op 14/03/2013 12:40:09 door Ozzie PHP
 
Wouter J

Wouter J

14/03/2013 13:26:35
Quote Anchor link
Wat mij betreft hoort dit dus weer onder het kopje 'nutteloze microoptimalisatie' en 'voorkeur'.
 
TJVB tvb

TJVB tvb

14/03/2013 13:31:06
Quote Anchor link
PHP heeft je geheugen pas vrij aan het einde van het request (of je moet handmatig de garbage collector aanroepen)
En zoals Wouter al zegt, dit is microoptimalsiatie.
 
Ozzie PHP

Ozzie PHP

14/03/2013 14:06:38
Quote Anchor link
Ja, en wat dan nog als het micro-optimalisatie is? Ik geef het gewoon als tip. En zoals bijna alles is ook dit een kwestie van persoonlijke voorkeur, maar dan wel eentje met voordelen. Ik zeg helemaal niet dat je het moet doen, ik geef het gewoon mee als tip. En... altijd dan weer heel erg leuk als er zo ongelofelijk vriendelijk wordt gereageerd... ahum.
 
TJVB tvb

TJVB tvb

14/03/2013 14:08:36
Quote Anchor link
Sorry Ozzie, het was niet onvriendelijk bedoeld. Maar ik bedoelde met mijn opmerkingen over het geheugen dat een optimalisatie op 1 punt nadelig kan zijn op een ander punt.
 
Ozzie PHP

Ozzie PHP

14/03/2013 14:11:41
Quote Anchor link
Oké dat kan ik nog begrijpen, maar als ik de 2 reacties van Wouter lees (met name het woordje "nutteloze"), dan vind ik het jammer dat er niet eens een keertje positief wordt gereageerd. Het is meteen weer "hakken waar we hakken kunnen". Ik geef hier gewoon goedbedoeld een tip.
 
Wouter J

Wouter J

14/03/2013 16:29:47
Quote Anchor link
Quote:
maar als ik de 2 reacties van Wouter lees

jammer dat je hier dan meteen gaat generalizeren door al mijn reactie in dit topic slecht te keuren. Die eerste was gewoon een goed bedoelde vraag, want als het veel uitmaakt ga ik het echt wel aanpassen (zoals ik bijv. ook heb gedaan toen iemand me vertelde dat de pReg lib traag was en captured groups al helemaal)
 
Willem vp

Willem vp

14/03/2013 17:26:31
Quote Anchor link
Als je écht wilt optimaliseren op snelheid, moet je al die OO-zooi overboord gooien en procedureel gaan werken. ;-)

Overigens is het niet alleen bij class properties sneller om ze in een variabele te zetten, ook bij array-waardes scheelt het een paar CPU-cycles. PHP kent namelijk eigenlijk helemaal geen arrays, maar implementeert ze onder water als een hash table. Wanneer je een array-waarde opvraagt, moet PHP eerst een hash berekenen en vervolgens een linked list aflopen om de waarde te vinden.

Maar ook dan blijft het een micro-optimalisatie. De voornaamste reden om al dan niet gebruik te maken van variabelen zou in mijn ogen de leesbaarheid van de code moeten zijn. Soms is het leesbaarder om variabelen te gebruiken, soms niet.

Als je door een verhoogde leesbaarheid van je code over een paar maanden een minuut minder lang op je code hoeft te studeren om te begrijpen wat het ook weer doet, heb je al meer gewonnen dan je met micro-optimalisaties kunt bereiken.
 
Ozzie PHP

Ozzie PHP

14/03/2013 17:34:00
Quote Anchor link
@Wouter: als gevolg van je 2e reactie heb ik dan blijkbaar een verkeerde conclusie getrokken over je 1e reactie.

Anyhow, ik vind het jammer dat je iets gelijk bestempelt als nutteloos. Dat is nergens voor nodig. Iedere optimalisatie hoe klein ook is sowieso nuttig.

Een micro-optimalisatie lijkt in 1e instantie misschien niet zo heel spannend, maar stel je het volgende eens voor. Iemand op een webshop vraagt een productlijst op van 100 producten. Jij hebt een class met daarin een property $products waarin die 100 producten staan. Per product toon jij in de webshop een titel, een thumbnail, een korte omschrijving, 3 eigenschappen, een productcode, de beschikbaarheid en de prijs. Dat zijn al 7 aanroepen. Dat betekent dat jij 700 keer een trage aanroep doet. Ik doe per product slechts 1x een trage aanroep. De 700 aanroepen die ik daarna doe zijn allemaal sneller. En dat zal zeker een verschil maken.
 
- Raoul -

- Raoul -

14/03/2013 17:34:01
Quote Anchor link
Het is wel een goede tip, maar ik betwijfel of iemand echt hier rekening mee gaat houden tijdens het programmeren om 0.01 microseconde te besparen.
 
Ozzie PHP

Ozzie PHP

14/03/2013 17:35:21
Quote Anchor link
Je hoeft er ook geen rekening mee te houden, maar het is beter voor je leesbaarheid en het levert snelheidswinst op. Maar zoals ik al zei, je moet helemaal niks. Het is slechts een tip.
 
Willem vp

Willem vp

14/03/2013 17:45:48
Quote Anchor link
Ozzie PHP op 14/03/2013 17:34:00:
Dat betekent dat jij 700 keer een trage aanroep doet. Ik doe per product slechts 1x een trage aanroep. De 700 aanroepen die ik daarna doe zijn allemaal sneller. En dat zal zeker een verschil maken.

In de benchmarks die ik ooit (jaar of vijf geleden) heb gedaan was het verschil iets van 0,15 seconden voor 100.000 aanroepen. Voor die 700 trage aanroepen waar je het over hebt, praat je dus over een verschil van maar liefst een hele milliseconde. Ik denk niet dat de gemiddelde gebruiker daar wakker van ligt. Een goed geplaatste index op je productendatabase levert meer snelheidswinst op.
 
Ozzie PHP

Ozzie PHP

14/03/2013 17:50:25
Quote Anchor link
Ach ja, iedereen gewoon lekker doen waar ie zelf zin in heeft. Ik zal voortaan m'n bevingen niet meer posten hier.
 
Ward van der Put
Moderator

Ward van der Put

14/03/2013 18:07:18
Quote Anchor link
Ozzie PHP op 14/03/2013 17:50:25:
Ach ja, iedereen gewoon lekker doen waar ie zelf zin in heeft. Ik zal voortaan m'n bevingen niet meer posten hier.

Jammer, van alleen maar OOP-huiswerk van scholieren en OOP-theorie van studenten wordt een PHP-forum ook niet beter.
 
Ozzie PHP

Ozzie PHP

14/03/2013 19:31:22
Quote Anchor link
Precies! Spijker op z'n kop Ward. Maar blijkbaar wordt het jammer genoeg door sommigen niet zo heel erg gewaardeerd.
 
Willem vp

Willem vp

14/03/2013 19:55:27
Quote Anchor link
Ozzie PHP op 14/03/2013 17:50:25:
Ik zal voortaan m'n bevingen niet meer posten hier.

Die bevindingen -en de discussie die erop volgt- zijn juist interessant. Het enige wat ik jammer vind is dat je alleen maar zegt dát het sneller is, maar er verder niet bij uitlegt wat je precies hebt gedaan en wat de resultaten (snelheidsverschillen) waren, want dat maakt de materie juist een stuk inzichtelijker.

In de meeste gevallen zijn micro-optimalisaties zonde van je tijd, maar het is wel belangrijk om te weten of iets al dan niet een micro-optimalisatie is, juist omdat je dan kunt inschatten of het de moeite waard is om te gaan optimaliseren. Heb je een seconde snelheidsverschil bij 100 operaties, of pas bij 100.000? Op een van mijn servers krijg ik via http-requests grote hoeveelheden data binnen (ik praat dan over pieken van een half miljoen records die in een kwartier tijd binnenkomen van een stuk of 400 clients) en dan kijk ik echt wel naar micro-optimalisaties. De eerste (grote) optimalisatie die ik dan overigens doe is PHP aan de kant schuiven. ;-)

PHP is een zeer complex stuk gereedschap dat is opgebouwd uit verschillende andere stukken gereedschap (arrays, loopjes, objecten, noem ze maar op). Om optimaal van dat gereedschap gebruik te kunnen maken moet je veel van de ins en outs weten, en die kunnen juist in een discussie als deze boven komen drijven.

Om maar eens wat te noemen: in plaats van een while-loop is het efficiënter om een for-loop te gebruiken. En foreach is zelfs nóg een klein beetje efficiënter. Gebruik in de conditie van je for-loop nooit een functie of een array-reference, maar een simpele variabele. En wil je iets doen met arrays, dan kun je beter gebruik maken van de ingebouwde array-functies van PHP en niet zelf gaan lopen knoeien met loopjes of wat dan ook.
 
Pieter Rekvelt

Pieter Rekvelt

16/03/2013 10:46:51
Quote Anchor link
--> De eerste (grote) optimalisatie die ik dan overigens doe is PHP aan de kant schuiven.

@Willem VP
Hoe en waarmee ga je dan verder?
Gewijzigd op 16/03/2013 10:49:18 door Pieter Rekvelt
 
Wouter J

Wouter J

16/03/2013 14:15:07
Quote Anchor link
Ik denk een meer volwassene taal zoals ASP.net of scala of zoiets.
Gewijzigd op 16/03/2013 14:15:31 door Wouter J
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.