On Fri, Aug 21, 2020 at 1:16 AM Niels Liisberg <nli@xxxxxxxxxxxxxxxxx>
wrote:
Take a look at the ILEastic project. It is all multi-threaded.
Especially look at the examples - since the core it self a written in C,
however all the “cool-stuff” is multi-threaded RPG
Niels,
I think Stephen was asking about using RPG to instantiate threads. At
least, that's how I interpreted his question. On the other hand, it would
be nice if he clarified.
If I understand correctly, ILEastic is a multi-threaded socket server
written in C that calls RPG programs, which are thread-safe by using ctl-opt
thread(*CONCURRENT).
I do agree this may be a viable option for distributing work to multiple
RPG instances, comparable to having a pool of RPG servers listening on a
data queue.
But as Scott Klement alluded, workload distribution may NOT improve overall
performance or throughput, particularly when using a partition with a
single core or less.
Stephen,
You indicated that the JSON documents could be divided into 2 blocks. Were
you thinking of writing your own program to parse the original document
into 2 stream files?
Then using YAJLINTO to parse each of those?
Do you need to map most or all the JSON values to RPG data structures?
Data-Into and YAJLINTO are designed for that.
But if you don't need all the data, you could greatly improve overall
throughput by mapping only those values that you need.
As an Amazon Associate we earn from qualifying purchases.