Testiraportti Android virtuaalikone vs. natiivikoodi Ville Laine, Delta 23

Save this PDF as:
 WORD  PNG  TXT  JPG

Koko: px
Aloita esitys sivulta:

Download "Testiraportti Android virtuaalikone vs. natiivikoodi Ville Laine, Delta 23"

Transkriptio

1 Testiraportti Android virtuaalikone vs. natiivikoodi Ville Laine, Delta 23 1

2 Sisällys 1. Johdanto Testiohjelma Testi 1: Raaka funktiokutsu Testi 2: Yhteenlaskutesti Testi 3: Kertolaskutesti Testi 4: Jakolaskutesti Testi 5: Todellisen maailman matematiikka Testi 6: Muistinvaraus Testi 7: Luokkatesti Tulokset Huomioitavaa tuloksista Testi Testi Testi Lopputulokset Lähteet...8 2

3 1. Johdanto Android käyttöjärjestelmä suorittaa sovellukset ensisijaisesti käyttäen Dalvik virtuaalikonetta (Bornstein). Koska Dalvik on Javapohjainen, ja Javan suorituskyvystä voidaan olla montaa mieltä, herää väistämättä kysymys: valuvatko nykyisten mobiililaitteiden tehot hukkaan jos niitä käytetään virtuaalikoneen läpi. Omakohtaiset epäilykseni Dalvik -koneen suorituskyvystä heräsivät viimeistään siinä vaiheessa, kun ohjelman nopeus oli katastrofaalisen hidas vielä senkin jälkeen kun kaikki hyvän olio-ohjelmoinnin periaatteet oli hylätty paremman suorituskyvyn toivossa. Tämän seurauksena ainoa vaihtoehto on virtuaalikoneen hylkääminen ja ohjelman tekeminen suoraan natiivikoodilla (C/C++). Android tarjoaa työkalut myös natiiviohjelmien tekemiseen, mutta nämä työkalut ei kuulu perus SDK:iin vaan käyttäjän täytyy ladata Native Develpoment Kit (NDK). 2. Testiohjelma Jotta voitiin selvittää tarkalleen missä ohjelman nopeuden pullonkaula on, luotiin yksinkertainen testiohjelma, joka mittaa eri toimintoihin kuluvan ajan kun ne suoritetaan virtuaalikoneella ja natiiviohjelmalla. Testiohjelma mittaa ajat millisekunteina sekä Javan nanotime metodilla. Nanotimen antamaa tulosta ei kuitenkaan voida muuttaa mihinkään järkevään aikayksikköön johtuen sen riippuvuudesta prosessorin kellotaajuudesta, joten testituloksissa ei ole yksikköä. Tällä ei ole merkitystä testin kannalta, sillä ainoastaan aikaero on oleellinen. Kuten jo mainittu, suoritusajat mitattiin javaohjelmalla, joten natiivin ohjelman suoritukseen kuluu aina jonkin verran ylimääräistä aikaa. Tämä voidaan tarvittaessa kompensoida käyttämällä testin 1 tuloksia, mutta erot eivät kuitenkaan ole niin merkittäviä, että tässä tutkimuksessa kompensointia olisi tehty. Testiohjelma koostuu 7 eri testistä joiden toiminta on kuvattu alla. Kukin testi toistettiin 100 kertaa poikkeuksena muistinvaraus- ja luokkatestit, jotka ovat niin raskaita, että niiden toistamiseen olisi kulunut liikaa aikaa. Nämä testit toistettiin vain 10 kertaa. Tuloksissa on esitetty kaikkiin toistoihin kulunut yhteisaika. Testien kuvauksissa n on Testi 1: Raaka funktiokutsu Raaka funktiokutsutesti mittaa ajan joka kuluu funktion kutsumiseen, ja tuloksen palauttamiseen. Funktiossa ei tehdä mitään Testi 2: Yhteenlaskutesti Yhteenlaskutestin ensimmäisessä osassa lasketaan kahden vakion summa n kertaa. Toisessa osassa tulos lisätään itseensä n kertaa Testi 3: Kertolaskutesti Kertolaskutestin ensimmäisessä osassa lasketaan liukuluvun tulo itsensä kanssa n kertaa. Toisessa osassa tulos lisätään itseensä n kertaa. 3

