"/home/richard/Documents/School/05 Diplomka/interpreter/cmake-build-debug/interpreter" --test-server 100
>>>>>> Testing 1 worker for 100 seconds:
======== Code analysis ========
function simulateWrite:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRead:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function isBitSet:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function main:
  - recursive: 0
  - readVars: db1 db2 db3 db4
  - writeVars: db1.data db1.reads db1.writes db2.data db2.reads db2.writes db3.data db3.reads db3.writes db4.data db4.reads db4.writes
  - readExpressions:
    - db1:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 0))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
    - db2:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 1))
    - db3:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 2))
    - db4:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 3))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
  - writeExpressions:
    - db1.data:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
    - db1.reads:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 0))
    - db1.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
    - db2.data:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
    - db2.reads:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 1))
    - db2.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
    - db3.data:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
    - db3.reads:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 2))
    - db3.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
    - db4.data:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
    - db4.reads:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 3))
    - db4.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
===============================

======== Global state =========
{
  db1: {
    data: ""
    reads: 1592
    writes: 196
  }
  db2: {
    data: ""
    reads: 1489
    writes: 178
  }
  db3: {
    data: ""
    reads: 1511
    writes: 185
  }
  db4: {
    data: ""
    reads: 1474
    writes: 173
  }
}
===============================

===== Messages statistics =====
readOneRandom:
  - total seconds: 100
  - total generated: 9332
  - total done: 2140
  - avg. per second: 21.6162
  - min. per second: 2
  - max. per second: 36
readTwoRandom:
  - total seconds: 100
  - total generated: 4912
  - total done: 1091
  - avg. per second: 11.0202
  - min. per second: 1
  - max. per second: 20
readAll:
  - total seconds: 100
  - total generated: 1986
  - total done: 436
  - avg. per second: 4.40404
  - min. per second: 0
  - max. per second: 9
writeOneRandom:
  - total seconds: 100
  - total generated: 3285
  - total done: 732
  - avg. per second: 7.39394
  - min. per second: 0
  - max. per second: 12
-------------------------------
  - absolute total done: 4399
  - absolute avg. per second: 43.99
===============================

>>>>>> Testing 2 workers for 100 seconds:
======== Code analysis ========
function simulateWrite:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRead:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function isBitSet:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function main:
  - recursive: 0
  - readVars: db1 db2 db3 db4
  - writeVars: db1.data db1.reads db1.writes db2.data db2.reads db2.writes db3.data db3.reads db3.writes db4.data db4.reads db4.writes
  - readExpressions:
    - db1:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 0))
    - db2:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 1))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
    - db3:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 2))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
    - db4:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 3))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
  - writeExpressions:
    - db1.data:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db1.reads:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 0))
    - db1.writes:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db2.data:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
    - db2.reads:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 1))
    - db2.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
    - db3.data:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
    - db3.reads:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 2))
    - db3.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
    - db4.data:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
    - db4.reads:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 3))
    - db4.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
===============================

======== Global state =========
{
  db1: {
    data: ""
    reads: 1972
    writes: 364
  }
  db2: {
    data: ""
    reads: 2057
    writes: 395
  }
  db3: {
    data: ""
    reads: 2109
    writes: 383
  }
  db4: {
    data: ""
    reads: 2000
    writes: 406
  }
}
===============================

===== Messages statistics =====
readOneRandom:
  - total seconds: 100
  - total generated: 9320
  - total done: 4782
  - avg. per second: 47.82
  - min. per second: 6
  - max. per second: 63
readTwoRandom:
  - total seconds: 100
  - total generated: 4904
  - total done: 1564
  - avg. per second: 15.64
  - min. per second: 2
  - max. per second: 25
readAll:
  - total seconds: 100
  - total generated: 1984
  - total done: 57
  - avg. per second: 0.57
  - min. per second: 0
  - max. per second: 4
writeOneRandom:
  - total seconds: 100
  - total generated: 3269
  - total done: 1548
  - avg. per second: 15.48
  - min. per second: 1
  - max. per second: 21
-------------------------------
  - absolute total done: 7951
  - absolute avg. per second: 79.51
===============================

>>>>>> Testing 4 workers for 100 seconds:
======== Code analysis ========
function simulateWrite:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRead:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function isBitSet:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function main:
  - recursive: 0
  - readVars: db1 db2 db3 db4
  - writeVars: db1.data db1.reads db1.writes db2.data db2.reads db2.writes db3.data db3.reads db3.writes db4.data db4.reads db4.writes
  - readExpressions:
    - db1:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 0))
    - db2:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 1))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
    - db3:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 2))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
    - db4:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 3))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
  - writeExpressions:
    - db1.data:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db1.reads:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 0))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db1.writes:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 0))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db2.data:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db2.reads:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 1))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db2.writes:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 1))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db3.data:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db3.reads:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 2))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db3.writes:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 2))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db4.data:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
    - db4.reads:
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.reads 3))
      - (<_and> true (<_eq> local.msg.type "init"))
    - db4.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> (<_and> true (<_eq> local.msg.type "work")) (<isBitSet> local.msg.writes 3))
===============================

======== Global state =========
{
  db1: {
    data: ""
    reads: 2348
    writes: 540
  }
  db2: {
    data: ""
    reads: 2283
    writes: 524
  }
  db3: {
    data: ""
    reads: 2308
    writes: 547
  }
  db4: {
    data: ""
    reads: 2363
    writes: 507
  }
}
===============================

===== Messages statistics =====
readOneRandom:
  - total seconds: 100
  - total generated: 9254
  - total done: 5970
  - avg. per second: 59.7
  - min. per second: 13
  - max. per second: 77
readTwoRandom:
  - total seconds: 100
  - total generated: 4877
  - total done: 1536
  - avg. per second: 15.36
  - min. per second: 1
  - max. per second: 26
readAll:
  - total seconds: 100
  - total generated: 1978
  - total done: 65
  - avg. per second: 0.65
  - min. per second: 0
  - max. per second: 5
writeOneRandom:
  - total seconds: 100
  - total generated: 3264
  - total done: 2118
  - avg. per second: 21.18
  - min. per second: 4
  - max. per second: 28
-------------------------------
  - absolute total done: 9689
  - absolute avg. per second: 96.89
===============================


Process finished with exit code 0
