Articles taggés avec 'optimisation'

GitHub pour Mac

Si vous êtes inscrit sur ​​GitHub , comme moi , pourrait vous faire l'aise cette application pour Mac OS X pour Mac GitHub . Il vous permet de gérer le référentiel si simple, grâce à l'interface graphique excellente minimale et intuitive. Bonne chose est que l'application peut être activée directement à partir de la page lorsque vous souhaitez cloner un référentiel GitHub:

GitHub

Suite ...

Coding Guidelines

Lorsqu'ils ne sont plus travailler seul pour tous les développeurs vient le temps de trouver des indications dans l'écriture de code. Les protocoles et les normes qui permettent de «lire» facilement et intervenir (plus facilement) dans le code des autres.
Lorsque nous travaillons sur un projet plus programmeurs, souvent des langues différentes, vous devez trouver une forme commune de l'écriture, internes et externes des normes de documentation dans le code. Dans mon travail, je suis généralement d'interagir avec:

  • Objet-C, C / C + +
  • PHP
  • HTML
  • JavaScript
  • Actionscript
  • CSS

Suite ...

Très court astuce: CSS conditionnelle et l'optimisation

L'utilisation de conditions dans le navigateur est souvent utilisé pour décider quelle feuille de style à la charge selon le type de navigateur. Par exemple, nous pouvons utiliser ce code pour charger une feuille de style en particulier lorsque le navigateur est Internet Explorer 6:

Suite ...

Sur la structure des objets d'un plugin Wordpress

Si nous nous appuyons sur l'exemple simple hellodolly.php fournies par WordPress , ou encore les mêmes documents officiels, ne vient jamais à l'écriture d'un plug-in de bonne et efficace. Nous voulons ici pour analyser une structure possible, alors un squelette qui peut être utilisée plusieurs fois.

Suite ...

Optimiser le chargement d'un site Web

Merci à les suggestions et les conseils de David Salerno , j'ai essayé d'optimiser le chargement des undolog.com, activités qui, pour des raisons de "temps", je remets toujours. En fait je n'ai pas été en mesure d'appliquer toutes les précieux conseils de David, mais j'ai réussi à donner une belle «nettoyer» et de réduire les temps de chargement de toute façon!

Réduction des Widgets, et Badget antipixel

La première chose que j'ai faite a été de minimiser le fardeau imposé par les différents widgets dans le blog:

  • J'ai laissé tomber des lignes affichées dans les widgets MyBlogLog : 10 à 5 lignes
  • J'ai supprimé la blogroll de antipixel
  • La bibliothèque aNoobi montre deux livres au lieu de 5

Suite ...

Constantes et variables: quelle est la réelle différence?

Il semble évident, mais certains échapper à la différence subtile entre les constantes et les variables dans un langage de programmation. Les constantes, à partir du nom, ne changez pas leur valeur au cours du cycle d'un programme, tandis que les variables peuvent le faire! Souvent, toutefois, arriver à utiliser des variables au lieu de constantes sans s'en rendre compte, aussi parce que ce n'est pas l'impact de la logique d'une application. Malgré cela, la différence entre les constantes et les variables, et il se dégage tout à la compilation, où la constante joue un rôle certainement plus puissant.

En venant de C ou de programmation de l'Assemblée connaît la différence entre les constantes et les variables, en particulier parce que, dans les deux assemblage et C, les constantes jouer un rôle par MACRO. Pour MACRO signifiait dans un "morceau de code" qui est étiqueté et remplacé dans le code à la compilation. Le compilateur, en bref, effectue une sorte de trouver .. remplacer (et est sostituitsci) dans le code chaque fois qu'il rencontre une constante.

Imaginez que vous écrivez en C, la pièce simple suivante de code:

1
2
3
4
5 ; int a = 5;
3 ; int b = 3;
int c;
b ; c = a + b;

sono indicate come variabili in questo caso. Que ce soit a ce qui b sont présentés comme des variables dans ce cas. En C, en fait, les constantes sont définies avec le mot clé #define . sono state definite come int . Nous constatons immédiatement que a ce qui b a été définie comme int . Déjà là, vous pouvez faire une première optimisation. Si nous savons que notre variable a ne jamais dépasser une certaine valeur, vous devez le déclarer correctement et ne pas utiliser les types de données au hasard. Certains développeurs ne vous embêtez pas à déclarer les types corrects, pensant que cela n'affecte pas la performace! Faux! Alternativement, il est acceptable que le premier projet de code ne comporte pas ce niveau de détail. Cependant, il est une bonne règle, au cours du processus de développement, l'examen du code et de vérifier les types de données.
Toutefois, dans une assemblée de la famille Motorola, par exemple, comme le 68000 mythique, aurait saisir notre code compilé (sans optimisations) en une sorte de:

1
2
3
4
, d0 ; int a déplacer le # 5, d0; Int.
, d1 ; int b bouger. l'# 3, d1, int b
d2 ; int c - foo déplacer le D1, D2, int c -. foo
l d0 , d2 ; risultato in d2 ovvero c ajouter. d0 l', D2, D2, ou le résultat de c

ou:

1
2
3
, d0 ; int a déplacer le # 5, d0; Int.
, d1 ; int b bouger. l'# 3, d1, int b
d1 ; risultato in d1... bouger. L D0, D1, D1 résultat ...

Le compilateur, si habiles, l'effort dans les optimisations, puis écrire le code avec le mot-clé droit ne peut contribuer à améliorer la sortie compilée. Dans notre cas, si la valeur 5 est une constante n'est pas pratique d'utiliser une variable entière, car le compilateur, et à juste titre, compte tenu de la variable variable, en fait, une predisponde ensemble facile à contenir la valeur 5, ce qui en binaire est de 101, soit occupe trois bits unique (le cas échéant, int est un 32bit ou 53bit pire une double précision en virgule flottante!). Si l'on avait écrit le code comme ceci:

1
2
3
4
5
5 # define MIA_COSTANTE

3 ; int b = 3;
int c;
b ; c = b + MIA_COSTANTE;

Le compilateur sache dès le départ que MIA_COSTANTE , étant constant, la valeur ne changera pas donc je peut réserver moins de place pour la traiter. En pratique, le code de diverebbe Assemblée:

1
2
3
d0 ; la "q" indica una istruzione "quick", cioè che tratta valori compresi tra -128 e +127 moveq # 3, d0; le "Q" indique une déclaration «rapide», qui est des valeurs comprises entre -128 et +127
, Une déclaration «rapide» prend moins de temps CPU (4 cycles d'horloge dans ce cas)
d0 ; anche qui uso una istruzione "quick" addq # 5, d0; ici un manuel d'instruction "rapide"

Ce code est très rapide et prend moins d'octets. Ce que nous devons garder à l'esprit est que lorsque vous déclarez une variable d'environnement se prépare à le traiter comme tel, même si les compilateurs d'aujourd'hui peut faire des miracles, en effectuant une série d'étapes dans le code avant compilation (certains compilateurs, même effectuer une sorte de programme de simulation pour optimiser la compilation en code machine).

Une bonne règle est donc de déclarer le bon type pour nos variables, bien que ces sommes. Sinon, utiliser les constantes, surtout si le langage de programmation, nous utilisons les attendus (comme dans le cas de la nouvelle Flash CS3).

Suite ...