Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Viestit - samja

Sivuja: [1] 2 3 ... 10
1

Tein syötteen lukemisesta testiä:


juha@ape ~/mycode/c $ wc i20.txt
  522560  2619560 18647740 i20.txt


juha@ape ~/mycode/c $ i=0; time while [ $i -lt 15 ]; do cat i20.txt | ./test_stdinread 1 >/dev/null; i=`expr $i + 1`; done

real   0m4.520s
user   0m4.172s
sys   0m0.344s


juha@ape ~/mycode/c $ i=0; time while [ $i -lt 15 ]; do cat i20.txt | ./test_stdinread 2 >/dev/null; i=`expr $i + 1`; done

real   0m4.459s
user   0m4.128s
sys   0m0.344s


juha@ape ~/mycode/c $ i=0; time while [ $i -lt 15 ]; do cat i20.txt | ./test_stdinread 3 >/dev/null; i=`expr $i + 1`; done

real   0m4.429s
user   0m4.016s
sys   0m0.464s


juha@ape ~/mycode/c $ i=0; time while [ $i -lt 15 ]; do cat i20.txt | ./test_stdinread 4 >/dev/null; i=`expr $i + 1`; done

real   0m4.467s
user   0m4.108s
sys   0m0.364s


1)  ./test_stdinread 1  Linkitetty lista, jossa lukemiseen erillistä bufferia
2)  ./test_stdinread 2  Syötteen luku suoraan listasolmuihin
3)  ./test_stdinread 3  Syötteen luku suoraan listasolmuihin, joita tuplataan kooltaan
4)  ./test_stdinread 4  Syötteen luku yhtenäiseen muistilohkoon

Tapaus 3 on suuren syötteen tapauksessa nopein ja kaikki linkitetyn listan versiot voittavat yhtenäiseen muistilohkoon lukevan version. Kaikissa tapauksissa syötettä prosessoidaan tulostamisen verran. Jos prosesointia olisi enemmän, niin yhtenäinen muistilohko alkaisi erottua edukseen myös suuremmilla syötteillä.

2

Toteutin Tommi S. :n ehdotuksen eräällä testi-ohjelmalla:
http://ajatusmylly.net/index.php?topic=1239.msg28021#msg28021
Hyvin toimi.

Vertailin ratkaisuja ...

Linkitetyn listan versio v2 oli pienillä syötteillä hitaampi kuin suoraa muistilohkoa käyttävä versio v3. Ero tasoittui jos syötteen koko kasvoi. Linkitetty lista voi olla nopeampi jos listasolmujen kokoa kasvatetaan aina tuplaksi, mikäli uutta tarvitaan. En tiedä varmaa, sillä en kokeillut tätä enää.

Erot tulevat siinä, millä menetelmällä syöte luetaan prosessiin. Jos syötettä joutuu käsittelemään monimutkaisesti, niin linkitetty lista syötteen varastoimisessa on varmasti kömpelöä ja hitaampaa myös suuremmilla syötteillä.

3

Ook. Sorry.
Tän voi siirtää sinne jos ylläpito viitsii.

Tai parempi poistaa koko ketju turhana.


LISÄYS
Tärkeimpiin IKI-ketjuihin voisi olla jokin hakemisto tai ehkä jokin ratkaisu.
Tulee näitä turhia aloitteita helposti.

Ok. Ennen kuin aloittaa ketjun, niin parempi kysyä.
Vanhempi porukka muistaa jos ei otsikkojen kahlaus mene putkeen.

4

Miksi tällaista ketjua ei ole vai onko jo?
Muiden koodilla voi olla käyttöä ja jos vapaata, niin hyötyä monella tapaa.
Ei aina väliä sillä, että ohjelma olisi ihan priima.
Mennee monet yritelmät ihan harjoituksenakin.

Jos aihe sopii, niin jääköön.
En ole varma idean hyvyydestä, mutta ehkä voi olla hyödyllinen.

(Ehkä sopii muulle alueelle?)

