"/home/richard/Documents/School/05 Diplomka/interpreter/cmake-build-debug/interpreter" --test-gui 50
>>>>>> Testing 1 worker for 50 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: 541
  }
  guiState: {
    writes: 22735
  }
  realTimeData: {
    writes: 0
  }
}
===============================

===== Messages statistics =====
guiUpdate:
  - total seconds: 50
  - total generated: 45822
  - total done: 22735
  - avg. per second: 454.7
  - min. per second: 252
  - max. per second: 694
dataUpdate:
  - total seconds: 50
  - total generated: 100
  - total done: 52
  - avg. per second: 1.04
  - min. per second: 0
  - max. per second: 2
realTimeDataUpdate:
  - total seconds: 50
  - total generated: 991
  - total done: 489
  - avg. per second: 9.78
  - min. per second: 2
  - max. per second: 13
renderRequest:
  - total seconds: 50
  - total generated: 3060
  - total done: 1521
  - avg. per second: 30.42
  - min. per second: 19
  - max. per second: 46
-------------------------------
  - absolute total done: 24797
  - absolute avg. per second: 495.94
===============================

>>>>>> Testing 2 workers for 50 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 "init"))
      - (<_and> true (<_eq> local.msg.type "realTimeData"))
===============================

======== Global state =========
{
  data: {
    writes: 785
  }
  guiState: {
    writes: 40157
  }
  realTimeData: {
    writes: 0
  }
}
===============================

===== Messages statistics =====
guiUpdate:
  - total seconds: 50
  - total generated: 45780
  - total done: 40157
  - avg. per second: 803.14
  - min. per second: 597
  - max. per second: 905
dataUpdate:
  - total seconds: 50
  - total generated: 100
  - total done: 70
  - avg. per second: 1.4
  - min. per second: 0
  - max. per second: 3
realTimeDataUpdate:
  - total seconds: 50
  - total generated: 986
  - total done: 715
  - avg. per second: 14.3
  - min. per second: 12
  - max. per second: 17
renderRequest:
  - total seconds: 50
  - total generated: 3060
  - total done: 2853
  - avg. per second: 57.06
  - min. per second: 48
  - max. per second: 66
-------------------------------
  - absolute total done: 43795
  - absolute avg. per second: 875.9
===============================

>>>>>> Testing 4 workers for 50 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 "render"))
      - (<_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 "init"))
      - (<_and> true (<_eq> local.msg.type "realTimeData"))
===============================

======== Global state =========
{
  data: {
    writes: 956
  }
  guiState: {
    writes: 44900
  }
  realTimeData: {
    writes: 0
  }
}
===============================

===== Messages statistics =====
guiUpdate:
  - total seconds: 50
  - total generated: 45100
  - total done: 44900
  - avg. per second: 898
  - min. per second: 759
  - max. per second: 973
dataUpdate:
  - total seconds: 50
  - total generated: 100
  - total done: 87
  - avg. per second: 1.74
  - min. per second: 0
  - max. per second: 5
realTimeDataUpdate:
  - total seconds: 50
  - total generated: 988
  - total done: 869
  - avg. per second: 17.38
  - min. per second: 15
  - max. per second: 19
renderRequest:
  - total seconds: 50
  - total generated: 3050
  - total done: 3050
  - avg. per second: 61
  - min. per second: 60
  - max. per second: 62
-------------------------------
  - absolute total done: 48906
  - absolute avg. per second: 978.12
===============================


Process finished with exit code 0
