Skip to content

Memory leak ? #87

Description

@invpe

Run this simple script 10000 times and you'll end up eating your memory.

DEF TEST() 
PRINT "WHATEVER";
ENDDEF
PRINT "HELLO WORLD";

Runtime logs:

22:14:00.174 -> Exe /last.bas Tout: 10000ms Heap: 204564 <<
22:14:00.206 -> Exe Loaded /last.bas Tout: 10000ms Heap: 195084
22:14:00.206 -> Exe /last.bas Tout: 10000ms Heap: 204224 <<
22:14:00.237 -> Exe Loaded /last.bas Tout: 10000ms Heap: 194744
22:14:00.237 -> Exe /last.bas Tout: 10000ms Heap: 203884 <<
22:14:00.237 -> Exe Loaded /last.bas Tout: 10000ms Heap: 194408

... 

22:15:05.877 -> Exe Loaded /last.bas Tout: 10000ms Heap: 155952 
22:15:05.877 -> Exe /last.bas Tout: 10000ms Heap: 165012<<
22:15:05.909 -> Exe Loaded /last.bas Tout: 10000ms Heap: 155600
22:15:05.909 -> Exe /last.bas Tout: 10000ms Heap: 164672 <<
22:15:05.909 -> Exe Loaded /last.bas Tout: 10000ms Heap: 155268
22:15:05.941 -> Exe /last.bas Tout: 10000ms Heap: 164332 <<
22:15:05.941 -> Exe Loaded /last.bas Tout: 10000ms Heap: 154916

As soon as you remove the DEF - ENDDEF block, you're fine, see below:

REM DEF TEST()
REM PRINT "WHATEVER";
REM ENDDEF
PRINT "HELLO WORLD";

Runtime log:

22:39:52.603 -> Exe /last.bas Tout: 10000ms Heap: 228608
22:39:52.603 -> Exe Loaded /last.bas Tout: 10000ms Heap: 218596
22:39:52.603 -> HELLO WORLD
22:39:52.603 -> Exe /last.bas Tout: 10000ms Heap: 228508 <<<<<<<<
22:39:52.641 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.641 -> HELLO WORLD
22:39:52.641 -> Exe /last.bas Tout: 10000ms Heap: 228508
22:39:52.666 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.666 -> HELLO WORLD
22:39:52.666 -> Exe /last.bas Tout: 10000ms Heap: 228508
22:39:52.666 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.666 -> HELLO WORLD
22:39:52.699 -> Exe /last.bas Tout: 10000ms Heap: 228508
22:39:52.699 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.699 -> HELLO WORLD
22:39:52.699 -> Exe /last.bas Tout: 10000ms Heap: 228508
22:39:52.731 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.731 -> HELLO WORLD
22:39:52.731 -> Exe /last.bas Tout: 10000ms Heap: 228508
22:39:52.731 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.764 -> HELLO WORLD
22:39:52.764 -> Exe /last.bas Tout: 10000ms Heap: 228508
22:39:52.764 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.764 -> HELLO WORLD
22:39:52.764 -> Exe /last.bas Tout: 10000ms Heap: 228508
22:39:52.796 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.796 -> HELLO WORLD
22:39:52.796 -> Exe /last.bas Tout: 10000ms Heap: 228508
22:39:52.828 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.828 -> HELLO WORLD
22:39:52.828 -> Exe /last.bas Tout: 10000ms Heap: 228508 <<<<<<<<
22:39:52.828 -> Exe Loaded /last.bas Tout: 10000ms Heap: 220832
22:39:52.828 -> HELLO WORLD

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions