This is an old revision of the document!
Table of Contents
Środowiska wytwarzania oprogramownia
0. Przed rozpoczęciem zajęć...
- Przed rozpoczęciem zajęć: Instalacja Eclipse i CDT (Windows)
1. Program w C++ w środowisku Eclipse i CDT
2. Program w języku Java w środowisku Eclipse
3. Profilowanie kodu
*Ćwiczenia 3 Profilowanie - uzupełnienie*
Napisz program który umieszcza dane i odczytuje w standardowych kontenerach STL
#define ELEMENTS 100000
- Użyj list<int> i dodaj ELEMENTS losowo wyranych liczb int oraz odczytaj ELEMENTS x losowo wybrane elementy
- Użyj vector<int> i zrób ten sam eksperyment
- użyj map<int,int>. Pierwszy element to indeks drugi to wartość. Dodaj elementy i sprawdź czas dostępu
Dla Java
- użyj List<Integer> l = new ArrayList<Integer>() i przeprowadź ten sam eksperyment
- użyj Map<Integer,Integer> map = new HashMap<Integer,Integer>() i porównaj z map<int,int>
Oczekuje się, że dodawanie dla Java będzie wolne, bo każdy element w kontenerze jest referencją do obiektu, dla którego przydzielana jest pamięć na stercie, natomiast czas dostępu może być porównywalny z C++.
Generator liczb pseudolosowych
Random generator = new Random(System.currentTimeMillis()); l.get(generator.nextInt(ELEMENTS));
Ponieważ w JProfiler nagrywamy przebieg, konieczne jest zatrzymanie programu przed rzopoczęciem zbierania informacji.
void main(String[]args) { System.in.read(); // program czeka na ENTER // Tu test Thread.sleep(60*1000); // program czeka 60 sekund }
4. Narzędzia make/ant
Pisząc makefile eksperymentujemy na tym zestawie plików