EcoConception Logicielle
9.0K views | +0 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
April 11, 2013 5:04 AM
Scoop.it!

Retour d’expérience: CodeStory 2013 | Soat blog

Retour d’expérience: CodeStory 2013 | Soat blog | EcoConception Logicielle | Scoop.it

Le concours Codestory vient de se terminer, mais je suis heureux d’avoir pu participer de la première étape jusqu’à la phase finale. Voici donc mon retour d’expérience sur ce super évènement.

No comment yet.
Scooped by Mickael Ruau
April 11, 2013 3:22 AM
Scoop.it!

Profile your PHP application and make it fly

Making an application scale and go faster is often seen as a wizardly task. We read the micro-optimisation tricks posted in tech blogs and apply them with uncon
No comment yet.
Scooped by Mickael Ruau
April 11, 2013 3:11 AM
Scoop.it!

Closure Tools — Google Developers

The Closure Compiler compiles JavaScript into compact, high-performance code. The compiler removes dead code and rewrites and minimizes what's left so that it downloads and runs quickly. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. These checks and optimizations help you write apps that are less buggy and easier to maintain.

 

 

No comment yet.
Scooped by Mickael Ruau
April 11, 2013 2:36 AM
Scoop.it!

jsPerf: JavaScript performance playground

A performance playground for JavaScript developers. Easily create and share test cases and run cross-browser benchmarks to find out which code snippet is most efficient.
No comment yet.
Scooped by Mickael Ruau
April 10, 2013 11:18 AM
Scoop.it!

Méthodes évoluées d'utilisation des consoles JavaScript des navigateurs

Méthodes évoluées d'utilisation des consoles JavaScript des navigateurs | EcoConception Logicielle | Scoop.it
Une console donne aussi droit à des fonctions de log (journal) plus souples qu'un banal appel à ) qui se révélera très souvent peu détaillé et bloquant.
No comment yet.
Scooped by Mickael Ruau
April 10, 2013 11:01 AM
Scoop.it!

Optmizing String Comparisons · MattSnider.com

This article will discuss a simple optimization to save you a few characters and a little performance when evaluating equality. In JavaScript, there are two types of equality: structural equality (==) where the content of two references are the same, and physical equality (===) where two object point to the same reference or are structurally equal and have the same object type. For the most part I use physical equality when comparing values, to ensure any variable is exactly what it is expected to be. For example, consider this function:

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:59 AM
Scoop.it!

Timeouts Explained · MattSnider.com

I went to the Bayjax Meetup held by Yahoo! yesterday. The theme of the speakers was how to improve the performance of your JavaScript. There were lots of good presentations that will hopefully be online soon. The presentation that was most useful for me was by Nicholas Zakas, from his book High Performance JavaScript. His talk inspired todays article, explaining how the timer works for timeouts in JavaScript.

 

First of all, it is important to understand that in a browser there is one thread managing both JavaScript execution and UI updates (the UI thread). This means that while JavaScript is executing the UI cannot update and vice-versa. If the UI thread is processing something, all new JavaScript and UI tasks are added to a queue, and executed in order.

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:49 AM
Scoop.it!

Recursive Function Performance - Static vs This · MattSnider.com

I recently solved a recursive problem in JavaScript, using a static function instead of adding the function to the prototype of the object I was working on. The pair programmer asked me why I choose to do it that way. After a few minutes discussion, I settled on two reason why I intuitively felt static functions are faster, especially for recursion: less scope lookups and better Just-In-Time compilation (JIT) optimizations. This article describes my hypothesis that static functions are faster and the results which clearly show using this in recursion does not meaningfully affect performance in modern browsers.

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:48 AM
Scoop.it!

Insertion Sort · MattSnider.com

Insertion sort is a simple, quadratic (O(n2)) sorting algorithm that iterates forward through the array, sorting the current index value in-place by inserting it into the correct position among the values at smaller indices, which were sorted in previous passes. In practice it out performs the other quadratic sorting algorithms, such as bubble sort and selection sort.

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:37 AM
Scoop.it!

Telerik Watch: Optimization Tips: Testing Page Performance

Telerik Watch: Optimization Tips: Testing Page Performance | EcoConception Logicielle | Scoop.it
No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:31 AM
Scoop.it!

OptiPNG Home Page

OptiPNG Home Page | EcoConception Logicielle | Scoop.it

OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information. This program also converts external formats (BMP, GIF, PNM and TIFF) to optimized PNG, and performs PNG integrity checks and corrections.

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

Optimisation et performance web » Inférence de types et minification du JavaScript

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:00 AM
Scoop.it!

Les français prêts à garder plus longtemps leur ordinateur pour préserver l’environnement

Les français prêts à garder plus longtemps leur ordinateur pour préserver l’environnement | EcoConception Logicielle | Scoop.it
Une étude de l’Institut Ipsos pour Crucial.fr révèle que 86% des français pensent qu’il est préférable pour l’environnement de faire réparer leur ordinateur ou de lui ajouter un module de mémoire plutôt que de le...
No comment yet.
Scooped by Mickael Ruau
April 11, 2013 3:22 AM
Scoop.it!

xhprof

