-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Help request serialize #26
Comments
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") |
This version contains the patch applied https://github.com/rosineygp/lines/blob/be3164a300afe37150274bd81a5ea289ff1507ee/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. 👍 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
There is a good way to serialize and deserialize variables... I build a pmap code and it runs creating a subshell and eval... the result is save in /dev/shm/<key> and I need to save it save and back the values
The result of code execution:
The text was updated successfully, but these errors were encountered: