Memory usage

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

Front end developer

Functie Jij als front end developer gaat werken binnen de teams van onze klant, uiteraard met alle moderne technieken. Opdrachten worden echt gericht op jouw leerdoelen en jouw behoeftes. Wij hebben een omgeving gecreëerd waarin je echt jezelf kan zijn en waar echt gekeken wordt naar jouw voorkeuren. Maak je een fout? Geen probleem, leer ervan en dan ga weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en dus jezelf snel ontwikkelen. Eisen Je bent communicatief vaardig en houdt van een dynamische omgeving Je hebt HBO werk- en denkniveau Je hebt gedegen kennis

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

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 »

Senior Front end developer

Functie Wij zijn op zoek naar een ambitieuze, zelfsturende Front-end Expert die ons (internationale) team komt versterken. Onze huidige software development afdeling bestaat uit 7 developers en designers. Wij zijn een écht softwarehuis, dus ervaring in software development is wel echt een must. Er wordt tegelijkertijd aan meerdere projecten gewerkt, voor mooie toonaangevende klanten. Je hebt dus regelmatig te maken met deadlines en opleveringen. Een deel van onze omgeving is in Angular.JS. Dit deel wordt langzamerhand omgebouwd naar de nieuwste versie van Angular. Jouw werkzaamheden zullen bestaan uit: Het aansturen en begeleiden van jouw collega’s Het implementeren van visuele elementen

Bekijk vacature »

Frontend Developer - Leeuwarden

Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider in onderwijsland. Wat vragen

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

Bekijk vacature »

Delphi developer

Functie Als Delphi developer ga jij aan de slag in een team met twee andere ervaren Delphi programmeurs waaronder de Hoofd programmeur. Als team zijn jullie verantwoordelijk voor de doorontwikkeling van jullie bestaande applicatie. Daarnaast zijn jullie verantwoordelijk voor het onderhouden van deze applicatie en het oplossen van eventuele bugs. Eisen - HBO werk en denk niveau; - Minimaal één jaar ervaring met Delphi; - Goede beheersing van de Nederlandse taal in woord en geschrift; - Jij bent zelfstandig, maar kan ook in team verband werken. Aanbod - €3000,-- €4000,- op basis van jouw kennis en ervaring; - 8% vakantiegeld;

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

Bekijk vacature »

C# Unity Developer

Functieomschrijving Ontwikkel jij mee door applicaties te bouwen die bijdragen aan het optimaliseren van processen? Voor een erkende werkgever in regio Tilburg zijn wij op zoek naar een Unity C# Developer die graag de uitdaging aangaat! Jouw werkzaamheden zullen er als volgt uitzien: Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Je bent verantwoordelijk voor het uitvoeren van updates/aanpassingen aan de reeds draaiende applicaties. Bedrijfsprofiel Je komt te werken voor een internationale werkgever in regio Tilburg. Samen met een vooruitstrevend team

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

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

07/05/2024 00:51:52
 
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.