4 2.4. Testi 4: Jakolaskutesti Jakolaskutestissä lasketaan ensin kahden vakion osamäärä n kertaa ja seuraavaksi jaetaan tulosta vakiolla n kertaa Testi 5: Todellisen maailman matematiikka Tässä testissä käytetään kunkin ympäristön tarjoamia matematiikkakirjastoja. Javalla käytettiin Androidille optimoitua FloatMath luokkaa ja C++:lla standardikirjaston math kirjastoa. Testin ensimmäisessä osassa laskettiin monimutkainen trigonometrinen lauseke n kertaa ja toisessa osassa kolmekomponenttisen vektorin pituus n kertaa. Lausekkeet olivat: cos(n) sin( 1.52 n+1 ) (n 3.0) (n 3.0)+( n 1.87 ) ( n 1.87 )+n n 2.6. Testi 6: Muistinvaraus Muistinvaraustestissä varattiin b tavua muistia, kirjoitettiin se täyteen, ja sen jälkeen luettiin kaikki tavut. b:n arvo riippuu testilaitteen muistikapasiteetista Testi 7: Luokkatesti Luokkatestissä kutsutaan n:n luokkainstanssin metodia joka lisää kentän 1 arvoa annetulla parametrilla. Parametrin arvo haetaan saman instanssin toisella metodilla, joka palauttaa kentän 2 arvon. 3. Tulokset Testiohjelma suoritettiin kahdella testilaitteella; Samsung Galaxy S ja Denver Tac Tulokset on esitetty taulukoissa

5 Taulukko 1 SGS tulokset millisekunteina VM Native code Difference Raw function call Addition Multiplication Division Real world math Memory allocation Class Taulukko 2 SGS nanotime tulokset VM Native code Difference Raw function call Addition Multiplication Division Real world math Memory allocation Class Taulukko 3 Tac-7028 tulokset millisekunteina VM Native code Difference Raw function call Addition Multiplication Division Real world math Memory allocation Class Taulukko 4 Tac-7028 nanotime tulokset VM Native code Difference Raw function call Addition Multiplication Division Real world math Memory allocation Class Testien nanotime tuloksista lasketut suhteelliset nopeuserot on esitetty taulukossa 5. 5

6 Taulukko 5 Testien suhteelliset nopeuserot Testi Tac-7028 Galaxy S Keskiarvo Huomioitavaa tuloksista Tuloksia tarkastellessa täytyy huomioida jo edellä mainittu ylimääräinen viive natiivikoodin suorituksessa Testi 1 Testin 1 tulokset vaihtelivat hämmästyttävän paljon testiohjelman eri versioiden välillä. Debug-versiolla virtuaalikone oli aina noin kolme kertaa niin nopea kuin natiivikoodi, mutta releaseversiolla erot tasoittuivat tai Galaxy S:n tapauksessa jopa kääntyivät päinvastaisiksi. Tästä päätellen release-käännökseen tehdään optimointeja, jotka nopeuttavat normaaleja funktiokutsuja Testi 6 Muistinvaraustestissä oli alunperin tarkoitus myös mitata muistin vapauttamiseen kuluva aika, mutta Dalvikin roskankerääjää ei kuitenkaan pystytty pakottamaan vapauttamaan muistia tietyllä hetkellä eikä efektiivisesti, mikä johti muistin loppumiseen testin aikana. Ongelma toistui luokkatestin aikana, jolloin varaustestissä käytetty muisti oli mahdollisesti edelleen varattuna ja ainoa keino estää ohjelmaa kaatumasta, oli vähentää varattavan muistin määrää huomattavasti. Tässä tutkimuksessa ei siis lopulta mitattu muistin vapautusnopeutta, mutta testiohjelman kehitysversiolla saadut tulokset olivat samassa nopeusluokassa varauksen kanssa. Jos virtuaalikoneella yritetään varata enemmän muistia kuin se sallii, ohjelma pakotetaan sulkeutumaan. Näin ei kuitenkaan tapahdu natiiviohjelmalla, jonka muistinkäyttö on linux-ytimen vastuulla. Natiiviohjelmalla ei ole asetettua muistinkäyttörajoitusta, virtuaalikone sammuttaa taustalla olevia sovelluksia niin kauan, että natiiviohjelmalle on saatavilla tarpeeksi muistia. Mikäli natiiviohjelma yrittää varata enemmän muistia, kuin laitteessa on, sovellus kaatuu ilman näkyvää virheilmoitusta Testi 7 Muistiongelmat ilmenivät myös luokkatestissä, jossa luodaan oliota. Kuitenkin ani harvassa 6

