Grosse optimisation de Flatboard

simon
Grosse optimisation de Flatboard
Simon Monday 3rd December 2018, 08:01:53

Je viens d'avoir une super idée pour optimiser flatboard ET les plugins.
En haut du init.php ou autre, tu stokes toutes les données dans un tableau, par exemple
$GLOBALDATA
et à la fin du chargement de Flatboard, tu enregistre cette variable.
Pourquoi ?
Parce que dans les plugins par exemple, au lieu de faire un 
foreach(flatDB::listEntry("topic") as $topic){
  $topicEntry = flatDB::getEntry("topic",$topic);
  // [...]
}

, tu fais un
foreach($GLOBALDATA["listEntry"]["topic"] as $topic){
  $topicEntry = $GLOBALDATA["topic"][$topic]
  // [...]
}

et ça optimiserais teeeeeelement le temps de chargement, au lieu faire un
file_get_content
 et un
file_put_content
tout le temps, tu le fais juste une fois au début, et une fois à la fin.

Replies 6
Fred
Fred  Monday 3rd December 2018, 10:05:46

Hello Simon,
C'est justement une grossière erreur de centraliser toutes les variables au cœur de Flatboard.
Actuellement l'index de la page se charge en même pas une demi seconde, sachant que google pénalise pour les sites qui mette plus de 2 secondes.
Ça laisse de la marge tu ne crois pas ?

Par contre je viens d'intégrer la compression gzip si le navigateur du visiteur le permet, et qui dans ce cas peut faire gagner 30% de temps de chargement en plus.
  • Before ask a question, read the documentation.
  • 🎉  Featured as #1 product of the day on Product Hunt
  • Please like in alternativeto.net 👍🏻
  • ╰☆╮Flatboard╰☆╮ is a open source and community contributions are essential to project success!
  • <TextField>, my new CMS project designed by a passionate developer, for developers!
  • My last project Fast⚡︎CMS, a Flat-File cms.
  • I am currently busy 😫.

simon
Simon  Monday 3rd December 2018, 15:39:13

c'est vrai qu'il y a de la marge, mais si quelqu'un a, à toute hasard 10 000 messages dans son forum, ce serait plus rapide d'utiliser la technique que j'ai écrit ci-dessus non ?

Fred
Fred  Monday 3rd December 2018, 16:07:17

Ben c’est assez vague ce que tu me dis, tu y mettrais quel tableau dans $GLOBALDATA ?
Parce que tu peux déjà utiliser global $config par exemple, pour retourner les paramètres de Flatboard.
J'utilise souvent dans les plugins si tu as remarqué.
  • Before ask a question, read the documentation.
  • 🎉  Featured as #1 product of the day on Product Hunt
  • Please like in alternativeto.net 👍🏻
  • ╰☆╮Flatboard╰☆╮ is a open source and community contributions are essential to project success!
  • <TextField>, my new CMS project designed by a passionate developer, for developers!
  • My last project Fast⚡︎CMS, a Flat-File cms.
  • I am currently busy 😫.

simon
Simon  Monday 3rd December 2018, 16:50:55

Ok je m'explique : dès le chargement de flatboard, FlatBoard stoque dans un tableau toutes les données avec des
file_get_contents()
,
Ensuite, par exemple, au lieu de retourner un 
file_get_contents()
 dans
flatDB::readEntry()
, FlatBoard retourne
$GLOBALDATA[$type][$file]

Et par exemple, au lien de faire un
file_put_contents()
 dans
flatDB::saveEntry()
, FlatBoard fait un
$GLOBALDATA[$type][$file] = $data;

Et quand tout le site a finit d'être chargé, FlatBoard enregistre tout avec des
file_put_contents()
.

Edit : c'est possible de faire pour que les zones de code ne prennent pas toute une ligne ?

Last modified by Simon on Monday 3rd December 2018, 16:52:00

Fred
Fred  Monday 3rd December 2018, 20:09:01

Mais file_get_contents() et file_put_contents sont nativement utilisé par PHP, je ne comprends pas trop ce que tu veux en fait.
Tout est chargé/écrit par ces 2 fonctions, tout cms utilisant des fichiers, les lits et les écrits de cette manière.
  • Before ask a question, read the documentation.
  • 🎉  Featured as #1 product of the day on Product Hunt
  • Please like in alternativeto.net 👍🏻
  • ╰☆╮Flatboard╰☆╮ is a open source and community contributions are essential to project success!
  • <TextField>, my new CMS project designed by a passionate developer, for developers!
  • My last project Fast⚡︎CMS, a Flat-File cms.
  • I am currently busy 😫.

simon
Simon  Monday 3rd December 2018, 20:33:43

Justement, c'est pas plus rapide de lire et écrire des données plusieurs fois depuis un tableau et d'en suite enregistrer que de lire des données depuis le fichier, d'enregistrer tout de suite les données modifié plusieurs fois de suite ?

Suggested Topics
SurveyBuilder-Admin
SurveyBuilder-Admin started plugin Plugin Extractor
Resources
46.8K 1
Want to read more? Browse all categories or view latest topics.