ben
2018-10-12 14:21:54

@samth is this the binomial heap benchmark from pycket’s figure 8 (oopsla 2017)? I’m running <collapsible>/racket binomial-heap-tests.rkt and its taking a few minutes (which makes sense, b/c collapsible doesn’t collapse structs yet)


samth
2018-10-12 14:23:48

the OOPSLA artifact should have it, but it’s originally from Robby’s paper a while back


ben
2018-10-12 14:24:37

where is the oopsla artifact?


samth
2018-10-12 14:25:13

I think on the DL


ben
2018-10-12 14:26:01

ok … I think I found it, there’s a 1GB zipfile on the dl page


samth
2018-10-12 14:26:30

yeah it’s not well-labeled



samth
2018-10-12 14:28:54

it’s also in the pycket-benchmarks repo


ben
2018-10-12 14:29:13

that paper where I got the binomial I sent you, but seems like its taking too long


samth
2018-10-12 14:29:31

taking too long in what system/configuration/etc?


ben
2018-10-12 14:30:26

system = collapsible, configuration = N/A


ben
2018-10-12 14:30:57

I unzipped the tarfile here, and since Racket took ~40 seconds in the Pycket paper, I expected collapsible to be around that


ben
2018-10-12 14:31:03

but it’s been over 10 minutes


samth
2018-10-12 14:31:28

how fast is it in regular racket?


ben
2018-10-12 14:32:24

I haven’t tried yet


ben
2018-10-12 14:32:35

do you know where binomial is in the pycket-bench repo?



dan
2018-10-12 14:43:06

@dan has joined the channel


ben
2018-10-12 14:46:38

hm, I don’t think I’ve found the right code


ben
2018-10-12 14:47:03

that binomail-heap-test.rkt is the same file I had before, and its very slow with + without collapsible


ben
2018-10-12 14:47:21

I let it run for a few minutes on the 6.12 baseline, then killed it


ben
2018-10-12 14:47:40

there’s a file pff.rkt in the same pycket-bench folder, but that’s slow too


samth
2018-10-12 14:48:57

did you try running the script mentioned in the README?



samth
2018-10-12 14:51:48

yeah


ben
2018-10-12 14:51:55

hmm the pycket artifact has a folder pycket-bench/ChaperoneBenchmarks/ but its empty


ben
2018-10-12 14:52:05

I’ll try tunning ./run-all


ben
2018-10-12 14:53:16

I mean, I can’t find anything “binomial” in the artifact


ben
2018-10-12 14:53:29

find . -name "*binomial*"ag "binomial" … nothing


ben
2018-10-12 14:54:40

oh .. its a git submodule


ben
2018-10-12 15:00:46

./run-all has been running a few minutes, but hasn’t printed anything


ben
2018-10-12 15:01:47

the oopsla paper used racket 6.6, right?


samth
2018-10-12 15:02:40

yes


ben
2018-10-12 15:04:13

ok, I’m getting the same results on 6.6


samth
2018-10-12 15:05:15

does the plain racket (no contracts) one work?


ben
2018-10-12 15:05:44

no


ben
2018-10-12 15:06:22

well, hang on .. you mean the no-contracts mode in the benchmark


ben
2018-10-12 15:06:45

all I know is I haven’t found a way of running the code that prints any output … maybe I can comment things out to only try the no contracts mode


samth
2018-10-12 15:07:11

it should be pretty easy to figure out the command line from that shell script


ben
2018-10-12 15:07:18

(I don’t see the data for Fig 8 in the pycket artifact either, just timings for the gradual typing benchmarks)


ben
2018-10-12 15:12:17

this is probably an infinite loop where the contracts are defined; maybe missing recursive-contract?


samth
2018-10-12 15:13:36

I note that the last commit in the struct folder is “remove erroneous code”


ben
2018-10-12 15:14:34

where do you see that?


samth
2018-10-12 15:14:47

in the pycket-benchmarks log


samth
2018-10-12 15:15:09

[samth@huor:~/sw/pycket-benchmarks/struct (master) plt] git log —stat –1 commit 9673ec0e6e87bdc4dfbc4d3b3e0022e47eeb586c (HEAD -> master, origin/master, origin/HEAD) Author: Spenser Bauman <sabauma@gmail.com> Date: Tue Mar 8 00:05:16 2016 –0500

Remove erroneous code

struct/binomial-heap-contract.rkt | 39 ————————————— struct/pff.rkt | 2 +- 2 files changed, 1 insertion(+), 40 deletions(-)


ben
2018-10-12 15:16:17

ok, that commit isn’t in pycket/pycket-bench, the submodule isn’t up-to-date


samth
2018-10-12 15:16:53

ah


samth
2018-10-12 15:16:56

[samth@huor:~/sw/pycket-benchmarks/struct (master) plt] r pff.rkt koala-face.trace none 0 running koala-face.trace.time.0 none [samth@huor:~/sw/pycket-benchmarks/struct (master) plt] r pff.rkt koala-face.trace none 1 running koala-face.trace.time.1 none [samth@huor:~/sw/pycket-benchmarks/struct (master) plt] r pff.rkt koala-face.trace none 2 running koala-face.trace.time.2 none


samth
2018-10-12 15:17:14

my guess is that some change to the contract system broke that code a long time ago


samth
2018-10-12 15:20:21

which is sad but we were less careful about backwards compatibility back then


samth
2018-10-12 15:27:01

unfortunately something seems wrong with pycket’s command line handling for that code


samth
2018-10-12 15:27:07

so I can’t run that yet


ben
2018-10-12 15:28:47

can I send you a simpler version in a few minutes? a folder where you can unpack & run pycket-c main.rkt and see a time


samth
2018-10-12 15:28:54

sure


ben
2018-10-12 15:29:34

ok. Dan wants something similar to see how collapsible looks if the structs are replaced with vectors


github2-x
2018-10-12 15:29:44

samth
2018-10-12 15:30:18

note that that code is tricky because it has a bunch of old contract system features


samth
2018-10-12 15:30:26

opt/c in particular


ben
2018-10-12 17:47:26

@samth I think this should run on pycket, if you unzip and run pycket-c main.rkt (haven’t successfully tested it myself yet b/c I need to pull the new pycket commits)


samth
2018-10-12 18:23:58

sadly that seems to break for some reason


samth
2018-10-12 18:24:01

looking now


github2-x
2018-10-12 22:46:58