The gpars news
I'm happy to announce that after four years of development GPars, the Groovy concurrency library, has just reached its 1.0 mark. A fresh and crispy GPars 1.0.0 is now ready for you to grab or download and use on your projects. Also, the up-coming Groovy releases will bundle GPars 1.0.
Compared to the previous release, 1.0 brings several performance enhancements, considerable API updates, polished documentation and numerous functionality improvements, mostly in the dataflow area. Please, check out the What's new section of the user guide for the details. Full release notes are also available.
I would like to use this opportunity to thank all the Groovy people, who have over time contributed in one way or another to the success of GPars. It is my honour to be part of such a helpful and encouraging community. In particular, I would like to thank my colleague GPars commiters, namely Paul King, Dierk Koenig, Alex Tkatchman and Russel Winder, who we've been consistently pushing the project forward and without whom it would hardly ever get this far. I also greatly appreciate the support we received from Guillaume Laforge, the Groovy supreme commander. Thank you all gentlemen!
Groovy concurrency times ahead!
We are almost there. The 1.0 release is just round the corner. To ensure that 1.0 meets your quality expectations we first prepared a release candidate to test the waters. To take GPars for a test ride, please download or grab it at the usual places, check out the release notes and let us know if something is missing.
GPars-1.0-beta-3 has been made available for you to try out.
Apart from the usual doze of features and fixes, including speed-up for some operations on parallel collections or lifecycle events for dataflow operators, there is one major change compared to beta-2 worth pointing out explicitly:
- GPars no longer depends on the extra166y artifact. The parallel array library by Doug Lea has been integrated into GPars. The jsr166y (Fork/Join) jar still remains in the dependency list until we migrate GPars to jdk7.
Grab gpars-1.0-beta-3 and have a lot of fun with the new release.
I'd like to direct you to my recent blog post detailing the use of Dataflow operators. It uses the popular Game of Life coding excercise to illustrate the principles of the dataflow concept. Check it out at my personal blog.
We have some great news to all the parallel souls out there - GPars 0.12 has just hit the shelves. The new version comes with lots of big and small improvements, out of which these are the most notable ones:
- Composable asynchronous functions
- The newest version of Doug Lea's Fork/Join framework (aka jsr-166y)
- Active Objects
- Initial stub at Software Transactional Memory support using Multiverse
Your GPars team
Dr.Dobb's has just published my overview article on actors in GPars. You may check it out at http://drdobbs.com/high-performance-computing/229402193
For the upcoming 0.12 release gpars now provides a Pdf version of the user guide. Check it out at http://gpars.org/SNAPSHOT/guide/gpars-guide-0.12-beta-1.pdf
Great thanks to the CZJUG hackathon team in Prague, who did the implementation, as well as to Andres Almiray of the Griffon project, who shared his valuable insight into the matter.
In short - GPars is now using the Java 7 concurrency artifacts. Russel Winder has taken initiative and with an official blessing from the jsr-166 team he mirrored the most recent jsr-166 artifacts into the maven repository. This allowed us to remove the dependency on the ancient coconut clone of the fork/join framework and use the "real" live matter. With all the improvements and fixes that jsr-166y has gone through during the last couple of years this has immediate effect on GPars plus once Java 7 ships with jsr-166y bundled, we will be ready.
Nothing changes on the user side of things, provided you're using an automated dependency management tool such as Gradle or Maven. The recent 0.12-beta-1 snapshot correctly declares the new dependencies. You may check out more details in the snapshot user guide.
Enjoy concurrency in Groovy!
Yours GPars Team