Clojure High Performance Programming by 2013
Author:2013
Language: eng
Format: mobi, epub
Publisher: Packt Publishing
On inspection of the Clojure 1.5.1 source code, we can find that the thread pool for low-latency actions is named pooledExecutor (a bounded thread pool initialized to a maximum of "2 + number of hardware processors" threads) and the thread pool for high-latency actions is named soloExecutor (an unbounded thread pool). The premise of this default configuration is that the CPU-, cache-, or memory-bound actions run most optimally on a bounded thread pool with the default number of threads. The I/O-bound tasks do not consume CPU resources. Hence, a relatively larger number of such tasks can execute at the same time without significantly affecting the performance of CPU-, cache-, or memory-bound jobs. The following is how you can access and override the thread pools:
(import 'clojure.lang.Agent) Agent/pooledExecutor ; thread pool for low-latency actions Agent/soloExecutor ; thread pool for I/O actions (import 'java.util.Executors) (def a-pool (Executors/newFixedThreadPool 10)) ; 10 threads (def b-pool (Executors/newFixedThreadPool 100)) ; 100 threads (def a (agent 0)) (send-via a-pool a inc) ; use a-pool for the action (set-agent-send-executor! a-pool ; set default pool for send (set-agent-send-off-executor! b-pool ; set default for send off
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Hello! Python by Anthony Briggs(9912)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(9795)
The Mikado Method by Ola Ellnestam Daniel Brolund(9777)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(8293)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(7775)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(7760)
Grails in Action by Glen Smith Peter Ledbrook(7693)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(7557)
Windows APT Warfare by Sheng-Hao Ma(6806)
Layered Design for Ruby on Rails Applications by Vladimir Dementyev(6529)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(6409)
Blueprints Visual Scripting for Unreal Engine 5 - Third Edition by Marcos Romero & Brenden Sewell(6399)
Kotlin in Action by Dmitry Jemerov(5062)
Hands-On Full-Stack Web Development with GraphQL and React by Sebastian Grebe(4316)
Functional Programming in JavaScript by Mantyla Dan(4037)
Solidity Programming Essentials by Ritesh Modi(3985)
WordPress Plugin Development Cookbook by Yannick Lefebvre(3774)
Unity 3D Game Development by Anthony Davis & Travis Baptiste & Russell Craig & Ryan Stunkel(3717)
The Ultimate iOS Interview Playbook by Avi Tsadok(3694)
