1 / 4
Sep 2015

Cześć wszystkim, ciekawi mnie kilka rzeczy na temat MEM (zużycia pamięci na spoju), a mianowicie..

• Jakie dokładnie czynniki wchodzą w skład całkowitego zużycia pamięci podczas pracy programu (nadesłanego zgłoszenia). Pytam ponieważ obserwuję dosyć spory skok zużycia pomiędzy latami 2007-2015, przypuszczam, że wynika to z aktualizacji programów testujących (ale pewny nie jestem)

• Czy są jakieś wątki na forum poświęcone temu, jak skutecznie zmniejszać zużycie pamięci w programach? Ostatnio staram się jak najlepiej optymalizować programy pod względem nie tylko prędkości ale i ramu (czasami obsesyjnie). Wygląda, że najlepszy potencjał na tym polu prezentuje język C. (choć i tak widać lekki wzrost zużycia pomiędzy latami)

• Czy to jak dobrze (w kwestii pamięci) rozwiążemy problem ma jakiś realny wpływ na ranking (czy to punkty ogólne)?

  • created

    Sep '15
  • last reply

    Sep '15
  • 3

    replies

  • 1.7k

    views

  • 2

    users

  • 1

    link

AD 1
Myślę, że bardziej chodzi o aktualizację kompilatorów do aktualnych wersji.

Ad 2
Nie kojarzę, aby były takie wątki.

Ad 3
Nie ma to zupełnie znaczenia. Za rozwiązanie zadania [AC] dostajesz punkt nie zależnie jak dobry lub jak kiepski program napiszesz. Na SPOJ'u raczej nie ma problemu braku pamięci - testy są takie, że się raczej zawsze zmieszczą, chyba, że jesteś wyjątkowo "zdolny". Tutaj potrzebna jest przede wszystkim znajomość algorytmów i czasami trochę sprytu i myślenie jak programista. Do tego musisz rozwiązywać jak najwięcej zadań i na razie przestać obsesyjnie myśleć o wszelkich optymalizacjach. Czym więcej rozwiążesz zadań, tym łatwiej to Ci z czasem przyjdzie automatycznie i bez zbędnego myślenia.

PS
Ciekawy jestem, o jakich tu optymalizacjach mówimy, bo jeżeli próbujesz np stosować "krótkie" typy zmiennych, zamiast "normalnych", to natychmiast zapomnij. wink

Dzięki za odpowiedź! Chyba wszystko rozumiem, haha, jeszcze nie przyszło mi do głowy stosować "short" na siłę wink No i racja, im więcej tego robię tym bardziej rozwija się u mnie to tzw. "programistyczne" myślenie a optymalizacje same przychodzą coraz lepsze. Jednym słowem SPOJ rulz!

Jako ciekawostka, popatrz na przykład, na te zestawienie: http://pl.spoj.com/ranks/PLA/92
Różnice w MEM wynikają bardziej z polepszenia algorytmu, a nie optymalizacji pamięci jako takiej. Mniejsze zużycie pamięci jest przy okazji takim skutkiem ubocznym ulepszenia pomysłu na zadanie [algorytmu].

Suggested Topics

Topic Category Replies Views Activity
System SPOJ 1 198 Jan 30
System SPOJ 2 142 Apr 15

Want to read more? Browse other topics in System SPOJ or view latest topics.