AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez
 

 Challenges d'optimisation

Aller en bas 
AuteurMessage
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 13:29

Challenges d'optimisation
Challenge 1 ouvert

Salut, je vous présente un petit challenge d'optimisation.
Je posterais des fonctions, qui seront en général peu voir pas du tout optimisées, et le but seras de corriger les éventuelles erreurs, mais surtout rendre la fonction plus rapide en temps d’exécution, sans pour autant diminuer la qualité du résultat.

Vous pourrez poster votre avancée en spoiler, ainsi que discuter des méthodes utilisée, voir corriger les autres membres.
Mais si vous avez finis et que vous ne voyez plus ou optimiser le code, envoyez le moi par MP.
Chaque participant recevra un nombre de point en fonction de l'optimisation de son code.

Un peu optimisé: 1pt
Optimisé: 2pts
Optimisation maximale: 3pts

Niveau Débutant : score * 1
Niveau Intermédiaire : score * 2
Niveau Difficile : score * 3

Niveau Débutant
Challenge 1-1

draw_grid(x, y, width, height, size)
Code:
wx = argument0
wy = argument1
wid = argument2
hei = argument3
size = argument4

for(i=0; i<wid; i+=1)
for(j=0; j<hei; j+=1)
{
    draw_line(wx + size*i, wy + size*j, wx + size*i, wy + size*(j+1))
    draw_line(wx + size*i, wy + size*j, wx + size*(i+1), wy + size*j)
}


Niveau Intermédiaire
Challenge 2-1

draw_spiral(x, y, r, turns)
Code:
wx = argument0
wy = argument1
r  = argument2
turns = argument3
step = 1

R = 0
for(i=0; i<360 * turns; i+=step)
{
    x1 = cos(degtorad(i)) * R
    y1 = sin(degtorad(i)) * R
    x2 = cos(degtorad(i+step)) * (R + r/(turns * 360 / step))
    y2 = sin(degtorad(i+step)) * (R + r/(turns * 360 / step))
   
    draw_line(wx + x1, wy + y1, wx + x2, wy + y2)
    R += r/(turns * 360 / step)
}


Participants:
-M@d_Doc : 4pts
--Coco- : 4pts

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED


Dernière édition par onilink_ le Dim 21 Oct 2012 - 16:49, édité 4 fois
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 14:10

Allez, je participe, j'ai un peu de temps en ce moment :p
Spoiler:
 

_________________
Challenges d'optimisation Control_commentTous les icones de gm utilisables sur le cbna ICI Challenges d'optimisation Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 14:19

Pas mal, y a de l'idée Smile
Allé encore un petit effort, on peut encore diviser les calculs par 2 la :b

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 15:08

raaah oui c'est tout bête en plus :
Spoiler:
 

_________________
Challenges d'optimisation Control_commentTous les icones de gm utilisables sur le cbna ICI Challenges d'optimisation Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 15:10

Héhé :b
Spoiler:
 

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 15:52

Spoiler:
 

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 15:58

Yep c'est ça coco :b
Pense au spoilers par contre x)

Mais bon vous oubliez toujours un outil important pour tout ce qui est dessin.

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 15:59

Oui, désolé :p

Bon j'ai pas trop perdu la main ^^
Je me suis fait à l'opti en programmant sur TI, la moindre addition prend 5 secondes alors il faut minimiser au maximum le nombre d'opérations par boucle...

Ça me fait 2 ou 3 points ça ?
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 16:19

raaah ouiiii j'avais pas vu ça c'est tout bête, et... bam!

Spoiler:
 

_________________
Challenges d'optimisation Control_commentTous les icones de gm utilisables sur le cbna ICI Challenges d'optimisation Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 16:34

Héhé on se rapproche du code final :b
Mais y a encore quelques optis possible, je vous laisse chercher gnii

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence

Messages : 2213
Localisation : Oui

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 16:46

Remplacer banana par une variable plus courte et plus compréhensible ? awesome
Sinon pour la déobsfurcation , j'ai du lire ton tuto sur les op' binaires, j'ai enfin capté !
Je vais essayer d'imprimer ton code ce soir, j'ai 2h d'anglais demain awesome
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 16:51

Ahah, ben c'est cool ça :b
Mon tuto sur les op binaires commence a se faire vieux par contre... je pense que je vais revoir quelques trucs.
Sinon, j'ajoute des niveaux de difficulté la, histoire de rendre les challenges accessibles a tous Smile

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 17:13

Ah j'avais pas pensé à ça...
Ceci dit, on peut toujours faire des trucs à la c*n qui altèrent à la lisibilité mais qui permettent de gagner quelques lignes...

Spoiler:
 

_________________
Oh, snap.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 17:15

Non c'est pas ça, y a quand même quelques optimisations sur les opérations a faire, mais surtout une plus compliquée a penser qui a un rapport avec la fonction elle même.
Pour ceux qui veulent un indice:
Spoiler:
 

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass

Messages : 3337
Localisation : Dans une canonnière wookie.
Projet Actuel :
Things
Challenges d'optimisation Void

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 20:12

Spoiler:
 

_________________
Wyvup
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 20:13

Spoiler:
 

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer

Messages : 6936
Projet Actuel : Bataille de cake au fruits

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyDim 21 Oct 2012 - 23:13

Tu parle du fait que à chaque étape de la boucle il vérifie la même série opération au lieu d'utiliser une constante?

_________________
Challenges d'optimisation Wargamer3
Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyLun 22 Oct 2012 - 5:53

Pour la spirale on a pas tellement le choix, mais y a un moyen de diminuer le nombre de tours de boucles Wink

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
Wargamer
*Excellent utilisateur*
Wargamer

Messages : 6936
Projet Actuel : Bataille de cake au fruits

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyLun 22 Oct 2012 - 13:38

Ba de ce que je vois, rien ne change dans la condition.
for(i=0; i<360 * argument3+step; i+=step)

pourrait très bien être

a = 360 * argument3+step
for(i=0; i<a; i+=step)

_________________
Challenges d'optimisation Wargamer3
Règle #1 du CBNA, ne pas chercher à faire dans la subtilité; personne comprend
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyLun 22 Oct 2012 - 13:43

Ouai ça je suis d'accord mais ça n'a pas vraiment d'influence sur les performances.
Il y a une optimisation qui permettra de gagner beaucoup d'itérations Wink

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-

Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyLun 22 Oct 2012 - 15:11

Au cas où...
Spoiler:
 

_________________
Oh, snap.
Revenir en haut Aller en bas
Invité
Invité



Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyLun 22 Oct 2012 - 15:28

Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9094
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyLun 22 Oct 2012 - 16:36

Ah ben d'ailleurs lui il nécessiterais pas mal d'optis x)
Je peut le prendre pour le challenge?

_________________
Challenges d'optimisation Runningpotato1Challenges d'optimisation TvF6GED
Revenir en haut Aller en bas
Invité
Invité



Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation EmptyLun 22 Oct 2012 - 17:47

Revenir en haut Aller en bas
Contenu sponsorisé




Challenges d'optimisation Empty
MessageSujet: Re: Challenges d'optimisation   Challenges d'optimisation Empty

Revenir en haut Aller en bas
 
Challenges d'optimisation
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Informations :: Compétitions-
Sauter vers: