what does future do after fn finish ?

2018-01-31 Thread Jacek Grzebyta
Hi, I have application with quite intense tripe store populating ~30/40 k records per chunk (139 portions). The data are wrapped within the future: (conj agent (future (apply task args))) and that all together is send-off into (agent []). At the end of the main thread function I just use

Re: what does future do after fn finish ?

2018-01-31 Thread Justin Smith
As a shot in the dark, a common problem with memory usage and futures that I have seen is the antipattern of launching a future for each piece of data in a collection. The problem that occurs is that the code works for small input collections and a small load of running tasks / requests, but for a

Re: [ANN] com.walmartlabs/lacinia 0.24.0, com.walmartlabs/lacinia-pedestal 0.6.0

2018-01-31 Thread Howard Lewis Ship
Thanks for the kind words! On Tue, Jan 30, 2018 at 5:31 PM, Matching Socks wrote: > Lacinia is well done, and, in combination with Clojure, a terrific > labor-saving device. > > In fact, Lacinia is so well-conceived that it makes GraphQL itself glow > with labor-saving

[ANN] lein-jlink: A leiningen plugin for custom JRE creation

2018-01-31 Thread Didier
This is awesome! I'll definitly give it a shot. Thanks for putting it together. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be

Re: what does future do after fn finish ?

2018-01-31 Thread Justin Smith
Doing all the actions via one agent means that the actions are serialized though - you end up with no performance improvement over doing them all in a doseq in one future - the right way to do this tends to be trickier than it looks at first glance, and depends on your requirements. agents, the

Re: what does future do after fn finish ?

2018-01-31 Thread Jacek Grzebyta
On 31 January 2018 at 18:08, James Reeves wrote: > On 31 January 2018 at 17:59, Jacek Grzebyta > wrote: > >> I have application with quite intense tripe store populating ~30/40 k >> records per chunk (139 portions). The data are wrapped within the

Re: what does future do after fn finish ?

2018-01-31 Thread Justin Smith
this is exactly the kind of problem code I was describing - there's no backpressure on existing future tasks to hold up the launching of more futures - the work done by the agent calling conj is negligible. You need to control the size of the pool of threads used, and you need to impose

Re: what does future do after fn finish ?

2018-01-31 Thread Jacek Grzebyta
Thanks a lot. I will check it tomorrow. J On 1 Feb 2018 12:12 a.m., "Justin Smith" wrote: > this is exactly the kind of problem code I was describing - there's no > backpressure on existing future tasks to hold up the launching of more > futures - the work done by the

Re: what does future do after fn finish ?

2018-01-31 Thread John Newman
Agents manage a pool of threads for you. Try doing it without the future call and see if that works (unless you're trying to do something else). John On Wed, Jan 31, 2018 at 7:31 PM, Jacek Grzebyta wrote: > Thanks a lot. I will check it tomorrow. > > J > > On 1 Feb 2018

Re: what does future do after fn finish ?

2018-01-31 Thread James Reeves
On 31 January 2018 at 17:59, Jacek Grzebyta wrote: > I have application with quite intense tripe store populating ~30/40 k > records per chunk (139 portions). The data are wrapped within the future: > > (conj agent (future (apply task args))) > > and that all together is

Re: If Clojure is to blame for the majority of the startup time, why doesn't ClojureScript proportionally slow down the JavaScript startup time also?

2018-01-31 Thread scott stackelhouse
I was just reading about Docker+CRIU. For me, the slow startup isn't much of a bother for normal operations of my apps. They are generally long running services. But development is where I am bothered by it the most. It can be painful to restart a repl and it's very disruptive to my

Re: what does future do after fn finish ?

2018-01-31 Thread John Newman
Ah, he's using one agent, I see. On Jan 31, 2018 9:15 PM, "John Newman" wrote: > Multiple sen-doffs to one agent will serialize it's calls, but spawning > agents on each new task will spawn threads on a bounded thread pool, I > believe. > > On Jan 31, 2018 8:32 PM, "Justin

Re: what does future do after fn finish ?

2018-01-31 Thread John Newman
Multiple sen-doffs to one agent will serialize it's calls, but spawning agents on each new task will spawn threads on a bounded thread pool, I believe. On Jan 31, 2018 8:32 PM, "Justin Smith" wrote: > Doing all the actions via one agent means that the actions are

[ANN] Logic Workbench lwb Rev1.0.1

2018-01-31 Thread 'Burt' via Clojure
The Logic Workbench lwb is a box of tools for the propositional logic, predicate logic, and linear temporal logic. It's a playground. More about lwb: Intro . Comments welcome -- Burkhardt Renz THM (Technische Hochschule Mittelhessen) -- You received this

Re: [ANN] lein-jlink: A leiningen plugin for custom JRE creation

2018-01-31 Thread Ning Sun
Hi Laurens, I haven't got chance to play with proguard. I doubt of it works well with non-Android projects. For now I think the best method is to keep you dependency tree from bloated. On January 31, 2018 12:09:57 AM GMT+08:00, Laurens Van Houtven <_...@lvh.io> wrote: >This is great! Thanks