Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

6 Stron V  « < 2 3 4 5 6 >  
Reply to this topicStart new topic
> Rozmowy na temat prac konkursowych
rzymek01
post
Post #61





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

Ostrzeżenie: (0%)
-----


no własnie, pamietam, że jak sprawdzalem instrukcje asm to w przypadku for jak i while kompilator sprowadzal do tego samego (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ernie242
post
Post #62





Grupa: Zarejestrowani
Postów: 24
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Jestem pod wrażeniem Panowie (IMG:style_emoticons/default/blinksmiley.gif) Niektóre kody są naprawdę sprytne! (co do innych - jestem zbyt głupi, żeby je rozszyfrować...)

Ja niestety nie miałem czasu za bardzo do tego przysiąść, a szkoda...

http://pastebin.com/7hts0LHU

Kod oparty na klasach byłby chyba jeszcze wolniejszy, za to opakowanie wszystkiego w funkcje pozwoliło mi na (jako tako) napisanie prostych testów podczas pisania skryptu:

http://pastebin.com/zR1Pe4LH

pozdrawiam

Ten post edytował ernie242 5.11.2010, 11:18:31
Go to the top of the page
+Quote Post
phpion
post
Post #63





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




No i zadek. Ja również odpadłem z rywalizacji. Po ostatnim prostokącie brakuje mi jednego znaku nowej linii. Cóż, trudno. Życzę Wam ostrej rywalizacji i jak najmniejszego wpływu przypadku na uzyskane wyniki.

Mój pechowy kod:
http://wklej.org/id/412353/
W moich testach 1000 wywołań zajmowało łącznie ok. 1,6 sekundy... ehhh...
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #64





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


@phpion:

Cytat
W moich testach 1000 wywołań zajmowało łącznie ok. 1,6 sekundy... ehhh...


A jak odpalales program?

- za kazdym razem exec()? "... program zostanie wykonany 1000 razy..." - problemem jest to ze czas odpalenia programu chyba przewyzsza znacznie czas wykonania obliczen - wiec neiznaczne roznice w algorytmach nie beda widoczne.
- czy w 1 skrypcie php odpaliles 1000razy funkcje do obliczen (nie tracisz czasu na odpalanie kodu)?
Go to the top of the page
+Quote Post
phpion
post
Post #65





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Testowałem to tak, że w kodzie na sztywno zapisałem zakodowany ciąg wejściowy (ten z PDFa). Następnie do kodu dodałem:
  1. $xdebug_time_index = xdebug_time_index();
  2. $xdebug_memory_usage = xdebug_memory_usage();
  3. $xdebug_peak_memory_usage = xdebug_peak_memory_usage();
  4.  
  5. $sql = mysql_pconnect('localhost', 'root', '');
  6. mysql_select_db('konkurs', $sql);
  7.  
  8. mysql_query('INSERT INTO xdebug (script, xdebug_memory_usage, xdebug_peak_memory_usage, xdebug_time_index) VALUES ("'.$_SERVER['REQUEST_URI'].'", '.$xdebug_memory_usage.', '.$xdebug_peak_memory_usage.', '.$xdebug_time_index.')');

dzięki czemu zapisywałem sobie uzyskane parametry do bazy danych. Później wyświetlałem je sobie odpowiednim widokiem, który obliczał sumaryczny czas wykonania, średni czas wykonania itp.

Skrypt wywoływałem poprzez:
Kod
ab -n1000 http://...


Szczerze mówiąc sądzę, że byłbym w zdecydowanej czołówce. Siedziałem nad tym praktycznie bite 2 tygodnie. Kombinowałem raz tak, raz srak (i w moich testach wyszło, że while jest faktycznie szybsze od for!) i w końcu spłodziłem to, co spłodziłem. Nawet głupie obliczanie długości wejścia zrobiłem while'm, gdyż było to szybsze niż strlen. No ale zapomniałem (źle doczytałem) końcowego entera (IMG:style_emoticons/default/sciana.gif)

Aha, żeby umożliwić zapis danych do bazy musiałem zamienić die() na zwykłe echo, co też spowolniło działanie skryptu (sprawdzałem również bez zapisu do bazy).

// Edit:
Poniżej zebrane czasy zamieszczonych tu prac (uruchamiane w kolejności alfabetycznej z ok. 10 sekundowymi przestojami między kolejnymi uruchomieniami):
Kod
+---------------+-------------------+
| skrypt        | czas              |
+---------------+-------------------+
| phpion.php    |  1.63519223213194 |
| rolka.php     |  2.08828377723708 |
| sever88.php   |  2.11622476577766 |
| krowal.php    |  2.79060316085828 |
| l0ud.php      |  3.10421872138977 |
| dr_bonzo.php  |  3.55402493476858 |
| askone.php    |  3.72726726532000 |
| Daimos.php    |  3.82858920097367 |
| zegarek84.php |  4.41141557693496 |
| Pawel_W.php   |  5.93350315093991 |
| ernie242.php  |  7.32922220230119 |
| Demio.php     |  9.24934792518643 |
| jasin.php     | 21.57112717628520 |
+---------------+-------------------+


Ten post edytował phpion 5.11.2010, 13:25:23
Go to the top of the page
+Quote Post
ernie242
post
Post #66





Grupa: Zarejestrowani
Postów: 24
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


2 tygle. Wow, no to naprawdę szkoda :/
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #67





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


@phpion - roznice w czasach sa ciekawe. Moze to "wina" php'a jako modul apacha i jakichs keszow.
Go to the top of the page
+Quote Post
phpion
post
Post #68





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może, nie wiem. Ja opierałem się na tych wynikach testując kolejne wersje swojego rozwiązania. Faktycznie - szkoda tych 2 tygodni (coprawda jedynie pracując po godzinach w domu, ale jednak...) ale mogę być wściekły tylko na siebie. Ponoć przypadków jak mój było więcej i zostaną upublicznione czasy wykonania wszystkich nadesłanych prac. Oczywiście błędne rozwiązania nie będą wchodziły w grę w konkursie. Dlatego jedyne co teraz mi pozostaje to cicha nadzieja, że moje rozwiązanie w liście ogólnej nie znajdzie się na żadnym z trzech pierwszych miejsc (IMG:style_emoticons/default/smile.gif) hehe.
Go to the top of the page
+Quote Post
ernie242
post
Post #69





Grupa: Zarejestrowani
Postów: 24
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Być może podarują Tobie ten jeden LF (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #70





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


A mi smieci w kodzie i kiepski czas.
Go to the top of the page
+Quote Post
phpion
post
Post #71





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(ernie242 @ 5.11.2010, 14:11:13 ) *
Być może podarują Tobie ten jeden LF (IMG:style_emoticons/default/smile.gif)

Nie - już wyniuchałem tą sprawę. Jest to błąd w rozwiązaniu i tyle.

Teraz sobie pomyślałem o sztandarowym tekście: "Nie przyjechałem tu dla pieniędzy, przyjechałem się dobrze bawić, to tylko gra" (IMG:style_emoticons/default/smile.gif) hehe.

Ten post edytował phpion 5.11.2010, 14:16:27
Go to the top of the page
+Quote Post
rzymek01
post
Post #72





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

Ostrzeżenie: (0%)
-----


@phpion nie ma co się poddawać, nawet na olimpiadzie informatycznej nie karzą za brak znaku nowej linii (IMG:style_emoticons/default/smile.gif)

PS. faktycznie, juz poprawiłem (IMG:style_emoticons/default/tongue.gif)

Ten post edytował rzymek01 5.11.2010, 19:33:10
Go to the top of the page
+Quote Post
flashdev
post
Post #73





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(rzymek01 @ 5.11.2010, 16:10:05 ) *
@phpion nie ma co się poddawać, nawet na olimpiadzie informatycznej nie każą za brak znaku nowej linii (IMG:style_emoticons/default/smile.gif)


Rzeczywiście dziwnie to zostało zorganizowane. Na takim spoj.pl dodatkowe entery nie odgrywają żadnej roli, ponieważ te linijki przez taką instrukcję jak scanf zostałyby odczytane w ten sam sposób, anwet jak by nie było enterów pomiędzy kolejnymi prostokątami.

karzą - karać (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #74





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


No dobra, ale to byl chyba najjasniej i najprecyzyjniej opisany punk regulaminu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Pawel_W
post
Post #75





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


ja o tym dobrze wiedziałem i sam nie wiem, dlaczego nie dałem tej dodatkowej linii... może jakiś rozkojarzony byłem? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ADeM
post
Post #76





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

Ostrzeżenie: (0%)
-----


Mój amatorski kod: http://pastebin.com/ETZPV0Ug
Go to the top of the page
+Quote Post
phpion
post
Post #77





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(dr_bonzo @ 5.11.2010, 16:23:28 ) *
No dobra, ale to byl chyba najjasniej i najprecyzyjniej opisany punk regulaminu (IMG:style_emoticons/default/smile.gif)

Może i było to dość jasno i wyraźnie napisane, ale ja (jak i ponoć całkiem sporo osó(IMG:style_emoticons/default/cool.gif) odczytaliśmy to nieco inaczej. Szczerze mówiąc miałem (mam?) nadzieję, że celem konkursu jest faktycznie napisanie skryptu, który w sposób najwydajniejszy wykona postawione zadanie (w zasadzie 2: odkodowanie ciągu i utworzenie prostokątów). Okazuje się jednak, że reguły są sztywne i tak naprawdę rozwiązanie schodzi na drugi plan, a jego miejsce zajmuje czytanie ze zrozumieniem. Moim skromnym zdaniem brakujący enter nie jest wyznacznikiem poprawności rozwiązania zadania. Rozumiem błędy w odkodowaniu ciągu, obliczania kolejnej wartości sekwencji, złe umieszczenie cyfr w prostokątach... no ale enter? To jakby na konkursie matematycznym podkreślić wynik końcowy, a nie napisać "Odp: Wynik to X".

Poza tym w poście informującym o konkursie DeyV napisał:
Cytat
Jeśli macie jakieś pytania lub sugestie -piszcie śmiało

Pytań było kilka i na żadne (ze związanych z postawionym zadaniem) nie uzyskaliśmy odpowiedzi. Jeśli więc z założenia miało to wyglądać "macie i główkujcie" to informacja o możliwości zadawania pytań była zbędna.

Może jestem rozgoryczony swoim przypadkiem i się czepiam, ale mogłoby to wyglądać nieco lepiej...
Go to the top of the page
+Quote Post
Pawel_W
post
Post #78





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


Cytat(phpion @ 6.11.2010, 13:40:51 ) *
To jakby na konkursie matematycznym podkreślić wynik końcowy, a nie napisać "Odp: Wynik to X".

no to jest akurat złe porównanie, bo na większości konkursów (przynajmniej tak było w podstawówce i gimnazjum) trzeba było udzielić pełnej odpowiedzi słownej (IMG:style_emoticons/default/smile.gif)

ale popieram (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
phpion
post
Post #79





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




No to może porównanie średnio trafne. Na konkursach/olimpiadach matematycznych bywałem w podstawówce, czyli jakiś czas temu (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
itsme
post
Post #80





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




pamiętajcie że jezeli chodzi o pierwsza nagrode tutaj decyzje podejmuje polcode natomiast jezeli chodzi 2 i 3 to mentax.

Zatem można wliczyć na zdrowo rozsądkowe podejście do Waszych prac.
NIe mniej należy wrócić uwagę na fakt że tutaj prezentuje swój kod okolo 10-15 osób zaś prac konkursowych wpłynęło znacznie więcej.

teraz pozostało się uzbroić w cierpliwość !
Go to the top of the page
+Quote Post

6 Stron V  « < 2 3 4 5 6 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.12.2025 - 00:43