7 todellisessa sovelluksessa on tarvetta näin suurelle objektimäärälle, joten nämä muistiongelmat tuskin ilmenevät käytännössä. 5. Lopputulokset Vaikka nopeuserot virtuaalikoneen ja natiivikoodin välillä näyttävät todella hurjilta, tulee muistaa, että tämä testiohjelma oli tarkoitettu nimenomaan esittämään erot mahdollisimman selvästi. Testitapaukset eivät ole järin kuvaavia mobiililaitteen peruskäytöstä. Vielä tärkeämpi huomio on, että esimerkiksi yksi yhteenlaskutesti vei keskimäärin 6 millisekuntia aikaa Tac-7028 testilaitteella ja Galaxy S:llä vielä vähemmän. Kuten Android NDK:in dokumentaatiossa todetaan, natiivikoodista ei ole hyötyä useimmille sovelluksille, mutta se monimutkaistaa kehitysprosessia huomattavasti. Mikäli sovellus aiotaan kääntää alustalta toiselle (ja muutkin alustat tukevat natiiveja ohjelmia) on perusteltua käyttää NDK:iä. Toinen mahdollinen käyttökohde on äärimmäisen raskaat pelit, joka on itselläni syy natiivikoodin käyttöön. Tämä testi suoritettiin ns. low end-laitteilla, mutta näilläkin kävi ilmi laitekohtaiset suorituskykyerot sekä virtuaalikoneella, että natiiviohjelmilla. Tac-7028:n 1GHz:n prosessori hävisi useimmissa testeissä Galaxy S:n vain 800MHz prosessorille. Mikäli testissä olisi ollut mukana tehokkaampia moniytimisiä laitteita, olisi nopeuserot varmasti kaventuneet huomattavasti. 7

8 6. Lähteet Dan Bornstein, Dalvik VM internals, 2008 viitattu Android NDK documentation, viitattu

Videotoisto Nexus 7 tableteilla: Android 4.4 KitKat selvästi edellistä versiota heikompi

Videotoisto Nexus 7 tableteilla: Android 4.4 KitKat selvästi edellistä versiota heikompi Videotoisto Nexus 7 tableteilla: Android 4.4 KitKat selvästi edellistä versiota heikompi - Android 4.3 Jelly Bean ja 4.4 Kitkat käyttöjärjestelmien videotoiston suorituskyvyn vertailu Nexus 7 tabletilla

Lisätiedot

5. Numeerisesta derivoinnista

5. Numeerisesta derivoinnista Funktion derivaatta ilmaisee riippumattoman muuttujan muutosnopeuden riippuvan muuttujan suteen. Esimerkiksi paikan derivaatta ajan suteen (paikan ensimmäinen aikaderivaatta) on nopeus, joka ilmaistaan

Lisätiedot

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245 Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille

Lisätiedot

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Fysiikan laboratoriotyöt 1, työ nro: 2, Harmoninen värähtelijä

Fysiikan laboratoriotyöt 1, työ nro: 2, Harmoninen värähtelijä Fysiikan laboratoriotyöt 1, työ nro: 2, Harmoninen värähtelijä Tekijä: Mikko Laine Tekijän sähköpostiosoite: miklaine@student.oulu.fi Koulutusohjelma: Fysiikka Mittausten suorituspäivä: 04.02.2013 Työn

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 7 1 Useamman muuttujan funktion raja-arvo Palautetaan aluksi mieliin yhden muuttujan funktion g(x) raja-arvo g(x). x a Tämä raja-arvo kertoo, mitä arvoa funktio g(x)

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

Kehittyneiden Aaltomuotojen Käytettävyys HF-alueen Tiedonsiirrossa

Kehittyneiden Aaltomuotojen Käytettävyys HF-alueen Tiedonsiirrossa MATNE Tutkimusseminaari 17.11.2011 Kehittyneiden Aaltomuotojen Käytettävyys HF-alueen Tiedonsiirrossa Markku Jokinen 2 Sisällys Johdanto WARP ohjelmistoradioalusta HF-toteutus lmenneet rajoitukset ohjelmistoradioalustalla

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

