 Your new post is loading...
 Your new post is loading...
|
Scooped by
Mickael Ruau
February 28, 2013 10:19 AM
|
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:
|
Scooped by
Mickael Ruau
February 28, 2013 10:17 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 10:16 AM
|
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 à :
|
Scooped by
Mickael Ruau
February 28, 2013 10:14 AM
|
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
|
Scooped by
Mickael Ruau
February 28, 2013 10:10 AM
|
CSS Optimiser. CSS & PHP Tutorials, Scripts, Tricks, Forum, Templates
|
Scooped by
Mickael Ruau
February 28, 2013 10:00 AM
|
#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
|
Scooped by
Mickael Ruau
February 28, 2013 9:59 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 9:57 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 9:54 AM
|
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é.
|
Scooped by
Mickael Ruau
February 28, 2013 9:39 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 9:38 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 9:37 AM
|
The Compressor est un service online permettant de compresser vos fichiers javascript et css trop volumineux.
|
Scooped by
Mickael Ruau
February 28, 2013 9:35 AM
|
Affinez les réglages des paramètres réseaux de Windows afin d'accélérer votre connexion à Internet.
|
|
Scooped by
Mickael Ruau
February 28, 2013 10:18 AM
|
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:
|
Scooped by
Mickael Ruau
February 28, 2013 10:16 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 10:15 AM
|
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 :
|
Scooped by
Mickael Ruau
February 28, 2013 10:11 AM
|
Why would you ever need to optimize (or optimise, which ever spelling you prefer) or reFormat your CSS?
|
Scooped by
Mickael Ruau
February 28, 2013 10:05 AM
|
|
Scooped by
Mickael Ruau
February 28, 2013 9:59 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 9:59 AM
|
Au boulot, on s'est rendu compte que certaines données étaient réceptionnées depuis notre api en format
|
Scooped by
Mickael Ruau
February 28, 2013 9:55 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 9:39 AM
|
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.
|
Scooped by
Mickael Ruau
February 28, 2013 9:39 AM
|
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?
|
Scooped by
Mickael Ruau
February 28, 2013 9:37 AM
|
SmartOptimizer est une librairie PHP permettant d'optimiser vos pages web grâce à divers outils de réduction de poids, de cache etc.
|
Scooped by
Mickael Ruau
February 28, 2013 9:37 AM
|
Dans le même style que Firebug pour le HTML / JS, PHP Quick Profiler est une console de debug et log pour PHP.
|