Oniromancie: Scripts - Benchmark simplifié


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Tests: Alterra 0.1.1 / News: Des jeux partout ! Le Making (...) / Guides: [RGSS] Accès aux données de la (...) / Jeux: The Sword / News: Smile Game Builder : créez un RPG (...) /

Chat  (58 connectés)

Bienvenue
visiteur !






Statistiques

Liste des
membres


Contact

48 connectés actuellement

9539580 visiteurs
depuis l'ouverture

848 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Metal Gear RPG

RPG Maker Land

Le Comptoir du Clikeur

Les deux derniers

Famas

Lunae, le baz'arts d'Emz0

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




Benchmark simplifié
Script pour RPG Maker XP
Ecrit par Crystal

Si vous développez un script, il est souvent très utile de favoriser certaines structures afin d'éviter de gaspiller trop de mémoire vive sur une opération. Afin de savoir quelles méthodes ou structures sont meilleures, et ceci sans inclure une immense classe Benchmark qui propose beaucoup trop d'options et de précision pour les besoins de simples codeurs de RPG Maker, j'ai crée une classe Performance. Elle est très simple à utiliser.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Performance
  def self.check(test_name)
    if block_given?
      t = Time.now
      for i in 0..20000
        yield
      end
      @@tests[test_name] = (Time.now-t).to_s
    end
  end
  def self.report(msg = "")
    @@tests = {}
    yield if block_given?
    for i in @@tests.sort { |x,y| x[1] <=> y[1] }
      msg << i[0] << " => " << i[1] << ", "
    end
    p msg
  end
end



Vous n'avez qu'à écrire votre test ainsi:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
Performance.report {
  a = ""
  Performance.check("test 1") {
  a << "b" }
  a = ""
  Performance.check("test 2") {
  a  += "b" }
}



Résultat: test1 => 0.016, test2 => 0.812

Le résultat est du test le plus rapide au plus lent. Vous pouvez faire autant de tests que vous voulez, aussi complexes que vous voulez:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
a = "anana:abobd:234:fuuu:2"
Performance.report {
  Performance.check("alpha") {
  ! (a =~ /bd:3|furr/).nil? }
  Performance.check("beta") {
  a === /bd:3|furr/ }
  Performance.check("omega") {
  a.include?("bd:3") || a.include?("furr")}
}



Résultat: beta => 0.016, omega => 0.047, alpha => 0.062


C'est tout ! Bon scripting. ;)


Aucun commentaire n'a été posté pour le moment.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Blogs | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Télécharger: Jeux | Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis