Comments (3)
Test code:
(defn fib* [a b n]
(if (> n 0)
(fib* b (+ a b) (- n 1))
a))
(def fib (partial fib* 0 1))
(def l [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60])
(def t (time-ms))
(println (pmap (fn [x]
(fib x)) l))
(println "\n\n" "pmap" (- (time-ms) t) "ms")
(def t (time-ms))
(println (map (fn [x]
(fib x)) l))
(println "\n\n" "map" (- (time-ms) t) "ms")
from flk.
This version contains the patch applied
https://github.com/rosineygp/lines/blob/be3164a300afe37150274bd81a5ea289ff1507ee/flk
from flk.
I got good results with this code.
_pmap_with_type () {
local constructor="${1}"; shift
local f="${1}"; shift
local items="${ANON["${1}"]}"; shift
# core count
local cores=0
while read -r line; do
if [[ "$line" =~ "processor" ]]; then
((cores++))
fi
done < "/proc/cpuinfo"
# create id for shared memory
time_ms; local pmap_id="${ANON["${r}"]}"
eval "${constructor}"; local new_seq="${r}"
local index=0
for v in ${items}; do
(
eval ${f%%@*} "${v}" "${@}"
[[ "${__ERROR}" ]] && r= && return 1;
str "${r}"
echo -n "\"${ANON["${r}"]}\"" > "/dev/shm/_flk_pmap_${pmap_id}_${index}"
) &
((index++))
# threads = cores + 1
if [[ $(jobs -r -p | wc -l) -gt $cores ]]; then
wait -n
fi
done
# wait for inital threads
wait
index=0
for i in ${items}; do
READ_STR "$(</dev/shm/_flk_pmap_${pmap_id}_${index})"
_conj! "${new_seq}" "${r}";
rm "/dev/shm/_flk_pmap_${pmap_id}_${index}"
((index++))
done
r="${new_seq}"
}
So I will close the request.
👍
from flk.
Related Issues (20)
- Carriage returns from sh* are incorrectly escaped HOT 1
- Makefile compilation mode failing [needs more info] HOT 13
- Some suggestions HOT 2
- Which versions of bash does this support? HOT 3
- Create and maintain a GitHub release instead of versioning the output file. HOT 1
- Makefile rule to create a sourceable version so that internals can be re-used. HOT 5
- Add tests for Fleck specific functions, re-using mal's test infrastructure.
- A way to get the return code from an sh* function interop call HOT 8
- How do I get CLI args? HOT 1
- stdin doesnt read to EOF. only till end of first form HOT 2
- Piping examples/ip-addresses.clj into flk hangs
- Keyword as a function seems broken HOT 1
- Are you using Fleck? I would love to hear about it. HOT 1
- str-pos should return the position of string a in string b
- quasiquote symbol "`" break when it is merged in __FLECK__REPCAPTURE
- What is the license? HOT 6
- env does not work on mac os HOT 15
- doc should say flk requires bash 4 or greater HOT 2
- range should be better supported HOT 1
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 flk.