MATEMATIIKAN KOE. AMMATIKKA top 17.11.2005. 2. asteen ammatillisen koulutuksen kaikkien alojen yhteinen matematiikka kilpailu. Oppilaitos:.

MATEMATIIKAN KOE. AMMATIKKA top 17.11.2005. 2. asteen ammatillisen koulutuksen kaikkien alojen yhteinen matematiikka kilpailu. Oppilaitos:. AMMATIKKA top 17.11.005 MATEMATIIKAN KOE. asteen ammatillisen koulutuksen kaikkien alojen yhteinen matematiikka kilpailu Nimi: Oppilaitos:. Koulutusala:... Luokka:.. Sarjat: MERKITSE OMA SARJA 1. Tekniikka

Lisätiedot

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne.

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne. Proseduurit Proseduuri voi olla 1) Funktio, joka palauttaa jonkin arvon: real function sinc(x) real x sinc = sin(x)/x... y = sinc(1.5) 2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

3. Muuttujat ja operaatiot 3.1

3. Muuttujat ja operaatiot 3.1 3. Muuttujat ja operaatiot 3.1 Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi. Operaattorit. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit.

Lisätiedot

Talousmatematiikan perusteet: Luento 4. Potenssifunktio Eksponenttifunktio Logaritmifunktio

Talousmatematiikan perusteet: Luento 4. Potenssifunktio Eksponenttifunktio Logaritmifunktio Talousmatematiikan perusteet: Luento 4 Potenssifunktio Eksponenttifunktio Logaritmifunktio Viime luennolla Funktiolla f: A B kuvataan muuttujan y B riippuvuutta muuttujasta x A A on lähtö- tai määrittelyjoukko

Lisätiedot

Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely)

Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely) Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely) Joona Kaivosoja 01.12.2014 Ohjaaja: DI Ville Mäkelä Valvoja: Prof. Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla

Lisätiedot

Mobiilipalvelut kirjastoissa Juha Hälinen verkkopalvelusuunnittelija

Mobiilipalvelut kirjastoissa Juha Hälinen verkkopalvelusuunnittelija Mobiilipalvelut kirjastoissa Juha Hälinen verkkopalvelusuunnittelija Jyväskylän kaupunginkirjasto Kirjastoiden ja kännyköiden monimutkainen suhde Tilastoja ja historiaa WAP1.0 vuonna 1998 Nokia Communicatorilla

Lisätiedot

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

Jos nyt on saatu havaintoarvot Ü ½ Ü Ò niin suurimman uskottavuuden

Jos nyt on saatu havaintoarvot Ü ½ Ü Ò niin suurimman uskottavuuden 1.12.2006 1. Satunnaisjakauman tiheysfunktio on Ü µ Üe Ü, kun Ü ja kun Ü. Määritä parametrin estimaattori momenttimenetelmällä ja suurimman uskottavuuden menetelmällä. Ratkaisu: Jotta kyseessä todella

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

¼ ¼ joten tulokset ovat muuttuneet ja nimenomaan huontontuneet eivätkä tulleet paremmiksi.

¼ ¼ joten tulokset ovat muuttuneet ja nimenomaan huontontuneet eivätkä tulleet paremmiksi. 10.11.2006 1. Pituushyppääjä on edellisenä vuonna hypännyt keskimäärin tuloksen. Valmentaja poimii tämän vuoden harjoitusten yhteydessä tehdyistä muistiinpanoista satunnaisesti kymmenen harjoitushypyn

Lisätiedot

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit. 3. Muuttujat ja operaatiot Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi.. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit. Arvojen

Lisätiedot

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.

Lisätiedot

Lyhyt yhteenvetokertaus nodaalimallista SÄTEILYTURVAKESKUS STRÅLSÄKERHETSCENTRALEN RADIATION AND NUCLEAR SAFETY AUTHORITY

Lyhyt yhteenvetokertaus nodaalimallista SÄTEILYTURVAKESKUS STRÅLSÄKERHETSCENTRALEN RADIATION AND NUCLEAR SAFETY AUTHORITY Lyhyt yhteenvetokertaus nodaalimallista SÄTELYTUVAKESKUS STÅLSÄKEHETSCENTALEN ADATON AND NUCLEA SAFETY AUTHOTY Ei enää tarkastella neutronien kulkua, vaan työn alla on simppeli tuntemattoman differentiaaliyhtälöryhmä

