Memory usage

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

Bekijk vacature »

Front-end developer (Angular)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

REMOTE - Front-end Angular developer

Functie Het IT-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn momenteel op zoek naar een ervaren Front-end developer die autonoom en gedisciplineerd aan de slag gaat, en bij aanvang als enige developer met hun Front-end applicaties bezig is. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde

Bekijk vacature »
Koen Vlaswinkel

Koen Vlaswinkel

07/12/2013 13:48:55
Quote Anchor link
Hallo,

Ik ben bezig om een groot bestand te parsen i.c.m. met Symfony2 en Doctrine. Nadat er ongeveer 310 regels krijg ik een foutmelding te zien dat ik over de 128 MB kom. Zoals je kan zien heb ik om te proberen dit op te lossen een paar regels onderaan toegevoegd met unset. Dit vermindert het geheugengebruik echter niet, het wordt juist meer (getest met memory_get_usage). Wat kan ik doen om mijn geheugen te minimaliseren? Bij regel 300 ben ik namelijk nog niet eens op de 20%.

Als jullie meer code nodig hebben, zeggen jullie het maar. Ik ga niet meteen alles posten, dat is nogal veel.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
     /**
     * @param string $line
     */

    private function parseStudentLine($line) {
        $parts = explode(chr(9), $line);
        $student = $this->studentEntityRepository->findOneBy(array('code' => $parts[0]));
        if (is_null($student)) {
            $student = new Student($parts[0], $parts[1], $parts[2], $parts[3], $this->school);
            $this->entityManager->persist($student);
            $this->logger->debug(sprintf('Student %d (%s %s %s) added to database', $student->getCode(), $student->getFirstName(), $student->getInsertions(), $student->getLastName()));
        }


        $timetable = new Timetable($student, $this->startDate);
        unset($parts[0], $parts[1], $parts[2], $parts[3]);
        $lesson = null;
        foreach ($parts as $part) {
            if (strlen(trim($part)) == 0 || trim($part) == '0') continue;
            $lesson = $this->parseLesson($part);
            $foundLesson = $this->lessonEntityRepository->findOneBy(array('code' => $lesson->getCode()));
            if ($foundLesson === null) {
                $this->entityManager->persist($lesson);
            }
else {
                $lesson = $foundLesson;
            }

            $timetable->addLesson($lesson);
        }

        $this->entityManager->persist($timetable);
        $this->entityManager->flush();

        $this->logger->info(sprintf('Added timetable for student %d (%s %s %s)', $student->getCode(), $student->getFirstName(), $student->getInsertions(), $student->getLastName()));

        $this->entityManager->detach($timetable);
        $this->entityManager->detach($student);

        /** @var $lesson Lesson */
        foreach ($timetable->getLessons() as $lesson) {
            /** @var $teacher Teacher */
            foreach ($lesson->getTeachers() as $teacher) {
                $teacher = null;
                unset($teacher);
            }

            $lesson = null;
            unset($lesson);
        }

        $timetable = null;
        unset($timetable);
        $student = null;
        unset($student);
        $parts = null;
        unset($parts);
    }

?>
Gewijzigd op 07/12/2013 14:06:17 door Koen Vlaswinkel
 
PHP hulp

PHP hulp

02/05/2024 18:41:15
 
Ivo P

Ivo P

07/12/2013 14:11:26
Quote Anchor link
Aangezien je explode op tab doet:
Zouden de php functies als http://php.net/fgetcsv niet efficienter zijn?
 
Koen Vlaswinkel

Koen Vlaswinkel

07/12/2013 14:19:44
Quote Anchor link
Ivo P op 07/12/2013 14:11:26:
Aangezien je explode op tab doet:
Zouden de php functies als http://php.net/fgetcsv niet efficienter zijn?


Nee, niet het hele bestand heeft hetzelfde formaat, dus ik moet eerst beslissen aan welke methode ik de regel geef. fgetcsv heeft een file resource nodig, en die heb ik dus niet omdat niet alle regels hetzelfde formaat hebben.
 
Wouter J

Wouter J

07/12/2013 14:32:38
Quote Anchor link
Regel 36 - 52 zijn hier toch allemaal volkomen nutteloos? Door al die loops verspil je meer geheugen dan dat je vrij maakt door het unsetten. En waarom eerst een waarde (null) meegeven en daarna unsetten?

Hoe ziet je bestand er trouwens uit? Ik denk dat het parsen een stuk simpeler kan...

En als je deze method voor elke regel uitvoert zou ik eens de flush eruit halen en die pas aan het eind van het parsen aanroepen.
 
Koen Vlaswinkel

Koen Vlaswinkel

07/12/2013 14:41:24
Quote Anchor link
Het bestand is hier te vinden. Je hebt gelijk dat het een beetje onnuttig is, maar ik wist geen andere manier om geheugen vrij te maken. De flush staat er zodat ik kan detachen. Ik denk eigenlijk dat dat ook gewoon gebeurt met clear(). Dit voer ik dan ook uit in de methode die deze aanroept.

Na nog wat dingen te proberen, heeft het volgende alles opgelost:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$em
->getConnection()->getConfiguration()->setSQLLogger(null);
?>


Dit geeft blijkbaar zoveel overhead dat er veel geheugen wordt verspilt.
 



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.