[racket-users] benchmarks game

2020-10-25 Thread Raoul Schorer

Hi,

I got interested into The Computer Language Benchmarks Game.

The binary-trees benchmark is different between the BC (parallel) and CS 
(single threaded) versions. On trying to execute the parallel version on 
RacketCS with the expected commands (`raco make binarytrees`, and then 
`racket binarytrees 21`), I get nothing printed on stdout while everything 
is working as expected with the same commands for the single-threaded 
version. Why is that? 

As an aside, doing the same without compiling first yields the expected 
behaviour in both programs and the parallel version seems faster in 
RacketCS, so it would seem like a worthy change to the benchmarks.

Cheers,
Raoul

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/14e3117e-7935-4dcc-b839-2c06fe368010n%40googlegroups.com.


[racket-users] garbage collection

2020-10-25 Thread Tim Meehan
I'm in a very small programming operation, and I am trying to get my
co-workers to try out Racket, or at least tolerate some of the tools being
written in Racket. One of them has a very simple decision tree that he uses
to evaluate programming languages: "does it have a garbage collector?", if
yes, reject ...

It doesn't seem to be a speed thing, it seems to be that he is convinced
that the designers of the garbage collectors look for bad times to go to
work and screw up what he's doing. (You guys don't do that, right? )

It got me thinking though - is it possible to run modern Lisp-y languages
without a garbage collector? Is it even smart to try? I know that there
must be a trade off, I just didn't know enough about what was traded off to
explain it to him.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CACgrOxLZXa%2BLUhX4sWbdg8PtjnoiSw_yeSDMg7OoV9HSEMRweA%40mail.gmail.com.


Re: [racket-users] garbage collection

2020-10-25 Thread 'John Clements' via Racket Users
It depends a lot on what you mean by a “Lisp-y” language. I’m certainly not 
going to disagree with the sentiments expressed in the stack overflow post that 
Dan Prager posted… after all, I wrote the top-posted one! You’re asking a 
question about persuading a co-worker, though. In my opinion, the best line of 
argument to use with people like this is that you could be trading CPU time 
against human developer time. I think it’s moderately non-controversial to 
suggest that writing code in languages without a garbage collector creates new 
opportunities for things to break, and therefore incurs a higher development 
and maintenance cost. If the software is going to be run enough, then maybe you 
can make an argument that the tradeoff is worth it. If it’s not on a critical 
path, though, then reducing development time is probably the better choice.

In my opinion, moving the discussion up one level (cost benefit analysis) 
reduces the opportunity for banging heads on the merits of garbage collection 
itself.

And, with that said, changing peoples’ minds is generally impossible.

John


> On Oct 25, 2020, at 10:10, Tim Meehan  wrote:
> 
> I'm in a very small programming operation, and I am trying to get my 
> co-workers to try out Racket, or at least tolerate some of the tools being 
> written in Racket. One of them has a very simple decision tree that he uses 
> to evaluate programming languages: "does it have a garbage collector?", if 
> yes, reject ...
> 
> It doesn't seem to be a speed thing, it seems to be that he is convinced that 
> the designers of the garbage collectors look for bad times to go to work and 
> screw up what he's doing. (You guys don't do that, right? )
> 
> It got me thinking though - is it possible to run modern Lisp-y languages 
> without a garbage collector? Is it even smart to try? I know that there must 
> be a trade off, I just didn't know enough about what was traded off to 
> explain it to him.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/CACgrOxLZXa%2BLUhX4sWbdg8PtjnoiSw_yeSDMg7OoV9HSEMRweA%40mail.gmail.com.



-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/22ce3dfa-b2bb-4484-a43f-ff190461fbdb%40mtasv.net.


Re: [racket-users] garbage collection

2020-10-25 Thread Daniel Prager
>  is it possible to run modern Lisp-y languages without a garbage
collector? Is it even smart to try?

This seems to cover it ...

https://stackoverflow.com/questions/16240183/not-using-garbage-collector-in-scheme-lisp-implementation

Dan

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAFKxZVUku1i7HFZxuFpzW2L5YZaHoxFz-pXN64RoHpa3CadbSQ%40mail.gmail.com.


