Code Motion
Code Motion is een dienstverlener in maatwerk software.
Met meer dan 10 jaar ervaring in maatwerk software kan Code Motion u ondersteunen bij het ontwerpen, ontwikkelen en beheren van maatwerk software. Speciaal uitblinkend in software op basis van Microsoft technologie, maar niet uitsluitend.
Code Motion is in juni 2010 opgericht door Marco Vervoort, in de vorm van ZZP (freelance), wegens de behoefte om meer te doen met zijn kennis, en anderen te kunnen helpen.
De meer dan 10 jaar ervaring is opgedaan bij vorige werkgevers en projecten.
De naam “Code Motion”
De naam Code Motion stamt af van een compiler optimalisatie:
loop invariant code motion. De techniek “Code Motion” is het verplaatsen van code in een programma, waardoor het programma zonder veranderde werking sneller loopt.
Zo kan onderstaande code verbeterd worden:
public static int WithoutCodeMotion(int count, int x, int y)
{
int calc = 0;
for (int i = 0; i < count; i++)
{
int z = x + y;
calc += z * i + x * x;
}
return calc;
}
Deze kan namelijk geoptimaliseerd worden naar:
public static int WithCodeMotion(int count, int x, int y)
{
int calc = 0;
int z = x + y;
int temp = x * x;
for (int i = 0; i < count; i++)
{
calc += z * i + temp;
}
return calc;
}
De operatie “z = x + y” hoeft niet meerdere keren berekend te worden, omdat de uitkomst steeds hetzelfde zal zijn. De kunst van Code Motion is om de compiler slim genoeg te maken dat hij dit kan herkennen, zodat hij de berekening maar één keer uitvoerd. Hetzelfde geld voor een deel van de formule “calc += z * i + x * x”, waarbij “x * x” altijd dezelfde waarde opleverd. Door deze code uit de lus te halen, en maar één keer uit te voeren (en in een tijdelijke variabele te plaatsen) wordt de gehele operatie sneller.