5
Kun prosessi jostain syystä loppuu, joko se poistuu exit(x):llä tai tulee jokin virhe yms., niin kerneli automaattisesti siivoaa käyttämättömän muistialueen pois, eli muistiresurssit eivät jää ohjelman loputtua kummittelemaan varattuina vaikka niille ei tekisikään free:tä.

Kiitos, hyvä tietää.

Miten käy jos esim malloc-funktio ei palauta muistia eikä muista tarkistaa paluu-osoitetta vaan kirjoittaa sopimattomaan paikkaan, jolloin ohjelma kaatuu. Siivoaako kerneli jäljet myös siinä tapauksessa?

Tein harjoitus-ohjelman aiheesta:
http://ajatusmylly.net/index.php?topic=1239.msg27970#msg27970
Käytetty linkattua listaa.

6

Tuo edellinen ehdotus lienee passeli. Toteutan sen varmaan seuraavaksi jos osaa...


Olen nyt tekemässä linkattua listaa, jonka nodet pitävät sisällään 4095 tavua.

Tietorakenne:

typedef struct blocknode *ptrBlocknode;
typedef struct block *ptrBlock;
typedef struct bstr *ptrBstr;
typedef struct blocknode { char *s; int len; ptrBlocknode next; } BLOCKNODE;
typedef struct block { int nblocks, bytes, nbstrs; ptrBstr *bstrs; ptrBlocknode *blocks; } BLOCK;
typedef struct bstr { int size, width; ptrBlocknode alkub, loppub; char *alkus, *loppus; } BSTR;

Jos resursseja varatessa tulee stoppi ja poistuu exit(1):llä, niin jääkö jo varatut resurssit vapautumatta? Jos exit-vaihtoehto toteutuu, olisi systeemi sen jälkeen ongelmissa. Onko?

7

Miten luetaan tehokkaasti stdin kokonaan yhtenäiseen merkkijonoon?
Ongelma on se, ettei tiedä, että kuinka paljon resursseja pitäisi varata mallocilla.

Yksi mahdollisuus on, että tekee linkatun listan node-koolla nbytes(esim 1000), ja aina kun yksi tulee täyteen, hankkii täytettäväksi uuden listajäsenen. Ongelmana on tällöin se, että merkkijono pirstoutuu satunnaisesta kohdista ja operoiminen on vaikeampaa kuin yhtenäisen merkkijonon tapauksessa. Jos linkatun listan yhtenäistää kokonaan uuteen isoon merkkijonoon, menee muistia kaksinkertainen määrä syötteeseen nähden ja jos syöte on iso, voi tulla ongelmia ja muutenkin resursseja kuluu.

Toinen vaihtoehto on ohjata syöte väliaikaistiedostoon, josta sen voi lukea takaisin sopivasti varattuun muistilohkoon. Tämä on mm vähän hidasta.

Onko jotain kätevää ratkaisua ongelmaan?

8
Yleistä keskustelua / Vs: Perustietoa?
« : 16.02.12 - klo:12.42 »

Hyvä kysymys. Ei mitään tietoa.

Ajattelin itse seuraavaksi Gentoo-linuxia. Pääsee kai paremmin järjestelmään sitä kautta käsiksi. Jos nyt on aikaa näprätä.

Eli olen aika peruskäyttäjä, joka ei ymmärrä paljoa siitä, mitä käyttelee.

Windows-puolella kehitellään jo eleisiin tmv liittyviä käyttöliittymiä. Onhan heillä vara satsata. Ubuntukin tietääkseni yrittänyt johtaa käyttöliittymien puolella. Unity voi ehkä sopia esim miniläppäriin, mutta pöytäkoneessa on perinteiset kuviot paremmat.

9
Yleistä keskustelua / Vs: Tietotekniset kuviot
« : 16.02.12 - klo:08.08 »

http://www.itviikko.fi/uutiset/2012/02/15/microsoft-skype-ei-kelpaa-ciscolle/201223293/7

Cisco ei vastusta kauppaa sinänsä, mutta olisi toivonut EU:n asettavan sille sellaisia ehtoja, jotka varmistavat "paremman standardeihin pohjaavan yhteentoimivuuden".

Eli miksi joku yksittäinen yritys joutuu ottamaan erikseen tällaisen agendalle?