Lisätiedot

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 (verkkoluento 1) Tietokonejärjestelmä Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.

Lisätiedot

Havaitsevan tähtitieteen peruskurssi I

Havaitsevan tähtitieteen peruskurssi I Havaintokohteita 9. Polarimetria Lauri Jetsu Fysiikan laitos Helsingin yliopisto Havaintokohteita Polarimetria Havaintokohteita (kuvat: @phys.org/news, @annesastronomynews.com) Yleiskuvaus: Polarisaatio

Lisätiedot

Integrointi ja sovellukset

Integrointi ja sovellukset Integrointi ja sovellukset Tehtävät:. Muodosta ja laske yläsumma funktiolle fx) x 5 välillä [, 4], kun väli on jaettu neljään yhtä suureen osaan.. Määritä integraalin x + ) dx likiarvo laskemalla alasumma,

Lisätiedot

Järvitesti Ympäristöteknologia T571SA 7.5.2013

Järvitesti Ympäristöteknologia T571SA 7.5.2013 Hans Laihia Mika Tuukkanen 1 LASKENNALLISET JA TILASTOLLISET MENETELMÄT Järvitesti Ympäristöteknologia T571SA 7.5.2013 Sarkola Eino JÄRVITESTI Johdanto Järvien kuntoa tutkitaan monenlaisilla eri menetelmillä.

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Qt kaikkialla? 9.4.2010

Qt kaikkialla? 9.4.2010 Qt kaikkialla? Helsinki Tammasaarenkatu 5, 00180 Helsinki, Tel. 09 431 551 Tampere Satakunnankatu 18, 33210 Tampere, Tel. 03 315 861 Turku Lemminkäisenkatu 32 A, 20520 Turku, Tel. 02 263 571 Qt Qton C++

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

58160 Ohjelmoinnin harjoitustyö

58160 Ohjelmoinnin harjoitustyö 58160 Ohjelmoinnin harjoitustyö Testaus 30.3.2009 Tuntiop. Sami Nikander sami.nikander@helsinki.fi 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 1 Testaus Ohjelman systemaattista tutkimista

Lisätiedot

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua

Lisätiedot

815338A Ohjelmointikielten periaatteet

815338A Ohjelmointikielten periaatteet 815338A Ohjelmointikielten periaatteet 2015-2016 VIII Poikkeusten ja tapahtumien käsittely Sisältö 1. Poikkeusten käsittelyn käsitteitä ja suunnittelukriteerejä 2. Poikkeusten käsittely C++:ssa 3. Poikkeusten

Lisätiedot

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A) Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 017 Insinöörivalinnan matematiikan koe 30..017, Ratkaisut (Sarja A) 1. a) Lukujen 9, 0, 3 ja x keskiarvo on. Määritä x. (1 p.) b) Mitkä reaaliluvut

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 6 1 Korkolaskentaa Oletetaan, että korkoaste on r Jos esimerkiksi r = 0, 02, niin korko on 2 prosenttia Tätä korkoastetta käytettään diskonttaamaan tulevia tuloja ja

Lisätiedot

jakokulmassa x 4 x 8 x 3x

jakokulmassa x 4 x 8 x 3x Laudatur MAA ratkaisut kertausarjoituksiin. Polynomifunktion nollakodat 6 + 7. Suoritetaan jakolasku jakokulmassa 5 4 + + 4 8 6 6 5 4 + 0 + 0 + 0 + 0+ 6 5 ± 5 5 4 ± 4 4 ± 4 4 ± 4 8 8 ± 8 6 6 + ± 6 Vastaus:

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Muuttujat eri muisteissa Ohjelman muistialueen layout Paikallisen ja globaalin muuttujan ominaisuudet Dynaamisen muistinkäytön edut Paikallisten muuttujien dynaamisuus ADT

Lisätiedot

BEYOND: Two Souls BEYOND Touch Sovellus

BEYOND: Two Souls BEYOND Touch Sovellus BEYOND: Two Souls BEYOND Touch Sovellus BEYOND Touch -SOVELLUS Jotta saisit kaiken irti BEYOND: Two Souls -pelikokemuksesta, suosittelemme pelaamaan peliä langattomalla DUALSHOCK 3-ohjaimella. Jos kuitenkin

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

