Friday, May 7, 2010

Grand Central Dispatch, Apple

Только что обнаружил:

технология Apple предназначенная для создания приложений, использующих преимущества многоядерных процесссоров и других SMP-систем[1]. Эта технология является реализацией параллелизма задач и основана на шаблоне проектирования "Пул потоков". GCD впервые была представлена в Mac OS X 10.6. Исходные коды библиотеки libdispatch, реализующей сервисы GCD, были выпущены под лицензией Apache 10 сентября 2009 г.[1]. Впоследствии библиотека была портирована[2] на другуюоперационную систему FreeBSD [3].

Ссылки для дополнительного изучения:
http://ru.wikipedia.org/wiki/Grand_Central_Dispatch
http://ru.wikipedia.org/wiki/Блоки_(расширение_языка_Си)
http://ru.wikipedia.org/wiki/Intel_Threading_Building_Blocks


В связи с чем: Ruby поддерживает GCD в отличие от остальных динамических языков.


Introduction
Historically, the Ruby language has been firmly founded in the single-processor paradigm. Mainline Ruby uses green threads to simulate multiprocessing in Ruby; unfortunately, it’s difficult to properly harness the power of multicore processors with green threads. In late 2009, MacRuby bridged Ruby threads to native threads and removed the Global Interpreter Lock. Recently, however, MacRuby took a step forward that no other Ruby implementation – indeed, no other dynamic language – has offered: support for Apple’s Grand Central Dispatch library.
Grand Central Dispatch, or GCD, is a technology designed to let programmers easily harness the power of multi-core processors. GCD hides the details of creating, managing, and destroying POSIX threads from the programmer, making it trivial to write programs that take full advantage of the power of multicore and multiprocessor systems. GCD is built into the foundations of Mac OS X, implemented in both the kernel and userspace, and is so remarkably efficient that it’s being used within system frameworks such as Cocoa and CoreFoundation.

0 коммент.:

Post a Comment

Powered by Blogger.