"/home/richard/Documents/School/05 Diplomka/interpreter/cmake-build-debug/interpreter" --test-gui 100
>>>>>> Testing 1 worker for 100 seconds:
======== Code analysis ========
function simulateGuiStateUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateDataUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRealTimeDataUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRender:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function main:
  - recursive: 0
  - readVars: data guiState realTimeData
  - writeVars: data.writes guiState guiState.writes realTimeData.writes
  - readExpressions:
    - data:
      - (<_and> true (<_eq> local.msg.type "data"))
      - (<_and> true (<_eq> local.msg.type "realTimeData"))
      - (<_and> true (<_eq> local.msg.type "render"))
    - guiState:
      - (<_and> true (<_eq> local.msg.type "gui"))
      - (<_and> true (<_eq> local.msg.type "render"))
    - realTimeData:
      - (<_and> true (<_eq> local.msg.type "render"))
  - writeExpressions:
    - data.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> true (<_eq> local.msg.type "data"))
    - guiState:
      - (<_and> true (<_eq> local.msg.type "gui"))
    - guiState.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
    - realTimeData.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
      - (<_and> true (<_eq> local.msg.type "realTimeData"))
===============================

======== Global state =========
{
  data: {
    writes: 1075
  }
  guiState: {
    writes: 46058
  }
  realTimeData: {
    writes: 0
  }
}
===============================

===== Messages statistics =====
guiUpdate:
  - total seconds: 100
  - total generated: 91319
  - total done: 46058
  - avg. per second: 465.232
  - min. per second: 250
  - max. per second: 763
dataUpdate:
  - total seconds: 100
  - total generated: 200
  - total done: 108
  - avg. per second: 1.09091
  - min. per second: 0
  - max. per second: 3
realTimeDataUpdate:
  - total seconds: 100
  - total generated: 1978
  - total done: 967
  - avg. per second: 9.76768
  - min. per second: 5
  - max. per second: 15
renderRequest:
  - total seconds: 100
  - total generated: 6095
  - total done: 3041
  - avg. per second: 30.7172
  - min. per second: 17
  - max. per second: 44
-------------------------------
  - absolute total done: 50174
  - absolute avg. per second: 501.74
===============================

>>>>>> Testing 2 workers for 100 seconds:
======== Code analysis ========
function simulateGuiStateUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateDataUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRealTimeDataUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRender:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function main:
  - recursive: 0
  - readVars: data guiState realTimeData
  - writeVars: data.writes guiState guiState.writes realTimeData.writes
  - readExpressions:
    - data:
      - (<_and> true (<_eq> local.msg.type "render"))
      - (<_and> true (<_eq> local.msg.type "data"))
      - (<_and> true (<_eq> local.msg.type "realTimeData"))
    - guiState:
      - (<_and> true (<_eq> local.msg.type "render"))
      - (<_and> true (<_eq> local.msg.type "gui"))
    - realTimeData:
      - (<_and> true (<_eq> local.msg.type "render"))
  - writeExpressions:
    - data.writes:
      - (<_and> true (<_eq> local.msg.type "data"))
      - (<_and> true (<_eq> local.msg.type "init"))
    - guiState:
      - (<_and> true (<_eq> local.msg.type "gui"))
    - guiState.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
    - realTimeData.writes:
      - (<_and> true (<_eq> local.msg.type "realTimeData"))
      - (<_and> true (<_eq> local.msg.type "init"))
===============================

======== Global state =========
{
  data: {
    writes: 1549
  }
  guiState: {
    writes: 79318
  }
  realTimeData: {
    writes: 0
  }
}
===============================

===== Messages statistics =====
guiUpdate:
  - total seconds: 100
  - total generated: 91388
  - total done: 79318
  - avg. per second: 793.18
  - min. per second: 538
  - max. per second: 888
dataUpdate:
  - total seconds: 100
  - total generated: 200
  - total done: 114
  - avg. per second: 1.14
  - min. per second: 0
  - max. per second: 3
realTimeDataUpdate:
  - total seconds: 100
  - total generated: 1974
  - total done: 1435
  - avg. per second: 14.35
  - min. per second: 12
  - max. per second: 17
renderRequest:
  - total seconds: 100
  - total generated: 6107
  - total done: 5551
  - avg. per second: 55.51
  - min. per second: 39
  - max. per second: 62
-------------------------------
  - absolute total done: 86418
  - absolute avg. per second: 864.18
===============================

>>>>>> Testing 4 workers for 100 seconds:
======== Code analysis ========
function simulateGuiStateUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateDataUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRealTimeDataUpdate:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function simulateRender:
  - recursive: 0
  - readVars:
  - writeVars:
  - readExpressions:
  - writeExpressions:
function main:
  - recursive: 0
  - readVars: data guiState realTimeData
  - writeVars: data.writes guiState guiState.writes realTimeData.writes
  - readExpressions:
    - data:
      - (<_and> true (<_eq> local.msg.type "realTimeData"))
      - (<_and> true (<_eq> local.msg.type "render"))
      - (<_and> true (<_eq> local.msg.type "data"))
    - guiState:
      - (<_and> true (<_eq> local.msg.type "gui"))
      - (<_and> true (<_eq> local.msg.type "render"))
    - realTimeData:
      - (<_and> true (<_eq> local.msg.type "render"))
  - writeExpressions:
    - data.writes:
      - (<_and> true (<_eq> local.msg.type "data"))
      - (<_and> true (<_eq> local.msg.type "init"))
    - guiState:
      - (<_and> true (<_eq> local.msg.type "gui"))
    - guiState.writes:
      - (<_and> true (<_eq> local.msg.type "init"))
    - realTimeData.writes:
      - (<_and> true (<_eq> local.msg.type "realTimeData"))
      - (<_and> true (<_eq> local.msg.type "init"))
===============================

======== Global state =========
{
  data: {
    writes: 1945
  }
  guiState: {
    writes: 90775
  }
  realTimeData: {
    writes: 0
  }
}
===============================

===== Messages statistics =====
guiUpdate:
  - total seconds: 100
  - total generated: 90820
  - total done: 90775
  - avg. per second: 907.75
  - min. per second: 847
  - max. per second: 930
dataUpdate:
  - total seconds: 100
  - total generated: 200
  - total done: 180
  - avg. per second: 1.8
  - min. per second: 0
  - max. per second: 5
realTimeDataUpdate:
  - total seconds: 100
  - total generated: 1976
  - total done: 1765
  - avg. per second: 17.65
  - min. per second: 14
  - max. per second: 20
renderRequest:
  - total seconds: 100
  - total generated: 6112
  - total done: 6112
  - avg. per second: 61.12
  - min. per second: 58
  - max. per second: 62
-------------------------------
  - absolute total done: 98832
  - absolute avg. per second: 988.32
===============================


Process finished with exit code 0
