rewrite-clj

https://github.com/clj-commons/rewrite-clj
lread 2019-11-18T00:44:57.276800Z

I think cider folks are heavy users of MrAnderson

2019-11-18T01:39:38.277500Z

yes, that's where i first saw it mentioned. was curious about whether there were other options 🙂

2019-11-18T06:22:15.278Z

interestingly, xsc wrote something that uses mranderson: https://github.com/xsc/lein-isolate

2019-11-18T06:26:10.279200Z

it seemed possible that mranderson uses rewrite-clj...and its project.clj suggests it does.

lread 2019-11-18T15:33:39.280800Z

rewrite-cljc progress update: GraalVM experiments continue, trying out github actions and will also give http://drone.io cloud a whirl.

borkdude 2019-11-18T15:34:25.281900Z

@lee Have you tried a native app with only clojure.test and barely nothing else? To check how much memory that consumes

borkdude 2019-11-18T15:34:36.282100Z

so apart from rewrite-cljc

lread 2019-11-18T15:37:24.284600Z

I have a hello world with a couple of tests where I learned how GraalVM works. Don't have numbers on that, but can look. Do have some numbers on natively compiling and running each rewrite-cljc namespace individually. All work under 3gb restriction except for one.

lread 2019-11-18T15:38:49.285900Z

My goal is to test that rewrite-cljc compiles natively with GraalVM, do you think it important that this test be carried out across mac/windows/linux or would linux only give enough confidence?

lread 2019-11-18T15:40:32.286900Z

(I ask this because http://drone.io is linux only, and it looks like it has maybe has a generous amount of RAM https://blog.drone.io/drone-cloud/)

borkdude 2019-11-18T15:43:10.287400Z

If the goal is only testing, I think any reproducible environment would suffice

borkdude 2019-11-18T15:43:55.288100Z

But having more than one OS seems desirable. I did have some problems that manifested only on Mac or Linux, not that many though

lread 2019-11-18T15:47:10.290500Z

Thanks, I'll give http://drone.io a try and let you know how it goes. GitHub Actions also looks interesting for their 7gb RAM (I think) and multi-platform support. If I can get each test namespace to compile and run under GH Actions available RAM, it could work.

2019-11-18T15:49:04.291Z

cute graphics for http://drone.io

lread 2019-11-18T15:49:52.291400Z

Portal inspired!

2019-11-18T15:52:13.291900Z

he he -- totally didn't get the reference, so had to do some image searches 🙂

borkdude 2019-11-18T15:53:44.292500Z

It would still be good to find out where this huge need for RAM comes from

lread 2019-11-18T16:15:37.295500Z

well, rewrite-clj (and rewrite-cljc) have a pretty comprehensive test suite, I thought it might be just the size of that. Not having a vast amount of experience with native-image, I was not terribly surprised at blowing 3gb as the default -Xmx setting is for native-image is 14g.

borkdude 2019-11-18T16:16:33.295800Z

measuring is better than guessing 🙂

lread 2019-11-18T16:16:49.296100Z

true. I continue to poke and prod and measure.

borkdude 2019-11-18T16:17:16.296400Z

clojure.test isn't that big itself but maybe it brings in some weird stuff

lread 2019-11-18T16:18:35.297Z

I'll do some more tests against my graal hello world today.

lread 2019-11-18T16:22:23.297100Z

it is a fun puzzle video game, if you are into that kind of thing. :simple_smile:

2019-11-18T16:23:23.297300Z

tnx, i am, but in recent years i have been avoiding such things :)

lread 2019-11-18T16:27:20.297500Z

I think it was @borkdude who said Clojure is more fun than video games?

borkdude 2019-11-18T16:28:06.297700Z

I might have, but if I didn't, I still agree

2019-11-18T16:28:28.297900Z

ha ha ha - i had started avoiding before getting into clojure, but may be i've been able to continue because of clojure :)