Apple geeft broncode Grand Central Dispatch vrij

Door: Siebren Verhoef - 10 reacties

Apple heeft de broncode van Grand Central Dispatch (GCD) vrijgegeven. Op deze manier krijgen andere software-ontwikkelaars een beter beeld van hoe GCD in elkaar zit, en kunnen ze het zelf gebruiken bij de ontwikkeling van software. GCD is onderdeel van Mac OS X, en is ontwikkeld om optimaal gebruik te maken van de verschillende cores die processoren tegenwoordig bevatten. Met behulp van deze techniek kunnen computers met multi-core processoren betere prestaties leveren.

Nu Apple de broncode van GCD heeft vrijgegeven, zou deze techniek ook door andere ontwikkelaars van besturingssystemen kunnen worden gebruikt. Zo is er een kans dat de techniek gebruikt zal worden in toekomstige distributies van Linux. De kans dat Microsoft gebruik gaat maken van GCD lijkt vrij klein. Het vrijgeven van de broncode is wellicht een noodzakelijke stap geweest om deze techniek populair te maken.

Reacties

10 reacties
  • Profielfoto
    xino

    Broncode vrijgeven is nooit slecht :)

    Technieken achterhouden is zo ouderwets en weerhoudt mooie technieken door te ontwikkelen.

  • Profielfoto
    Maurits Cassee

    Dat betekent dat alle Apple apps (iTunes,iLife,iWork) straks multi-core ondersteunen want dat kan iTunes wel gebruiken alhoewel ie na de update van 9 wel sneller is geworden op de 2,4GHz Core2Duo.

  • Profielfoto
    midas

    Weer later dan tweakers, kom op Siebren het gaat zo lekker!

  • Profielfoto
    So Klear

    @Maurits Cassee

    Is het niet zo dat (bijna) alle Apple Apps al optimaal gebruik maken van Snow Leopards technieken, zoals GCD?!

  • Profielfoto
    Soulshaker

    Microsoft start your photocopiers :p

  • Profielfoto
    Xserve

    @Perfect Dark Zero
    Enkel de programma’s die bij Mac OS X geleverd worden ondersteunen alle nieuwigheden in Snow Leopard (64bit, GCD en OpenCL). iTunes, DVD Player, Grapher en Front Row zijn hier de uitzondering op. iLife, iWork en alle andere Apple programma’s zijn niet bij SL meegeleverd en ondersteunen dus ook nog niet de nieuwe technologieën.

  • Profielfoto
    vLint

    Foutje in de tekst:

    “Het vrijgeven van de broncode van is wellicht…”

    Twee keer “van”.

    Verder maakt het mij nu nog niet zo gek veel uit, want de grafische chip van m’n MacBook wordt niet ondersteund. Maar voor de toekomst is dit natuurlijk een positief punt.

  • Profielfoto
    bugboy

    Parallel processing is de toekomst. De eerste Pentium op 3Ghz is al in november 2002 geïntroduceerd. We kunnen tegenwoordig wellicht wat meer per cycle, maar de rek is er wel een beetje uit. Meerdere cores is een goedkoper en beter alternatief, maar is lastig te gebruiken omdat er software aanpassingen nodig zijn.

    Apple heeft ervoor gekozen om het in het OS op te lossen met GCD, maar daar moeten applicaties wel expliciet gebruik van maken. Dat zijn meestal de nieuwere programma’s. Het omschrijven van single-threaded naar multi-threaded heeft consequenties voor je ontwerp en soms ook algoritmes, dus dat is helaas niet zomaar een recompile en klaar.

    In Microsoft’s .NET 4 framework (verwacht eind dit jaar) ligt ook sterk de nadruk op parallel processing (P/LINQ, …) en dat lijkt erg op GCD. Ik denk niet dat het heel erg van elkaar is afgekeken. Het is gewoon een logisch vervolg op de hardware ontwikkeling.

    Persoonlijk vind ik de MS oplossing praktischer en beter doordacht (maar dat geldt voor het hele .NET Framework t.o.v. Cocoa). Cocoa ziet er voor de eindgebruiker meestal fraaier uit (GUI), maar technisch vind ik .NET superieur.

    Beide systemen gebruiken een soort van lichtgewicht threadpool, maar verschillen op details. Op http://images.apple.com/macosx/technology/docs/GrandCentral_TB_brief_20090903.pdf staat een goede beschrijving van GCD op technisch niveau.

  • Profielfoto
    koen

    Hier ook een aardige uitleg en tutorial voor de programmeurs onder de lezers: http://www.macresearch.org/cocoa-scientists-xxxi-all-aboard-grand-central

  • Profielfoto
    ctxppc

    @bugboy: Ik zal het maar toegeven: ik heb .NET 4.0 nog niet bekeken, maar wel 1.0, 2.0, 3.0 en 3.5 en ik vind het altijd maar crap! Cocoa Rulez!

    Ik heb de ervaring ook: Ik heb geprobeerd om een ASPX-website (.NET 2.0 en daarna 3.5) te maken en weet je wat? Ze hebben mijn database (Microsoft SQL!) gehackt! Nee, geef mij maar chocolademelk met Core Data!

    Anyway… Apple: NEE!!! Doe dit jezelf niet aan! :( :angry: