Code Monkey home page Code Monkey logo

Comments (13)

mighe avatar mighe commented on May 16, 2024

It's fine, Promise will be ready for sure.
March 3 could be the last day for add new features, that way we'll have 2 full weeks for bug fixing and stabilize the APIs.

from concurrent-ruby.

jdantonio avatar jdantonio commented on May 16, 2024

I'm working with @lucasallan on some new features for Actor but it is unlikely they will be ready for this release. They are fairly major and would be better for a later release even if we were to finish them.

We definitely want Promise in this release, thank you for your work on this.

It looks like the new features @chrisseaton is working on should be ready with plenty of time to spare.

There are a few pending tests I've been meaning to work on. I will use this release as motivation to implement those tests.

Can anyone think of anything else that should be included in the next release?

from concurrent-ruby.

lucasallan avatar lucasallan commented on May 16, 2024

Sounds great. I'm finishing the new features in the middle of March.

from concurrent-ruby.

jdantonio avatar jdantonio commented on May 16, 2024

What is left to do prior to the 17th? We currently have zero pending specs and 100% code coverage. I am going to add a changelog to the wiki and document the (many) changes in this release. Are we done with all intended refactoring? I'm believe we've also addressed all the tests that were failing intermittently. Are there others anyone knows about? Any known bugs?

@chrisseaton Have you completed everything you planned fro MVar and IVar for this release?

Again, I can't thank everyone enough for the work you put into this gem. Thanks to all of you, especially @mighe and @chrisseaton (and @lucasallan in an upcoming release) this has grown from a fun side-project into something I believe can have real value to the Ruby community. I am insanely proud of what we have created together.

from concurrent-ruby.

mighe avatar mighe commented on May 16, 2024

It's the first time I really contribute to an open source project and I'm loving it: you, @chrisseaton and I have very different backgrounds and this is very exciting every time we share our ideas 😊

The only bug I knew of is about thread pool non-deterministic test, but it seems fixed now.

I'd like to refactor a bit Supervisor and thread pools, just to clean up a bit the code: I didn't see any severe issue in them (just some minor locking inconsistencies in Supervisor), so their APIs won't change.

from concurrent-ruby.

jdantonio avatar jdantonio commented on May 16, 2024

@mighe I know that Code Climate has given Supervisor an F grade, but I'm a little protective of that class (sorry, I'm human!). I put a lot of effort into it to replicate Erlang's behavior and I want to make sure we don't stray from that vision. If there are locking bugs they definitely need fixed, but please don't do anything more than that right now. I'd like to discuss any further potential changes later as part of a future release.

from concurrent-ruby.

chrisseaton avatar chrisseaton commented on May 16, 2024

I've no more features to add for this release. TVar and STM won't be ready by then.

I think perhaps we should look at some stress tests. By this I mean outside of RSpec, a set of programs that runs for a long time, doing random operations, checking for synchronisation problems. For example you could build a network of actors and have them pass messages around for half an hour, keep checking for consistency some way, and see if anything goes wrong. I'll do one for MVar and IVar to show what I mean. At the moment I think our specs are unlikely to catch the one in a million errors that are what make concurrency hard.

from concurrent-ruby.

mighe avatar mighe commented on May 16, 2024

I don't want to change anything substantially, just fix some small details about locking and remove some style warning, nothing more.
No Supervisors will be harmed during this process 😊

Stress tests will be very very useful, maybe we could write them for 0.5.1 or 0.6.0, I think we're too late for 0.5.0

from concurrent-ruby.

jdantonio avatar jdantonio commented on May 16, 2024

+1 to stress tests. When I was struggling with thread pools last summer I created a set of stress tests which I recently removed from the master branch. They were out of date and initiated as rake tasks. I like the idea of creating something more robust and comprehensive. We use JMeter at work on run those tests from or CI server. I'd love to see us create something like that for this gem.

from concurrent-ruby.

jdantonio avatar jdantonio commented on May 16, 2024

I've pushed a pre-release update (v0.5.0.pre.1) to Rubygems.

from concurrent-ruby.

headius avatar headius commented on May 16, 2024

I have been out of the loop for a bit, so if there's anything I could help with please let me know.

from concurrent-ruby.

jdantonio avatar jdantonio commented on May 16, 2024

@headius Your continued support and promotion of the gem is plenty, and greatly appreciated. I'm working on the changelog tonight and I've very impressed with the work @mighe and @chrisseaton have done on this release. It's vastly more reliable on JRuby and Rubinius. We've even started to implement a few JRuby-specific optimizations. Next Monday's release looks very good.

We've started working on some new features and optimizations for subsequent releases and @lucasallan is helping me work on a number of Actor updates. If there is anything you'd like to see in the gem or anything you'd like to work on yourself we'd love to have your input.

from concurrent-ruby.

jdantonio avatar jdantonio commented on May 16, 2024

I've released v0.5.0 a day early. I found a couple of bugs last weekend but there hasn't been much activity since. And to be honest, I've been pretty obsessed with Titalfall the past week so I haven't had much time for anything else. :-)

I've created a changelog in the wiki. Since I wasn't keeping a changelog during development I had to work from memory and the commit history. Please update the changelog with any errors and omissions.

I will email the mailing list Monday and send out an announcement tweet. Again, I cannot say "thank you" enough times to everyone who has helped improve, promote, and support this gem. You are all awesome.

from concurrent-ruby.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.