developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 14 years ago

Closed 14 years ago

#312 closed task (fixed)

Doing optimization

Reported by: laurentj Owned by:
Priority: normal Milestone: Jelix 1.0 RC1
Component: jelix Version: 1.0 beta3
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed:
Hosting Provider: Php version:

Description

There are some optimisation to do:

  • replace some define() by class constants
  • see if there are some require_once which can be replaced by require

Change History (2)

comment:1 Changed 14 years ago by laurentj

See also http://www.ilia.ws/files/ez_performance.pdf

  • $isWindows = DIRECTORY_SEPARATOR == '
    '
  • utiliser PHP_VERSION plutôt que php_version()
  • $_SERVER 'REQUEST_TIME' plutôt que time() quand c'est possible
  • Dans les regexp : utiliser (?: pour éviter la capture inutile
  • Eviter les regexp quand c'est possible
  • strtr : utiliser des chaines plutot que des tableaux
  • Eviter les remplacements, seulement lorsqu'on veut stocker les résultats. Utiliser strpos si on veut savoir si il faut remplacer ou pas.
  • Eviter les @. On peut utiliser error_reporting() pour annuler le mode d'erreur avant l'appel à la fonction, et le remettre aprés.
  • utiliser strcnmp plutôt qu'un substr+comparaison
  • implode sur des tableaux associatifs est plus lent que sur des tableaux normaux. Faire un array_values avant.
  • Dans une instruction for, eviter l'appel à une fonction (ex: faire un count avant le for, et pas pendant)

comment:2 Changed 14 years ago by laurentj

  • Resolution set to fixed
  • Status changed from new to closed

Done

Note: See TracTickets for help on using tickets.