Środowiska wytwarzania oprogramownia

0. Przed rozpoczęciem zajęć...

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

5. maven i git

git

1. Utwórz lokalne repozytorium repo1 i dodaj tam plik test.txt zawierający litery, wykonaj git add… i git commit…

2. Utwórz lokalne repozytorium repo2 i pobierz tam przez pull pliki: git pull ../repo1

3. Zmodyfikuj plik w repo2 – zamien litery na cyfry, wykonaj git add… i git commit…

4. Zmodyfikuj plik w repo1 – dodaj kolejne litery , wykonaj git add… i git commit…

5. Pobierz pliki z repo2: git pull ../repo2

6. Rozwiąż konflikt! git mergetool imiona-2000-2016.csv info_pracownicy.csv ibuk_wykaz_pozycji.csv pracownicy-geo-agh.csv

diagram czynności diagram obiektów DFD

srodowiska_wytwarzania_programowania.txt · Last modified: 2020/01/20 01:05 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0