Proposal for Introducing a high level framework of concurrent & asynchronous programming

2010-09-07 Thread cee1
Hi all,

Glib has GMainLoop for asynchronous programming and GThread & GThreadPool
for concurrent programming. To combine the advantages of them two, users
need to take care of threads themselves in sources' callbacks. This
introduces some kind of complexity and also duplicate works.

So introducing a high level framework of concurrent & asynchronous
programming will make writing high performance code more easily.

Apple has made this in its GCD(Grand Central Dispatch,
http://lwn.net/Articles/352978/), and I've written some slides about it:

   -
   http://dev.lemote.com/files/upload/people/~chenj/libdispatch/libdispatch.pdf
   -
   
http://dev.lemote.com/files/upload/people/~chenj/libdispatch/libdispatch-event.pdf

  Here are odp versions:

   -
   http://dev.lemote.com/files/upload/people/~chenj/libdispatch/libdispatch.odp
   -
   
http://dev.lemote.com/files/upload/people/~chenj/libdispatch/libdispatch-event.odp


My ideas are:

   - Implement a similar framework in glib.
   - Make full use of epoll and eventfd, etc.
   - Rewrite some code in GIO, using this new framework.



-- 
Regards,

- cee1
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Proposal for Introducing a high level framework of concurrent & asynchronous programming

2010-09-08 Thread Sam Thursfield
On Tue, Sep 7, 2010 at 9:02 AM, cee1  wrote:
> Hi all,
> Glib has GMainLoop for asynchronous programming and GThread & GThreadPool
> for concurrent programming. To combine the advantages of them two, users
> need to take care of threads themselves in sources' callbacks. This
> introduces some kind of complexity and also duplicate works.
> So introducing a high level framework of concurrent & asynchronous
> programming will make writing high performance code more easily.
> Apple has made this in its GCD(Grand Central
> Dispatch, http://lwn.net/Articles/352978/), and I've written some slides
> about it:
>
> http://dev.lemote.com/files/upload/people/~chenj/libdispatch/libdispatch.pdf
> http://dev.lemote.com/files/upload/people/~chenj/libdispatch/libdispatch-event.pdf
>
>       Here are odp versions:
>
> http://dev.lemote.com/files/upload/people/~chenj/libdispatch/libdispatch.odp
> http://dev.lemote.com/files/upload/people/~chenj/libdispatch/libdispatch-event.odp
>
> My ideas are:
>
> Implement a similar framework in glib.
> Make full use of epoll and eventfd, etc.
> Rewrite some code in GIO, using this new framework.
>

Have a look at chergert's Iris library, which heads down the same road
you are proposing:

http://github.com/chergert/iris

> --
> Regards,
> - cee1
>
> ___
> gtk-devel-list mailing list
> gtk-devel-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gtk-devel-list
>
>
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list