10
Yleistä keskustelua / Vs: Tietotekniset kuviot
« : 09.02.12 - klo:13.06 »
Jos huomasit, niin minä en ole huippukriittinen suljetuillekaan ohjelmille, jos ne ovat yhteentoimivia muiden kanssa.

Joo. Tällainen pitäisi hyväksyä myös avoimien kannattajan. Kyseessähän on käytännön maailma.


Valitettavasti Skypen linux-versio laahaa selvästi winkkariversiota jäljessä eikä tuskin MS:n omistuksessa rako kiinni kiri.

Voi olla, mutta ongelma on selvemmin suuremmassa kuvassa. On vähän huono, että jokin asia on vaikka Googlen tai Microsoftin hyväntahtoisuudessa, josta nämä voivat sitten kerätä pisteitä.


HTML5 on eräs suurempi juttu, jossa erilaiset kilpailevat toimijat ovat yhteisellä linjalla liikkeellä ja järkisyistä. Eikö ajatusta voisi vähän laajentaa? Ei varmaan ihan liiaksi, mutta siinä kuin milloinkin järkevää.

11
Yleistä keskustelua / Tietotekniset kuviot
« : 09.02.12 - klo:12.41 »
Tietotekniset kuviot

Muistaakseni Skype siirtyi Microsoftille. En tiedä, että mikä mahdollisuus on jatkossa esim Linux-väellä olla mukana Skypen käytössä. Vastaavia esimerkkejä löytynee.

Aiheena on sellaiset tuotteet, jotka on laajasti kansalaisten käyttämiä. Voi kuulostaa hyvälle, että tuotteita ylipäätään tehdään, mutta käytännössä johtava markkinaosuus ei välttämättä yhdistä ihmisiä, vaan voi erottaa heitä.

Miten paljon asioita ajatellaan näin yleiseltä kannalta? Miten taataan se, että eri järjestelmiä käyttävät kansalaiset (tai eri tahot) voivat olla keskinäisyhteydessä mahdollisimman tehokkaasti ja taloudellisesti? Eikö yhteiskunta vastaa tällaisista kuvioista ollenkaan? Pitäisikö, tai kenen pitäisi?

En tiedä onko vastaavaa aihetta jossain. Voi siirtää jos on.

12
Politiikka on muualle kuuluvaa eikä liity millään tavalla tähän harrastukseen.

Se vielä puuttuisi, että ubuntu- tai linux-leiri hajaantuisi tällaisen asian takia.
Eiköhän nämä käyttispuolet ole koko kansaa koskevia?

Ehdotan siten koko kansan valinnaksi:  Ubuntu!

13

Aiheen pohdintaa:

http://nakokulma.net/index.php?topic=10158.0

((Äänestän Haavistoa, ellei mitään yllättävää ilmaannu))

14
Yleistä keskustelua / Vs: Läppärivillitys
« : 08.12.11 - klo:12.44 »

Joo. Mutta ei tekisi mieli ostaa vaikka naisystävälle läppäriä, sillä vaikka sitä on kiva kannalla ja siihen voi luoda persoonallisemman suhteen, niin sitä ei ole kätevä käyttää. Jos tietotekniikkaan haluaa jonkun tutustuvan, niin läppäri ei ole käyttötyöväline, vaan ehkä joku ihailun kohde.

Tietotekniikan omaksumisen vastakohtaisuutta hankkia vaikka eka koneeksi läppäri.

15
Yleistä keskustelua / Vs: Läppärivillitys
« : 08.12.11 - klo:12.20 »
Muuten kyllä pöytäkone ergonomian yms. perusteella voittaa kevyesti läppärin.

Niin. Läppäriä ei ole niin kiva käyttämismielessä. Jonkin verran kokemusta ja itselläni on miniläppäri. Harvemmin kuulee tästä puolesta. Etenkin tehokäytössä ei läppäriä oikein voisi kuvitella. Toisaalta miksi hankkia kone jos sitä ei juurikaan käytä? Siksikö, koska kaikilla muillakin on?

Selvä liikuteltavuus on toki riittävä peruste läppärin hankkimiselle.