Differentiaali- ja integraalilaskenta

Differentiaali- ja integraalilaskenta Differentiaali- ja integraalilaskenta Opiskelijan nimi: DIFFERENTIAALILASKENTA 1. Raja-arvon käsite, derivaatta raja-arvona 1.1 Raja-arvo pisteessä 1.2 Derivaatan määritelmä 1.3 Derivaatta raja-arvona

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 2 Lisää osamurtoja Tutkitaan jälleen rationaalifunktion P(x)/Q(x) integrointia. Aiemmin käsittelimme tapauksen, jossa nimittäjä voidaan esittää muodossa Q(x) = a(x x

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

Luento 7. T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä

Luento 7. T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä Luento 7 T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1 Luennoitsija: Otto Seppälä Kurssin WWW: http://www.cs.hut.fi/opinnot/t-106.1240/s2007 Suunnitelmista Yleistaso oli

Lisätiedot

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. On arvioitu, että maailmassa on tällä hetkellä enemmän sulautettuja

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet

Lisätiedot

LIITE 1 VIRHEEN ARVIOINNISTA

LIITE 1 VIRHEEN ARVIOINNISTA 1 Mihin tarvitset virheen arviointia? Mittaustuloksiin sisältyy aina virhettä, vaikka mittauslaite olisi miten uudenaikainen tai kallis tahansa ja mittaaja olisi alansa huippututkija Tästä johtuen mittaustuloksista

Lisätiedot

Kontrollipolkujen määrä

Kontrollipolkujen määrä Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät

Lisätiedot

6*. MURTOFUNKTION INTEGROINTI

6*. MURTOFUNKTION INTEGROINTI MAA0 6*. MURTOFUNKTION INTEGROINTI Murtofunktio tarkoittaa kahden polynomin osamäärää, ja sen yleinen muoto on P() R : R(). Q() Mikäli osoittajapolynomin asteluku on nimittäjäpolynomin astelukua korkeampi

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme KJR-C1001 Statiikka ja dynamiikka Luento 16.3.2016 Susanna Hurme Päivän aihe: Translaatioliikkeen kinetiikka (Kirjan luvut 12.6, 13.1-13.3 ja 17.3) Oppimistavoitteet Ymmärtää, miten Newtonin toisen lain

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa

Lisätiedot

Nopeus, kiihtyvyys ja liikemäärä Vektorit

Nopeus, kiihtyvyys ja liikemäärä Vektorit Nopeus, kiihtyvyys ja liikemäärä Vektorit Luento 2 https://geom.mathstat.helsinki.fi/moodle/course/view.php?id=360 Luennon tavoitteet: Vektorit tutuiksi Koordinaatiston valinta Vauhdin ja nopeuden ero

Lisätiedot

7. Oliot ja viitteet 7.1

7. Oliot ja viitteet 7.1 7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

Ohjelmistojen testaus ja hallinta. Gradle

Ohjelmistojen testaus ja hallinta. Gradle Ohjelmistojen testaus ja hallinta Gradle Perinteiset koontityökalut Ant Maven 2 Maven XML-pohjaiset koontitiedostot (pom.xml) Pohjautuu käytäntöihin (vain poikkeukset käytännöistä kirjoitetaan koontitiedostoon)

Lisätiedot

Osio 2: Luennot 5-8 Muistinhallinta

Osio 2: Luennot 5-8 Muistinhallinta Käyttöjärjestelmät I Osio 2: Luennot 5-8 Muistinhallinta Tiina Niklander; kalvot Auvo Häkkinen Tietojenkäsittelytieteen laitos Helsinin yliopisto "!$#%#'&)(*+,(.-0/1#'-243 0# 5 Stallins, Luku 7 KJ-I S2004

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 31.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 31.1.2011 1 / 41 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

TK081001 Palvelinympäristö

TK081001 Palvelinympäristö TK081001 Palvelinympäristö 5 opintopistettä!! Petri Nuutinen! 8 opintopistettä!! Petri Nuutinen! RAID RAID = Redundant Array of Independent Disks Useasta fyysisestä kiintolevystä muodostetaan yhteinen

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta Eksponenttifuntio Palautetaan mieliin, että Neperin luvulle e pätee: e ) n n n ) n n n n n ) n. Tästä määritelmästä seuraa, että eksponenttifunktio e x voidaan määrittää

