EcoConception Logicielle
9.0K views | +2 today
EcoConception Logicielle
Green IT, performance web, économies d'énergies, bref : éco-conception logicielle !
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Scooped by Mickael Ruau
February 28, 2013 10:19 AM
Scoop.it!

Loop splitting - Wikipedia, the free encyclopedia

Loop splitting is a compiler optimization technique. It attempts to simplify a loop or eliminate dependencies by breaking it into multiple loops which have the same bodies but iterate over different contiguous portions of the index range.

Loop peeling is a special case of loop splitting which splits any problematic first (or last) few iterations from the loop and performs them outside of the loop body.

Suppose a loop was written like this:

No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:17 AM
Scoop.it!

Loop optimization - Wikipedia, the free encyclopedia

In compiler theory, loop optimization is the process of the increasing execution speed and reducing the overheads associated of loops. It plays an important role in improving cache performance and making effective use of parallel processing capabilities. Most execution time of a scientific program is spent on loops, so a lot of compiler optimization techniques have been developed to make them faster.

Since instructions inside loops can be executed repeatedly, it is frequently not possible to give a bound on the number of instruction executions that will be impacted by a loop optimization. This presents challenges when reasoning about the correctness and benefits of a loop optimization, specifically the representations of the computation being optimized and the optimization(s) being performed.[1]

Loop optimization can be viewed as the application of a sequence of specific loop transformations (listed below or in [2]) to the source code or intermediate representation, with each transformation having an associated test for legality. A transformation (or sequence of transformations) generally must preserve the temporal sequence of all dependencies if it is to preserve the result of the program (i.e., be a legal transformation). Evaluating the benefit of a transformation or sequence of transformations can be quite difficult within this approach, as the application of one beneficial transformation may require the prior use of one or more other transformations that, by themselves, would result in reduced performance.

No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:16 AM
Scoop.it!

Déplacement des invariants de boucle - Wikipédia

En programmation informatique, les invariants de boucle sont des instructions ou des expressions d'un langage de programmation impératif qui peut être déplacé hors du corps de la boucle sans affecter le résultat du programme. Le déplacement des invariants de boucle est une optimisation assurée par le compilateur qui effectue automatiquement ce déplacement.

Deux optimisations peuvent être appliquées à l'extrait de code suivant :

L'affectation x = y + z et l'expression x * x peuvent être sortis de la boucle, car ce sont des invariants de boucle : ils ne changent pas d'une itération à la suivante. Le code optimisé ressemblera à :

No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:14 AM
Scoop.it!

How to Create Lazy-Loading Images for your Website

How to Create Lazy-Loading Images for your Website | EcoConception Logicielle | Scoop.it
The effects of lazy load images can be seen on a number of websites. This technique forces your images to pause the loading process until the reader has vi
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:10 AM
Scoop.it!

CSS Optimiser

CSS Optimiser. CSS & PHP Tutorials, Scripts, Tricks, Forum, Templates
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:00 AM
Scoop.it!

Website Speed Part 1: Write More Efficient CSS

Website Speed Part 1: Write More Efficient CSS | EcoConception Logicielle | Scoop.it
#1 in the series on how to speed up web pages on your server focuses on CSS with an 18 point plan on how to be efficient, fast & compliant
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:59 AM
Scoop.it!

Parcourir un array d’objets avec jQuery: benchmark des méthodes et pièges à éviter

Parcourir un array d’objets avec jQuery: benchmark des méthodes et pièges à éviter | EcoConception Logicielle | Scoop.it
Cette semaine, au bureau, je me suis demandé si, en termes de performances, il était intéressant de se servir de la méthode $.each() de jQuery pour parcourir un array d'objets.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:57 AM
Scoop.it!

Optimiser votre code javascript : volume 2

Optimiser votre code javascript : volume 2 | EcoConception Logicielle | Scoop.it
Deuxième partie de mes notes d'optimisation de code javascript. Si vous n'avez pas encore pris connaissance du billet précédent, vous pouvez le parcourir ici. 1.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:54 AM
Scoop.it!

Techniques d’optimisation simples de code PHP – partie 1

Techniques d’optimisation simples de code PHP – partie 1 | EcoConception Logicielle | Scoop.it
Le langage PHP est pratiqué par une foule de gens. Certains sont des développeurs novices qui découvrent la programmation en développant un site web sur Call of Duty ou sur leur groupe de metal préféré.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:39 AM
Scoop.it!

Use Synchronized or Volatile when Accessing Shared Variables

Use Synchronized or Volatile when Accessing Shared Variables | EcoConception Logicielle | Scoop.it
When variables are shared between threads, they must always be accessed properly in order to ensure that correct and valid values are manipulated. The JVM is guaranteed to treat reads and writes of data of 32 bits or less as atomic.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:38 AM
Scoop.it!

Develop Rock-Solid Code In PHP: Use Variables Effectively, Part 2

Develop Rock-Solid Code In PHP: Use Variables Effectively, Part 2 | EcoConception Logicielle | Scoop.it
The series Develop rock-solid code in PHP is about solving practical, real-life problems in medium- to large-scale applications. In this article, PHP veteran Amol Hatwar discusses how to use variables effectively.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:37 AM
Scoop.it!

The Compressor: Compressez vos fichiers Javascript et CSS - La Ferme du web

