Quadcore-processors van zowel AMD als Intel worden steeds betaalbaarder: de prijzen benaderen die van dualcores. Is je volgende cpu een quadcore?
Aantal stemmen: 11.002. Deelname gesloten op 25-08-2008 16:36. Stemmen is niet meer mogelijk.
Totdat je merkt dat een singleThreaded taak op een Athlon64 X2 4200+ @ 2.2Ghz toch 20% sneller gaat dan op een Athlon64 3400+ @2.2Ghz... Zo af en toe is efficientie toch ook nog een belangrijke factor. (Zet een Athlon XP eens tegenover een destijds vergelijkbare P IV, dat zegt wel genoeg)"Wat maakt het nou uit dat je meerdere cores hebt? Als ze niet sneller worden, gaat het ook niet sneller!"
Dat klopt, maar vaak kun je een programma toch wel opsplitsen in zaken die op de voorgrond gebeuren en taken die op de achtergrond uitgevoerd worden. Zolang er nog geen multi-core processors in een computer zaten was het echter helemaal niet interessant om hier op te gaan laten.Voor een hele zwik software maakt het ook helemaal niet uit of iets meerdere cores ondersteunt of niet en kan je er nauwelijks voordeel uit halen om iets te parallelliseren.
Je zult nog verbaast staan bij de hoeveelheid single-threading applicaties die je gebruikt. Dat je dit niet merkt, dat komt omdat de uitgevoerde taken vaak erg klein zijn.Die splitsing tussen voorgrond taken en achtergrondtaken gebeurt al heel lang hoor. De GUI van een applicatie loopt altijd in een andere thread(meestal met hogere prioriteit) dan de eigenlijke logica. Indien dit niet zo zou zijn dan hangt je keihard vast iedere keer je op een knop klikt tot de actie geassocieerd met die knop helemaal uitgevoerd is.
Ik denk dat je je niet beseft hoe lastig het is om een multithreaded applicatie te programmeren. Het lijkt misschien erg gemakkelijk, maar ik kan je zeggen dat het lastiger is dan je op het eerste gezicht zou zeggen.Iets als een spellingscontrole gebeurt, vermoed ik, al helemaal op de achtergrond in een ander thread. Het zou zelfs moeilijker programmeren zijn om dat niet in een aparte thread te doen.
De browser wordt meer en meer als applicatieplatform gebruikt met client-side JavaScript, het opdelen van de taken die de browser uitvoert is dus wel degelijk lonend. Als zou je de applicatie al zodanig opdelen dat iedere tab/venster een eigen thread krijgt, voor zover ik weet is dat nu namelijk nog niet zo.Ook browsers kunnen zonder problemen meerdere threads gebruiken om meerdere pagina's tegelijk te renderen. Maar heel veel voordeel merk je daar niet van.
De bottleneck is veel vaker iets anders, het netwerk bijvoorbeeld bij een browser.
En iets hierarchisch als een html-pagina in meerdere threads renderen is niet echt triviaal en de winst die je haalt echt minimaal (i.e. 50ms naar 30ms brengen levert je niet veel op naar gebruikerservaring)
Aan de andere kant valt het ook wel weer mee. Zodra je een beetje gevoel begint te krijgen voor alle moderne threading primitieven die een moderne concurrency library je biedt EN je niet al te gekken dingen doet dan valt het echt best mee.Ik denk dat je je niet beseft hoe lastig het is om een multithreaded applicatie te programmeren. Het lijkt misschien erg gemakkelijk, maar ik kan je zeggen dat het lastiger is dan je op het eerste gezicht zou zeggen.
Is misschien nogal taalafhankelijk, maar in Delphi kan ik gewoon code aan een knop hangen die behoorlijk lang duurt. Zolang ik zo af en toe maar application.processMessages uitvoer om de GUI even te updaten merkt de gebruiker daar echt niets van.De GUI van een applicatie loopt altijd in een andere thread(meestal met hogere prioriteit) dan de eigenlijke logica. Indien dit niet zo zou zijn dan hangt je keihard vast iedere keer je op een knop klikt tot de actie geassocieerd met die knop helemaal uitgevoerd is.
1985: Voor een hele zwik software maakt het ook helemaal niet uit of iets meer dan 512k ondersteunt of niet en kan je er nauwelijks voordeel uit halen om iets meer geheugen te geven.Voor een hele zwik software maakt het ook helemaal niet uit of iets meerdere cores ondersteunt of niet en kan je er nauwelijks voordeel uit halen om iets te parallelliseren
Die hoort niet in het rijtje thuis, win ik nu iets?1990: Voor een hele zwik software maakt het ook helemaal niet uit of iets OO geschreven is of niet en kan je er nauwelijks voordeel uit halen om iets in objecten te definiëren.
Het heeft er losjes mee te maken, maar vanaf de andere kant gezien, namelijk vanaf de programmeur. In 1990 was er een vrij grote groep programmeurs die vond dat OO niet nodig was voor 'gewone' programma's en dat alleen hele grote enorm gecompliceerde applicaties er voordeel uit zouden kunnen halen. Men dacht dat OO alleen maar nodeloze complexiteit zou brengen en de kans op fouten zou verhogen.Die hoort niet in het rijtje thuis, win ik nu iets?
Ik ben professioneel bezig met onderzoek naar gedistribueerde software, dus ik zal de laatste zijn om te beweren dat parallelisatietechnieken en optimalisaties voor multicore systemen niet nodig zijn.Je ziet dat nu weer (vanaf de programmeurs kant) het zelfde argument wordt gebruikt. Parallel programmeren is niet nodig. Alleen hele complexe apps hebben het nodig etc.
Inderdaad, maar dat geldt natuurlijk voor heel veel dingen.Waar ik echter vooral op wou reageren is dat niet alles zomaar te paralleliseren is, en het ook niet altijd nuttig is om dat te doen.
Ach... ik vermaak me nog steeds als ik mijn Sega Megadrive weer eens aansluitAls het aan jou lag zaten we nog op een 7Mhz 68000 te werken...
[Reactie gewijzigd door Sunbeam-tech op 2 augustus 2024 18:57]
[Reactie gewijzigd door Verwijderd op 25 juli 2024 14:18]
Ik neem aan dat je gebruik maakt van Windows of een ander multi-tasking besturingssysteem. In dat geval is het altijd handig om meerdere cores te hebben, de diverse taken hoeven dan niet allemaal dezelfde core te delen.Waar is de optie: Nee ik heb het niet nodig?
[Reactie gewijzigd door Regeneration op 2 augustus 2024 18:57]
Als je op korte termijn (bijna een jaar of zo) een laptop koopt, dan is de kans klerin dat je er 1 met een quadcore CPU kan kiezen.Mijn volgende PC wordt een notebook, en daarin zitten helaas nog geen quadcores.
[Reactie gewijzigd door Facepalm op 2 augustus 2024 18:57]
[Reactie gewijzigd door Wildfire op 2 augustus 2024 18:57]
Op dit item kan niet meer gereageerd worden.