groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Russel Winder <>
Subject Re: challenges through Java modules (aka jigsaw)
Date Sun, 29 Nov 2015 11:01:29 GMT
On Sat, 2015-11-28 at 10:32 +0100, Jochen Theodorou wrote:
> […]
> I think Russel is more targeting the way things work in JDK8. Which 
> means going away from collections and embrace streams instead for
> example.

Jochen has "hit the nail on the head". I was perhaps a little vague in
my original comments. Let me expand.

GPars 1.x is a JDK7+ system that relies on a vendor fork of extra166y,
this provides the ParallelArray type on which GPars relies for
implementing section of the overall functionality. As we now know this
route to parallelism was abandoned by JDK in favour of Streams. This is
a Good Thing™. It means though that a significant part of GPars is
built on stuff that has no future and indeed GPars in not making use of
future looking infrastructure.

Of course people can use Streams in Groovy without GPars as long as
they are on JDK8+.

I have created a new branch of GPars, which should be GPars 2.0 when
ready, which removes all the ParallelArray stuff and the vendor fork of
extra166y. Whilst a lot of GPars still works, large parts of the
overall API now do not work and/or have been removed. One strategy is
to go this route and have people use Streams much more explicitly in
Groovy and have GPars only provide the dataflow, CSP and actors stuff.
There are lots of positive reasons for going this route, not least that
it makes GPars smaller and easier to maintain whilst providing the
really important parallelism features in a post JDK7 world. However
many have indicated they prefer the old GPars API compared to the Java
Streams API and would like to see the GPars 1.3 API reimplemented over
Streams rather than using ParallelArray. This is the current state of
GPars 2.0, ParallelArray is gone, but the 1.3 API is not reimplemented
in Streams.

What we need is for people to pick up a few bits of the old GPars 1.3
API that relied on ParallelArray and propose a reimplementation in
Streams. I may be able to get stuck in to this after next week, but all
help is most welcome.

Also, if anyone finds any problems in GPars 1.3 please send in pull
requests to get things fixed – we will be maintaining 1.3 for a while
as GPars 2.0 is not ready for release and there are still recalcitrants
using JDK1.x where x < 8. 

Dr Russel Winder      t: +44 20 7585 2200   voip:
41 Buckmaster Road    m: +44 7770 465 077   xmpp:
London SW11 1EN, UK   w:  skype: russel_winder

View raw message