16
Yleistä keskustelua / Läppärivillitys
« : 08.12.11 - klo:12.04 »
Läppärivillitys

Eli onko kyseessä muotiasia vain jatkuvuus, kun kyse on läppäreistä ja miniläppäreistä?

Läppärissä ei tavan pöytäkoneeseen verrattuna ole muuta kuin liikkuvuus, energiatalous? ja pienempi tila.

Liikkuvuutta ei välttämättä tarvitse käytännössä kovin usein ja kaipa nyt toimistonurkkausesta löytyy sen verran tilaa keskusyksikölle.

Kaikki muut ominaisuudet taitavat puhua läppäreitä vastaan. Puhelimeen yhdistettynä tietokoneen vielä ymmärtää helpommin, sillä puhelin kulkee käytännössä aidosti mukana jatkuvasti.

17

Jaa-a.

Asia on kyllä aika iso teemaltaan. Aloitin siitä juuri ketjun Tiede.fi-foorumilla

http://www.tiede.fi/keskustelut/historia-kulttuurit-ja-yhteiskunta-f13/kuluttajat-vs-yritykset-t52441.html

18

Torvalds lyö Gatesia turpaan vuonna 2015

En olisi ihan varma tästä.

Perusteluni pohjautuu siihen, että loppujen lopuksi kuluttajat ja suuryritykset ovat toisilleen ~vihollisia. Kuluttajat yrittävät hyötyä yrityksistä ja yritykset kuluttajista.

Kuluttajat tuskin tulevat saamaan niskalenkkiä Microsoftista niin, että heidän tarpeensa tulisivat paremmin tyydytetyksi. Microsoft vie kehitystä haluamaansa suuntaan kuluttajista, linuxeista ja muista huolimatta.

On varmasti yritysten intressi se, että kuluttajista hyödytään max tehokkaasti. Mielestäni tätä oli mm Nokian ja Microsoftin välinen liitto.

Kyllähän kilpailua yritetään pitää yllä jotenkin, mutta en usko tämän onnistumiseen. Voittajia ovat viimekädessä he, joilla on valta oikeasti eikä leikisti. Kuluttajilla ei (yhtenäistä) valtaa ole ja sama koskee kansallisia elimiä.

19
Yleistä keskustelua / Vs: Microsoft sulkee PC linuxeilta
« : 22.09.11 - klo:19.27 »
Suuri osa Windows käyttäjistä taitaa tyytyä kohtaloonsa. Linux taitajat
tod. näk. tulevat kiertämään  ongelman.
Ja Applella hykerrellään tyytyväisinä  :D


Ei mitään syytä aliarvioida Microsoftia.
Kyseessä on yritys, jolla on valtaa ja joka sopukassa.
Mahdollisuuksia tuskin jätetään käyttämättä.

20
Yleistä keskustelua / Vs: Microsoft sulkee PC linuxeilta
« : 22.09.11 - klo:19.13 »

En osaa todistaa, mutta jää sellainen vaikutelma,
että Microsoft minimoida kuluttajien mahdollisuuksia.

Kaikki mikä olisi kuluttajalle eduksi pitkällä aikavälillä, niin se ei ole Microsoftille.

En ole ollut windows:n kanssa tekemisissä pitkään aikaan, mutta sellainen vaikutelma, että koko systeemi tuntuu eriytyvän perinteisestä tietojenkäsittelyyn liittyvistä kuvioista jo käyttötasolla. Tietotekniikka koetaan yleisesti vaikeaksi ja Microsoft käyttää tilannetta hyväkseen luomalla käsitystä siitä, mitä on tietotekniikka.

Ehkä tavoite on, ettei kuluttajilla ole mitään mahdollisuutta saada lähietäisyyttä omaan koneeseensa. Näennäisesti kynnystä lasketaan, mutta sidotaan samalla kuluttaja käyttämään tiettyä järjestelmää.

Toki käyttöliittymien kehittely on tärkeää, mutta jotkin tietyt perusasiat tulisi säilyä käyttiksestä riippumatta.

Sivuja: [1] 2 3 ... 10