unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
To: Damien Mattei <damien.mattei@gmail.com>
Cc: guile-user <guile-user@gnu.org>
Subject: Re: map-par slower than map
Date: Sun, 23 Oct 2022 23:18:58 +0000	[thread overview]
Message-ID: <87860c1f-e590-8e16-e031-dedc99cd3864@posteo.de> (raw)
In-Reply-To: <CADEOadfhHw++s_e+6sZqRoV=Q50LFDCr7YxQ5G5jmJiWCaE7Dg@mail.gmail.com>

Hello Damien!

On 10/23/22 03:06, Damien Mattei wrote:
> after intense coding i finally got the good results,
> my assumption about the global variable hash table was true ,it is 
> incompatible with 'future : the competition for the writing into the hash 
> table breaks the code.
>
> If i do writing in hash table out of // region all is ok:
>
> a simple function to extract the hash table access:
>
> (define (tag-minterms i umt)
>   (when umt
>      {mt1 <+ (first {minterms-vector[i]})}
>      {mt2 <+ (second {minterms-vector[i]})}
>      {minterms-ht[mt1] <- #t}
>      {minterms-ht[mt2] <- #t}))
> [...]

I am not sure what exactly the problem is, which you are trying to calculate, 
but it looks fairly mathematical to me. Maybe you do not need to share state 
globally at all? Maybe you can find a way to avoid global shared state? I am 
guessing, that you want to avoid duplicated computation of part terms?

Of course,if you have global state and do not have a synchronization construct 
(!) for accessing the hash table, I would expect things to go wrong at some 
point, with non-reproducible results. I do not think that futures are to blame 
here, or parallel map in that case.

With a synchronization construct, some kind of mutex, your bottle neck might 
just become that mutex. Up to you to measure that ; )

Would be nice, if you found a clever way to separate the problems into disjunct 
parts and then solve them without global state.

Regards,
Zelphir

-- 
repositories:https://notabug.org/ZelphirKaltstahl


  reply	other threads:[~2022-10-23 23:18 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-12 17:19 map-par slower than map Damien Mattei
2022-10-12 18:45 ` Maxime Devos
2022-10-12 20:20   ` Damien Mattei
2022-10-12 20:27     ` Damien Mattei
2022-10-12 21:29       ` Zelphir Kaltstahl
2022-10-14  8:21         ` Damien Mattei
2022-10-14  8:38           ` Zelphir Kaltstahl
2022-10-17 13:17             ` Damien Mattei
2022-10-22 16:01               ` Damien Mattei
2022-10-23  1:06                 ` Damien Mattei
2022-10-23 23:18                   ` Zelphir Kaltstahl [this message]
2022-10-24  3:56                     ` Keith Wright
2022-10-24  7:03                       ` Zelphir Kaltstahl
2022-10-24  4:39                     ` Damien Mattei
2022-10-25  9:07         ` Mikael Djurfeldt
2022-10-25  9:11           ` Mikael Djurfeldt
2022-10-25 14:09             ` Damien Mattei
2022-11-10 10:32         ` Damien Mattei
2022-11-10 10:41           ` Damien Mattei
2022-11-10 10:52             ` Zelphir Kaltstahl
2022-11-10 13:36               ` Damien Mattei
2022-11-10 17:07           ` Olivier Dion via General Guile related discussions
2022-11-11 10:26             ` Damien Mattei
2022-11-11 12:25               ` Zelphir Kaltstahl
2022-11-11 13:36                 ` Damien Mattei
2022-11-11 13:37                   ` Damien Mattei
2022-11-13  8:23                     ` Damien Mattei
2022-10-12 21:44     ` Maxime Devos
2022-10-12 21:55 ` Olivier Dion via Developers list for Guile, the GNU extensibility library
2022-10-13  7:40   ` Damien Mattei
2022-10-13  8:20     ` Damien Mattei
2022-10-13  9:10     ` Olivier Dion via Developers list for Guile, the GNU extensibility library
2022-10-13 10:44   ` Damien Mattei
2022-10-13 11:00     ` Olivier Dion via Developers list for Guile, the GNU extensibility library
     [not found]       ` <CADEOadfovi8s3OxRcssWOuOW8jjHoL9Z7pD_5FstSm=ZkBHP8g@mail.gmail.com>
2022-10-13 11:57         ` Fwd: " Damien Mattei
2022-10-13 12:36           ` Damien Mattei
2022-10-13 12:41             ` Olivier Dion via Developers list for Guile, the GNU extensibility library
2022-10-13 13:43               ` Damien Mattei
2022-10-13 14:06                 ` Olivier Dion via Developers list for Guile, the GNU extensibility library
2022-10-13 14:10                   ` Damien Mattei
2022-10-13 14:21                     ` Damien Mattei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87860c1f-e590-8e16-e031-dedc99cd3864@posteo.de \
    --to=zelphirkaltstahl@posteo.de \
    --cc=damien.mattei@gmail.com \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).