Re: [racket-users] benchmarks game

2020-10-25 Thread Matthew Flatt
Hi,

Can you say more about which version of Racket you're running and on
what platform?

Thanks!
Matthew

At Sun, 25 Oct 2020 03:47:39 -0700 (PDT), Raoul Schorer wrote:
> 
> Hi,
> 
> I got interested into The Computer Language Benchmarks Game.
> 
> The binary-trees benchmark is different between the BC (parallel) and CS 
> (single threaded) versions. On trying to execute the parallel version on 
> RacketCS with the expected commands (`raco make binarytrees`, and then 
> `racket binarytrees 21`), I get nothing printed on stdout while everything 
> is working as expected with the same commands for the single-threaded 
> version. Why is that? 
> 
> As an aside, doing the same without compiling first yields the expected 
> behaviour in both programs and the parallel version seems faster in 
> RacketCS, so it would seem like a worthy change to the benchmarks.
> 
> Cheers,
> Raoul
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20201025192104.e8%40sirmail.smtps.cs.utah.edu.


Re: [racket-users] garbage collection

2020-10-25 Thread Hendrik Boom
On Sun, Oct 25, 2020 at 04:41:41PM -0400, 'John Clements' via Racket Users 
wrote:
> It depends a lot on what you mean by a “Lisp-y” language. I’m certainly not 
> going to disagree with the sentiments expressed in the stack overflow post 
> that Dan Prager posted… after all, I wrote the top-posted one! You’re asking 
> a question about persuading a co-worker, though. In my opinion, the best line 
> of argument to use with people like this is that you could be trading CPU 
> time against human developer time. I think it’s moderately non-controversial 
> to suggest that writing code in languages without a garbage collector creates 
> new opportunities for things to break, and therefore incurs a higher 
> development and maintenance cost. If the software is going to be run enough, 
> then maybe you can make an argument that the tradeoff is worth it. If it’s 
> not on a critical path, though, then reducing development time is probably 
> the better choice.
> 
> In my opinion, moving the discussion up one level (cost benefit analysis) 
> reduces the opportunity for banging heads on the merits of garbage collection 
> itself.
> 
> And, with that said, changing peoples’ minds is generally impossible.

The big question is:

   Is this a program where short pauses would be critical?

If not, you can afford a garbage collector.
If so, you should use a language without a garbage collector, perhaps Rust,
or else not have any tricky data structures that have to be freed.

P.S.  If the lists are noncircular, reference counting works.  Provided 
your languages manages it properly.  I suspect Rust does.  Limbo uses it 
as the preferred means for garbage collection, with a regular garbage 
collector as a backup, needed only when there are lost circular lists.

-- hendrik

> 
> John
> 
> 
> > On Oct 25, 2020, at 10:10, Tim Meehan  wrote:
> > 
> > I'm in a very small programming operation, and I am trying to get my 
> > co-workers to try out Racket, or at least tolerate some of the tools being 
> > written in Racket. One of them has a very simple decision tree that he uses 
> > to evaluate programming languages: "does it have a garbage collector?", if 
> > yes, reject ...
> > 
> > It doesn't seem to be a speed thing, it seems to be that he is convinced 
> > that the designers of the garbage collectors look for bad times to go to 
> > work and screw up what he's doing. (You guys don't do that, right? )
> > 
> > It got me thinking though - is it possible to run modern Lisp-y languages 
> > without a garbage collector? Is it even smart to try? I know that there 
> > must be a trade off, I just didn't know enough about what was traded off to 
> > explain it to him.
> > 
> > -- 
> > You received this message because you are subscribed to the Google Groups 
> > "Racket Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send an 
> > email to racket-users+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msgid/racket-users/CACgrOxLZXa%2BLUhX4sWbdg8PtjnoiSw_yeSDMg7OoV9HSEMRweA%40mail.gmail.com.
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/22ce3dfa-b2bb-4484-a43f-ff190461fbdb%40mtasv.net.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20201025210826.vhanbgcjs77qrkea%40topoi.pooq.com.