xhprof | EcoConception Logicielle | Scoop.it
xhprof - XHProf is a function-level hierarchical profiler for PHP and has a simple HTML based user interface. The raw data collection component is implemented in C (as a PHP extension). The reporting/UI layer is all in PHP.
Mickael Ruau's insight:
<p>XHProf est un outil de profilage hiérarchique pour PHP. Il relèveles appels au niveau des fonctions et mesure <a href="#inclusive">inclusivement</a> et<a href="#exclusive">exclusivement</a> des métriques telles que le temps écouléla charge CPU ou l’usage de la mémoire. Un profil de fonction peut être divisé selon ses appelants, ou ses appelés. Le composant qui extrait les données brutes est écrit en Cet implémenté telle une extension PHP Zend.<code><b>xhprof</b></code>. XHProf a une interface utilisateur simple en HTML, (écrite en PHP).L’interface permet de visualiser et de partager facilement le résultat des profilages dans un navigateur.Un rendu sous forme de graphique est également disponible.
No comment yet.
Scooped by Mickael Ruau
April 11, 2013 3:21 AM
Scoop.it!

CR Velocity Conférence Europe 2012 : Day 1 -

CR Velocity Conférence Europe 2012 : Day 1 - | EcoConception Logicielle | Scoop.it
Nous voici de retour pour une Vélocity Conference, le paradis de la WebPerf et des Devops !
No comment yet.
Scooped by Mickael Ruau
April 11, 2013 2:52 AM
Scoop.it!

Timed array processing in JavaScript | NCZOnline

Timed array processing in JavaScript | NCZOnline | EcoConception Logicielle | Scoop.it
Not too long ago, I blogged about a way to asynchronously process JavaScript arrays to avoid locking up the browser (and further, to avoid displaying the
No comment yet.
Scooped by Mickael Ruau
April 11, 2013 2:36 AM
Scoop.it!

Benchmark.js

Benchmark.js | EcoConception Logicielle | Scoop.it
A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.
No comment yet.
Scooped by Mickael Ruau
April 10, 2013 11:11 AM
Scoop.it!

Introduction aux objets et tableaux en JavaScript | Atinux

Introduction aux objets et tableaux en JavaScript | Atinux | EcoConception Logicielle | Scoop.it

Oubliez les new Array(),en JavaScript pour déclarer un tableau il suffit de faire :

var tableau =[];    

De plus, sachez que cette déclaration est une Best-Practice. Vous gagnerez en performance en l’utilisant, certes ce n’est pas beaucoup mais c’est déjà ça de pris.

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

Handle Slow Processes Without Blocking the UI · MattSnider.com

Note: This post was inspired by work done by Nicholas Zakas. It turns out he has already written a blog article solving this problem and has a more elegant solution at Timed Array Processing in JavaScript.

 

Since JavaScript is executed by the same thread that handles updating the UI, developers can easily lock up the UI and make it unresponsive to end-users.

 

Slow operations, such as bubble sorting a million value array, or adding hundreds of table rows to the DOM, will cause the JavaScript engine to lock the UI thread, making the page unusable to the end-user. To work around this, if you have large, slow operations, you can split the execution into chunks, so that the UI thread can respond to the end-user between chunks, and thereby improving the responsiveness of your site. Todays article will show you one way to chunk slow iterative operations.

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:49 AM
Scoop.it!

Evaluating JavaScript Iteration Techniques · MattSnider.com

It has been a while since we looked at the performance of various iteration techniques in JavaScript. Since most developers use a JavaScript framework nowadays, you may not even be aware of the trade-offs being made each time you call $.each or your library’s equivalent iteration function. This article describes the four most common iteration techniques and how well they perform on several browsers, and compares it to the native browser Array.prototype.forEach.

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:49 AM
Scoop.it!

Selection Sort · MattSnider.com

Selection sort is a simple, quadratic (O(n2)) in-place comparison sort algorithm that divides the array into two lists: an already sorted part and a to-sort part. The algorithm moves for through the array and inserts the next value in-place by searching the unsorted part of the array for the next value. In practice, the selection sort is useful when memory is limited.

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:47 AM
Scoop.it!

Shell Sort · MattSnider.com

Continuing our sorting algorithm discussion, today’s article will cover a technique known as Shell Sort.

Shell sort is a quadratic (O(n2)) in-place comparison sort algorithm developed by Donald Shell in 1959 that is basically Insertion Sort with a gap between comparing indexes. The assumption is that comparing farther apart elements can move some out-of-place elements into position faster.

No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:32 AM
Scoop.it!

jpegtran : un outil permettant d’optimiser les images JPEG

jpegtran : un outil permettant d’optimiser les images JPEG | EcoConception Logicielle | Scoop.it
Dans la catégorie « optimisation d’images » voici un outil qui paye pas de mine et qui fait son boulot proprement de façon « lossless », c’est à dire sans décompression de l’image puis recompression des données qui causent souvent une perte de...
No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:31 AM
Scoop.it!

Optimiser les images - lehollandaisvolant.net

Optimiser les images - lehollandaisvolant.net | EcoConception Logicielle | Scoop.it
No comment yet.
Scooped by Mickael Ruau
April 10, 2013 10:09 AM
Scoop.it!

Recherche de sous-expressions communes - Wikipédia

En informatique, la recherche de sous-expressions communes est une technique d'optimisation de code qui cherche des instances d'expressions communes (c'est-à-dire renvoyant toutes la même valeur) et qui détermine si cela vaut la peine de les remplacer par une variable unique contenant la valeur calculée.

Dans le code suivant :

il peut être intéressant de transformer le code compilé comme si on avait écrit :

No comment yet.