benchmark tip

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Java Developer

Functie Wat ga je doen als Java developer? Jij komt terecht binnen een informeel team waarin je verantwoordelijk bent voor de backend systemen voor grote klanten als Ziggo en KPN. Als Medior Java developer werk je in teamverband en soms individueel. Gedurende de werkweek zal je veelvuldig sparren met je collega’s voor een goede implementatie van de software. Ben jij een echte Java developer? Ben je geïnteresseerd in de nieuwste technieken en de laatste ontwikkelingen? Dan ben je hier aan het juiste adres! Eisen Wat wordt er van jou verwacht? • Minimaal HBO/WO denk- en werkniveau; • Analytisch sterk, open

Bekijk vacature »

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer!? Sta jij aan het begin van jouw loopbaan of heb jij misschien al enige ervaring? Vind jij het daarnaast belangrijk om jezelf constant te kunnen ontwikkelen en uitdagen? Lees dan snel verder! Voor een vooraanstaand softwarehuis in Nieuwegein ben ik op zoek naar een Junior Software Developer. De eigenaar van het bedrijf is ervan bewust dat je als junior nog een hoop kan leren, waardoor je de eerste maanden veel begeleiding en diverse trainingen krijgt. Daarna ga je samen met je collega's aan zowel kleine als grote projecten werken.

Bekijk vacature »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

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

21/11/2024 21:16:09
 
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.