The Compressor: Compressez vos fichiers Javascript et CSS - La Ferme du web | EcoConception Logicielle | Scoop.it
The Compressor est un service online permettant de compresser vos fichiers javascript et css trop volumineux.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:35 AM
Scoop.it!

PC Astuces - Optimiser sa connexion à Internet

PC Astuces - Optimiser sa connexion à Internet | EcoConception Logicielle | Scoop.it
Affinez les réglages des paramètres réseaux de Windows afin d'accélérer votre connexion à Internet.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:18 AM
Scoop.it!

Loop unswitching - Wikipedia, the free encyclopedia

Loop unswitching is a compiler optimization. It moves a conditional inside a loop outside of it by duplicating the loop's body, and placing a version of it inside each of the if and else clauses of the conditional. This can improve the parallelization of the loop. Since modern processors can operate fast on vectors this increases the speed.

Here is a simple example. Suppose we want to add the two arrays x and y and also do something depending on the variable w. We have the following C code:

The conditional inside this loop makes it difficult to safely parallelize this loop. When we unswitch the loop, this becomes:

No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:16 AM
Scoop.it!

Parallélisation de boucle - Wikipédia

Les parallélisations de boucle sont des techniques d'optimisation de boucle mises en œuvre au sein des compilateurs qui ont pour objectif d'obtenir une parallélisation automatique efficace.

En programmation concurrente, les parties de codes qui contiennent des boucles dont le traitement n'est pas explicitement parallélisé par les programmeurs ne sont pas efficaces sur les machines parallèles, notamment en raison de la présence de caches mémoires nécessaires au bon fonctionnement de ce type de machines. Ces optimisations sont d'autant plus pertinentes que d'une manière générale, une partie non négligeable des programmes est constitué de boucles. La proportion de boucles est d'ailleurs encore plus importante dans les algorithmes liés à la résolution de problèmes scientifiques, comme la prévision météorologique. La recherche théorique dans ce domaine est importante.

Plusieurs patrons de conception sont connus, comme celui de Leslie Lamport ou celui de Allen et Kennedy.

No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:15 AM
Scoop.it!

Optimisation de boucle - Wikipédia

En programmation informatique, les optimisations de boucle sont un ensemble de techniques visant à accélérer l'exécution des boucles de programmation.

Parmi les nombreuses techniques applicables, on peut citer :

No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:11 AM
Scoop.it!

10 Online Tools and Apps to Help Optimize and Format CSS - Speckyboy Design Magazine

10 Online Tools and Apps to Help Optimize and Format CSS - Speckyboy Design Magazine | EcoConception Logicielle | Scoop.it
Why would you ever need to optimize (or optimise, which ever spelling you prefer) or reFormat your CSS?
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 10:05 AM
Scoop.it!

Optimiser la comparaison de deux listes en PHP - Pascal MARTIN (n+1).zéro

Optimiser la comparaison de deux listes en PHP - Pascal MARTIN (n+1).zéro | EcoConception Logicielle | Scoop.it
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:59 AM
Scoop.it!

Optimisez vos CSS pour rendre votre site plus rapide

Optimisez vos CSS pour rendre votre site plus rapide | EcoConception Logicielle | Scoop.it
Apporter un maximum de soins à vos feuilles de style est un point très important qu'il est nécessaire de prendre en compte lors de vos développements.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:59 AM
Scoop.it!

Javascript: transformer une variable ou le contenu d’un objet ou d’un array en numérique

Javascript: transformer une variable ou le contenu d’un objet ou d’un array en numérique | EcoConception Logicielle | Scoop.it
Au boulot, on s'est rendu compte que certaines données étaient réceptionnées depuis notre api en format
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:55 AM
Scoop.it!

Optimiser votre code javascript: volume 1

Optimiser votre code javascript: volume 1 | EcoConception Logicielle | Scoop.it
Rendre son code javascript plus efficace, élégant, léger et puissant en tenant compte des contraintes liées aux navigateurs est un défi quotidien que doit affronter tout développeur web.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:39 AM
Scoop.it!

Do Not Reassign the Object Reference of a Locked Object

Do Not Reassign the Object Reference of a Locked Object | EcoConception Logicielle | Scoop.it
The synchronized keyword locks objects. Because the object is locked inside of synchronized code, what does that mean to the object and to changes you make to its object reference? Synchronizing on an object locks only the object.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:39 AM
Scoop.it!

Use Stack Variables Whenever Possible

Use Stack Variables Whenever Possible | EcoConception Logicielle | Scoop.it
When frequently accessing variables, you need to consider from where they are accessed. Is the variable static , on the stack, or an instance variable of a class?
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:37 AM
Scoop.it!

SmartOptimizer - La librairie PHP qui boost vos pages web - La Ferme du web

SmartOptimizer - La librairie PHP qui boost vos pages web - La Ferme du web | EcoConception Logicielle | Scoop.it
SmartOptimizer est une librairie PHP permettant d'optimiser vos pages web grâce à divers outils de réduction de poids, de cache etc.
No comment yet.
Scooped by Mickael Ruau
February 28, 2013 9:37 AM
Scoop.it!

PHP Quick Profiler - Une console de debug et log PHP - La Ferme du web

PHP Quick Profiler - Une console de debug et log PHP - La Ferme du web | EcoConception Logicielle | Scoop.it
Dans le même style que Firebug pour le HTML / JS, PHP Quick Profiler est une console de debug et log pour PHP.
No comment yet.