Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: How it's made ( situ infoarena ) ?  (Citit de 4024 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Agent_Smith
Strain


Karma: -111
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« : Februarie 09, 2007, 17:51:15 »

eu sunt foarte curios cum functioneaza sistemul de evaluare al problemelor de pe site asa ca am deschis scest subiect pentru intrebari legate de cum functioneaza situl  Very Happy 
Memorat
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« Răspunde #1 : Februarie 09, 2007, 19:45:06 »

http://infoarena.ro/documentatie/evaluator
Memorat
Agent_Smith
Strain


Karma: -111
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #2 : Februarie 17, 2007, 14:57:03 »

Eu ma referam la un algoritm PHP sau chiar cod ... NU abureala aia din documentatie  Angry  Shame on you
Memorat
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #3 : Februarie 17, 2007, 15:14:47 »

Eu ma referam la un algoritm PHP sau chiar cod ... NU abureala aia din documentatie  Angry  Shame on you

Daca ai citi documentatia disponibila pe site ai vedea (http://infoarena.ro/developer) ai vedea ca poti gasi si codul sursa...  Beat Dead Horse
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #4 : Februarie 17, 2007, 15:28:11 »

http://infoarena.ro/documentatie/development Smile


PS: de ce nu mai sunt moderator? Whistle
Memorat
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #5 : Februarie 17, 2007, 16:01:51 »

PS: de ce nu mai sunt moderator? Whistle

Nu stiu, e un bug dubios  d'oh! .. acum esti
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #6 : Februarie 18, 2007, 22:58:26 »

Eu ma referam la un algoritm PHP sau chiar cod ... NU abureala aia din documentatie  Angry  Shame on you

Ca tot veni vorba, mi se pare ca in directorul jrun aveti voi evaluatorul... O intrebare : [dupa ce am citit codul sursa] sigur memoria ocupata de proces e in /proc/$pid$/statm ?... sau sigur e campul pe care il cititi voi?... pentru ca pe tests/1meg.c [compilat] imi zice 8 kb memorie...

Stiti cum se poate sa afli cata memorie foloseste un program la executie? ... ca am cautat mult si nu am gasit, iar jrun.c  zice ceva dubios  Huh, am incercat cu sursele de la alte probleme si sigur da niste valori cam mici...
Memorat
fluffy
Echipa infoarena
De-al casei
*****

Karma: 71
Deconectat Deconectat

Mesaje: 146



Vezi Profilul
« Răspunde #7 : Februarie 18, 2007, 23:39:32 »

Cum adica iti zice 8kilo memorie?

Pe sistemul tau trec testele de jrun? ./run-tests.php tests/1meg.c or something

Ce versiune de linux ai?
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #8 : Februarie 19, 2007, 22:12:42 »

Cum adica iti zice 8kilo memorie?

Dubios, acum merge pe 1meg da memory limit exceeded cand dau -m 1024... dar imi zice ca as folosi ba 3MB, ba 4MB...
am mai facut un program :
Cod:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

long *a;

int main() {
    int i;

    a = (long*) malloc(1024*1024);
    for (i=0; i<262144; ++i)
        a[i] = i;
    return 0;
}
malloc stiu ca aloca atatia bytes cati ii specifici [nu biti]... eu am zis acolo 1MB si in for folosesc 256KB... totusi:

./jrun -p ./tests/mytest -m 1024
OK: time 4ms memory 12kb: Execution successful.
Huh

Citat
Pe sistemul tau trec testele de jrun? ./run-tests.php tests/1meg.c or something
ummm recunosc nu am folosit ./run-tests.php, am crezut ca e chiar script de php...

./run-tests.php tests/1meg.c
/usr/bin/env: php: No such file or directory

Nu stiu cu ce il rulati voi [eu am php instalat]... poate nu e configurat cum trebuie... oricum am incercat totusi cu ./jrun

Citat
Ce versiune de linux ai?

cat /proc/version
Linux version 2.6.15-28-386 (buildd@terranova) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #1 PREEMPT Thu Feb 1 15:51:56 UTC 2007
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #9 : Februarie 19, 2007, 22:27:20 »

Stiu ca mie pe Ubuntu nu-mi mergea calumea decat daca era rulat cu sudo (nu stiu daca ai incercat asta si nici nu stiu motivu pentru care se intampla asta Smile ) Tongue
« Ultima modificare: Februarie 19, 2007, 22:42:34 de către Bogdan Tataroiu » Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #10 : Februarie 19, 2007, 22:40:15 »

sudo ./jrun -p ./tests/mytest -m 20
Password:
OK: time 4ms memory 12kb: Execution successful.

ummm... tot 12 da... sigur malloc aloca 1 mega in programelul ala?
Cod:
    a = (long*) malloc(1024*1024);
    for (i=0; i<262144; ++i)
        a[i] = i;
altceva nu vad de la ce sa fie, decat campul din care citeste sa fie diferit la mine sau gresit Sad... si tind sa cred ca e programelul meu gresit cu ceva...

PS: Si da, nu m-am gandit sa il rulez asa Very HappyTongue
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #11 : Februarie 19, 2007, 22:45:38 »

Nu stiu cu ce il rulati voi [eu am php instalat]... poate nu e configurat cum trebuie... oricum am incercat totusi cu ./jrun
Ca sa rulezi php in linie de comanda iti trebuie pachetu php5-cli (command line interpreter).
Memorat
fluffy
Echipa infoarena
De-al casei
*****

Karma: 71
Deconectat Deconectat

Mesaje: 146



Vezi Profilul
« Răspunde #12 : Februarie 20, 2007, 00:00:10 »

Codul asta:

a = (long*) malloc(1024*1024);
for (i=0; i<262144; ++i)
        a = i;

Consuma 1 mega, pentru ca a este 4 bytes. Faptul ca tie iti zice 12k probabil ca este un bug Smile.
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #13 : Februarie 20, 2007, 08:53:07 »

Ah, da... calculasem eu ceva cand l-am facut Smile ... Bine dar bug unde sa fie ? [am vazut si prin monitor ca cele mai frecvente valori pt memoria folosita sunt 8kb si 12kb... ]

Ce pot face ca sa functioneze corect?
Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #14 : Februarie 20, 2007, 09:29:18 »

Daca compilez sursa ta fara O2 sau static din 20 rulari pe vreo 5 imi foloseste 8-16 kb si pe celelalte 1332 kb Banana
Daca compilez sursa ta cu O2 sau cu static foloseste tot timpul 8-16 kb de memorie. Cred ca sunt doar optimizari dubioase ale C-ului Smile Nu prea e bug Tongue

Daca in schimb folosesc codul:
Cod:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

long *a;

int main() {
        int i;

        a = (long*) malloc(1024*1024);
        for (i=0; i<262144; ++i)
                a[i] = i;

        freopen("tmp.out", "wt", stdout);
        for (i = 0; i < 262144; i++)
                printf("%ld\n", a[i]);
        return 0;
}
Merge tot timpul bine si foloseste cam 1300 kb de memorie. Monkey
« Ultima modificare: Februarie 20, 2007, 10:12:05 de către Bogdan Tataroiu » Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #15 : Februarie 20, 2007, 10:08:00 »

Foarte dubios  Raised eyebrow, dar ai dreptate Smile Inseamna ca poate fi folosit cu incredere in testarea unor surse ca sa vedem daca intra in memorie / timp Smile

Multumesc mult de ajutor!
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines