-
-
Notifications
You must be signed in to change notification settings - Fork 438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
version 1.0? #1896
Comments
@psteinb This is a very good question and not one which can be easily answered, but let me try. Generally we think HPX is reasonably stable and usable for production already. It's development went through 11 or 12 major releases over almost 8 years. We use HPX for a number of larger projects ourselves and know of other people doing the same. So we're very conscious about API stability (see for instance here for how we track those). Any breaking changes to the API we try to do in stages over 2-3 releases (first deprecating it, hiding it behind pp constants, and only then removing the old version) to simplify the lives of our users. You might ask: "Why haven't you released a V1.0 yet in this case"? Code-quality-wise and feature-wise we could have done that at least a year ago. However, HPX is a large beast. We want to apply it to use-cases which have not been implemented too widely by other systems. We believe we have not fully implemented those, which makes us a bit hesitant to go for the 'big-bang'. Here is a list of such features (most of which are mentioned in some other ticket already):
Now as I wrote this I realize that none of the things listed are expected to break APIs (they will mostly add things). There is, however one change which will break API compatibility. This change is related to how we expose remote objects (components) and how we want to reference those (see #1421). Currently all of this is based on the (low-level) Another reason for our hesitance to release a V1.0 is caused by the fact that we try to follow the standard and the standardization process as closely and as timely as possible. As you know, the standard itself (related to parallelization) is currently heavily under flux and no final uniform parallelization model has been found by the committee (something we are actively involved with, btw). So we can't guarantee the APIs we expose will not have to change because of changes in the C++ standard itself. Now for the timeline. We plan to release V1.0 by August 2016 (one of our projects is running out at this point and HPX is planned to be one of the deliverables). It might very well be that some of the things listed above will not be 100% ready by that time, however. But we intend to settle on all major API issues for sure. So by and large, we could have (and perhaps should have) released V1.0 a while ago. However, the lack of such a release is (in my book) not related to insufficient code quality or gaping holes in the functionality. |
wow, thanks a bunch for the reply. that gives me a much better understanding |
cool, that sounds good to me! thanks for keeping me updated. On 01/31/2016 05:59 PM, Hartmut Kaiser wrote:
|
I saw the HPX presentations from MeetingC++ 2014 and 2015 by @hkaiser and @sithhell respectively. I was quite impressed but am wondering about something simple: what is the roadmap to version 1.0?
I am asking as I personally refrain from suggesting software to peers or colleaques if it is below version 1.0. Sorry to be so naive, but given the fact that HPX receives new features (that are often ahead of C++ standardization) every time I see a presentation about it, I simply ask myself, when it is stable (note: not ready) to use?
I think HPX is a wonderful library/system, keep going folks!
The text was updated successfully, but these errors were encountered: