№ 0: - ,
?
"" SLOC +37%
, -57%
51.151µs on MA(200) [10000]float64 ~ 22.017µs on MA(200) [10000]int
70.325µs on MA(200) [10000]float64
[]int -s?
- HPC/fintech [us] ( - [SERIAL]).
- () , - MA(200) [10000]float64 setup - [us], -to-apples, 51.2 [us] .
:
№ 1:
, , "" - [CONCURRENT] ( , - , "" , - ), , , , , Moving Average, [SERIAL], "" - [CONCURRENT].
(Btw. , Go- , [PARALLEL], , Hoare CSP, , -, "" - [CONCURRENT] CSP-p2p-.)
№2: ( )
[SERIAL] . , ( , Amdahl ( -Amdahl Law).
- , parallelism, [SEQ] , .
, , - [SEQ] , non-[SEQ] / N[PAR]_processes, [SEQ] -overheads, , :
( pure-[SEQ]_processing [ns]
+ add-on-[SEQ]-setup-overheads [ns]
+ ( non-[SEQ]_processing [ns] / N[PAR]_processes )
) << ( pure-[SEQ]_processing [ns]
+ ( non-[SEQ]_processing [ns] / 1 )
)
, , - HPC/ - , << , [SEQ] -.

.
:
,
, --, [SERIAL], [PARALLEL] .
p [PARALLEL] ~ ( 0.0 .. 1.0 ), [SERIAL] , ( 1 - p ), ?
, , p == 1.0, , [PARALLEL], , ( [SERIAL]) ( ( 1 - p ) == 0. )
, , , [PARALLEL], ( (1), 2, .., N ), , + + , N .
o ( , N, , / NUMA/ ).
Epilogue , .
p == 1. && o == 0. && N > 1 O/S [PARALLEL] -hardware O/S ( MPI - ( [ms], [SERIAL] , ~ 22.1 [us])).
, , , .
, 0,01% o, , [PARALLEL] ( p == 1.0) - - .
p - , - , - == 1.00 --> { 0.99, 0.98, 0.95 } ... bingo, , - .
?
, ( + ) ~ 0.1% [PARALLEL] 4x ( 1/4 ) 5 ( p ~ 0,95), 10x ( 10 ) 20 ( , 5- , 20- , ( /, CPU O/S) , .
, , [PARALLEL] - , / , [SERIAL] -/ , , << 1.00 ( , , , just-[SERIAL]).
, . , [PARALLEL], , , , , 10 [us], , 1000 x 10 [us] [PARALLEL], .
"" , ( ~ 0.1%), ( N, ).
, o - N ( , ), (BLOB) ( BLOB, MEM-/IO-, BLOB / 2..N - ), /CSP-, ( , p , , 1.).
, , p == 1.0, ( 1 - p ) == 0.0 o == 0.0
, 22.1 [us] [SERIAL], , , [PARALLEL], , , .