Lisätiedot

J. Virtamo Jonoteoria / Prioriteettijonot 1

J. Virtamo Jonoteoria / Prioriteettijonot 1 J. Virtamo 38.3143 Jonoteoria / Prioriteettijonot 1 Prioriteettijonot Tarkastellaan M/G/1-jonojärjestelmää, jossa asiakkaat on jaettu K:hon prioriteettiluokkaan, k = 1,..., K: - luokalla 1 on korkein prioriteetti

Lisätiedot

Mobiilijäsenkortti. Mobiilikortin aktivointi

Mobiilijäsenkortti. Mobiilikortin aktivointi Mobiilijäsenkortti AKK-Motorsport ry:n jäsenkortti on Lompakossa oleva mobiilikortti. Mobiilikortti toimii puhelimeen ladattavana Lompakko-sovelluksena, joka toimitetaan kaikille Jäsenmaksunsa maksaneille

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

Dynaaminen kääntäminen ja Java HotSpot

Dynaaminen kääntäminen ja Java HotSpot Dynaaminen kääntäminen ja Java HotSpot Jukka Eskola Kimmo Kulovesi Tatu Säily Helsinki 11.4.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö 1. Johdanto...1 1.1 JIT-kääntäjän ongelmat...2

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

Mitä on pätö-, näennäis-, lois-, keskimääräinen ja suora teho sekä tehokerroin? Alla hieman perustietoa koskien 3-vaihe tehomittauksia.

Mitä on pätö-, näennäis-, lois-, keskimääräinen ja suora teho sekä tehokerroin? Alla hieman perustietoa koskien 3-vaihe tehomittauksia. Mitä on sähköinen teho? Tehojen mittaus Mitä on pätö-, näennäis-, lois-, keskimääräinen ja suora teho sekä tehokerroin? Alla hieman perustietoa koskien 3-vaihe tehomittauksia. Tiettynä ajankohtana, jolloin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2009 1 / 43 Funktiot Tähän asti esitetyt ohjelmat ovat oleet hyvin lyhyitä. Todellisessa elämässä tarvitaan kuitenkin

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

5.3 Ensimmäisen asteen polynomifunktio

5.3 Ensimmäisen asteen polynomifunktio Yllä olevat polynomit P ( x) = 2 x + 1 ja Q ( x) = 2x 1 ovat esimerkkejä 1. asteen polynomifunktioista: muuttujan korkein potenssi on yksi. Yleisessä 1. asteen polynomifunktioissa on lisäksi vakiotermi;

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

Lisätiedot

Harjoitus 3 -- Ratkaisut

Harjoitus 3 -- Ratkaisut Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan =, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos

Lisätiedot

Vastksen ja diodin virta-jännite-ominaiskäyrät sekä valodiodi

Vastksen ja diodin virta-jännite-ominaiskäyrät sekä valodiodi Sivu 1/10 Fysiikan laboratoriotyöt 1 Työ numero 3 Vastksen ja diodin virta-jännite-ominaiskäyrät sekä valodiodi Työn suorittaja: Antero Lehto 1724356 Työ tehty: 24.2.2005 Uudet mittaus tulokset: 11.4.2011

Lisätiedot

Luvuilla laskeminen. Esim. 1 Laske 6 21 7

Luvuilla laskeminen. Esim. 1 Laske 6 21 7 Luvuilla laskeminen TI-84 Plus käyttää laskujen suorittamiseen ns. yhtälönkäsittelyjärjestelmää (EOS TM, Equation Operating System), jonka avulla lausekkeiden syöttö tapahtuu matemaattisessa kirjoitusjärjestyksessä.

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2011 1 / 53 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Johdatus matematiikkaan

Johdatus matematiikkaan Johdatus matematiikkaan Luento 6 Mikko Salo 6.9.2017 Sisältö 1. Kompleksitaso 2. Joukko-oppia Kompleksiluvut Edellisellä luennolla huomattiin, että toisen asteen yhtälö ratkeaa aina, jos ratkaisujen annetaan

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 1 Suunnattu derivaatta Aluksi tarkastelemme vektoreita, koska ymmärrys vektoreista helpottaa alla olevien asioiden omaksumista. Kun liikutaan tasossa eli avaruudessa

Lisätiedot