Comments (2)
A thread pool is certainly possible, though this is the first I've heard of too many threads being an issue. Are the compilation threads staying around longer than they should?
from swank-clojure.
No, they're not sticking around longer than necessary and I'm probably barking up the wrong tree with this "issue" anyway. Let me explain and tell me where my reasoning is flawed...
I'm using Clojure to trigger synthesisers and occasionally I see hiccups in the triggering. i.e. they trigger later than expected - like the system paused for a moment, buffered all triggers and executed them in much close succession than requested at a later time than expected.
My first thought was that the GC was kicking in and stopping the world. I've since heavily tuned it and monitored it and am pretty confident it's not the issue.
Now I'm looking at the thread creation count and it's extremely high. It seems that for each synth trigger 4-5 JVM threads are created which feels wasteful (although I may be entirely wrong here). I'm not too concerned about the memory usage of threads, and they're extremely short-lived anyway, rather I'm concerned about the potential cost in terms of "trigger time" - the time between triggering a synth in emacs and the actual synth being triggered in the underlying sound synthesis engine which relies on these new threads (both in swank-clojure and overtone).
I was wondering whether the creation of threads is a potential "stop the system" event. i.e. I assume the responsibility for the creation of threads is handed to the kernel which could be busy doing other things.
I'm struggling to find useful resources to enlighten me as to what's really going on here. Perhaps you have more of an idea than myself?
from swank-clojure.
Related Issues (20)
- Make C-c C-l unmap vars left over from previous compilations. HOT 1
- Warn when top-level forms return non-var
- lein-swank, lein2 and clojure-jack-in port as string bug HOT 2
- Make it possible to use stuff from slime-contrib HOT 3
- Problems installing swank-clojure behind a proxy with leiningen 2.0.0 HOT 3
- Reminder to release swank-clojure 1.4.x with stop-server support HOT 1
- error in process filter: Symbol's function definition is void: clojure-font-lock-setup
- It's always 2009-10-15 HOT 4
- swank-clojure no longer working with slime update (os x) HOT 1
- lein-swank cdt does not work with lein2 previews HOT 1
- slime-macroexpand-all error
- Syntax highlighting advice in readme did not work
- clojure-jack-in failing with clean install of Emacs on OSX w/ clojure-mode HOT 6
- emacs24 with current slime dies HOT 4
- Symbol's value as variable is void: slime-repl-mode-map
- Emacs doesn't respect $PATH on OSX HOT 4
- add support for javadoc
- Add more logic to ants HOT 1
- Refactor colony-state map HOT 1
- Add thread per ant
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swank-clojure.