review of std.parallelism

dsimcha dsimcha at yahoo.com
Sat Mar 19 14:25:43 PDT 2011


On 3/19/2011 4:35 PM, Andrei Alexandrescu wrote:
> On 03/19/2011 12:16 PM, dsimcha wrote:
>> On 3/19/2011 12:03 PM, Andrei Alexandrescu wrote:
>>> On 03/19/2011 02:32 AM, dsimcha wrote:
>>>> Ok, thanks again for clarifying **how** the docs could be improved.
>>>> I've
>>>> implemented the suggestions and generally given the docs a good reading
>>>> over and clean up. The new docs are at:
>>>>
>>>> http://cis.jhu.edu/~dsimcha/d/phobos/std_parallelism.html
>>>
>>> * Still no synopsis example that illustrates in a catchy way the most
>>> attractive artifacts.
>>
>> I don't see what I could put here that isn't totally redundant with the
>> rest of the documentation. Anything I could think of would basically
>> just involve concatentating all the examples. Furthermore, none of the
>> other Phobos modules have this, so I don't know what one should look
>> like.
>
> I'm thinking along the lines of:
>
> http://www.digitalmars.com/d/2.0/phobos/std_exception.html
>
> A nice synopsis would be the pi computation. Just move that up to the
> synopsis. It's simple, clean, and easy to relate to. Generally, you'd
> put here not all details but the stuff you think would make it easiest
> for people to get into your library.
>
>> In general I feel like std.parallelism is being held to a
>> ridiculously high standard that none of the other Phobos modules
>> currently meet.
>
> I agree, but that goes without saying. This is not a double standard;
> it's a simple means to improve quality of Phobos overall. Clearly
> certain modules that are already in Phobos would not make it if proposed
> today. And that's a good thing! Comparing our current ambitions to the
> quality of the average Phobos module would not help us.
>
> Generally it seems you have grown already tired of the exchange and it
> would take only a few more exchanges for you to say, "you know what,
> either let's get it over it or forget about it."
>
> Please consider for a minute how this is the wrong tone and attitude to
> be having on several levels. This is not a debate and not the place to
> get defensive. Your role in the discussion is not symmetric with the
> others' and at best you'd use the review as an opportunity to improve
> your design, not stick heels in the ground to defend its current
> incarnation (within reason). Your potential customers are attempting to
> help you by asking questions (some of which no doubt are silly) and by
> making suggestions (some of which, again, are ill-founded).
> Nevertheless, we _are_ your potential customers and in a way the
> customer is always right. Your art is to steer customers from what they
> think they want to what you know they need - because you're the expert!
> - and to improve design, nomenclature, and implementation to the extent
> that would help them.
>
> Furthermore, you should expect that the review process will prompt
> changes. My perception is that you consider the submission more or less
> final modulo possibly a few minor nits. You shouldn't. I'm convinced you
> know much more about SMP than most or all others in this group, but in
> no way that means your design has reached perfection and is beyond
> improvement even from a non-expert.
>
> I know you'd have no problem finding the right voice in this discussion
> if you only frame it in the right light. Again, people are trying to
> help (however awkwardly) and in no way is that ridiculous.

Fair enough.  Now that I think of it most of my frustration is that 
these details are only getting looked at now, when I have a week (and an 
otherwise very busy week) to fix all this stuff, when this module has 
been officially in review for the past two weeks and unofficially for 
several months.  I would be much more open to this process if the issues 
raised could be fixed at my leisure rather than on a hard and tight 
deadline.  This is exacerbated by the fact that I have another 
important, unrelated deadline, also next Friday.

At the same time, though, I'm afraid that if we didn't fix a vote date 
and put some urgency into things, the pace of the reviews would be 
glacial at best, like it was for the first two weeks of official review 
and the months of unofficial review.

How about we make next Friday a soft deadline/start of voting?  It can 
be extended as necessary by mutual agreement of me and Lars (the review 
manager), and likely will be if the review process is still yielding 
good suggestions and/or I haven't had time to implement/clean up some 
key things.  Having a deadline breathing down your neck like this is 
really not conducive to being open to suggestions and thoughtful 
consideration, especially for issues that seem like fairly minor details.

Also increasing the deadline pressure issue, Michael Fortin just caused 
me to rethink the issue of exception handling in parallel foreach.  I 
had more-or-less working code for this, but I realized it's severely 
broken in subtle ways that I've (knock on wood) never actually run into 
in real world code.  It's gonna take some time to fix.  These kinds of 
issues with error handling code can very easily slip under the radar in 
a library with only a few users, and unfortunately, one has.  I 
definitely know how to fix it, but I have to implement the fix and it's 
somewhat non-trivial, i.e. I'm debugging it now and it's looking like a 
marathon debugging session.


More information about the Digitalmars-d mailing list