dlang-community / libdparse

Library for lexing and parsing D source code
https://libdparse.dlang.io
Boost Software License 1.0
115 stars 57 forks source link

Reduce tiny allocations & reduce trivia size #487

Closed WebFreak001 closed 1 year ago

WebFreak001 commented 1 year ago

We don't save much on RAM usage / allocated bytes, but many many GC calls, especially over longer periods of DCD usage:

removed allocations running run_tests.sh with https://github.com/dlang-community/DCD/pull/733 as benchmark:

bytes allocated, allocations, type, function, file:line
         701600        43850  uint[] dparse.parser.Parser.setBookmark ../../.dub/packages/libdparse-0.22.0/libdparse/src/dparse/parser.d:8923

it looks like it never actually exceeds the stack size, so actually no additional allocations at all from this (in exchange for about +64 bytes for new Parser)

massif indicates that Expression is the majority of DCD's memory, if we want to reduce memory usage of DCD:

(just the peak sample)

--------------------------------------------------------------------------------
  n        time(i)         total(B)   useful-heap(B) extra-heap(B)    stacks(B)
--------------------------------------------------------------------------------
 56 125,353,590,797      114,324,424      114,067,655       256,769            0
 57 126,901,553,477       36,958,104       36,863,551        94,553            0
 58 128,449,605,967      114,512,864      114,239,119       273,745            0
 59 129,997,536,701      108,716,248      108,483,327       232,921            0
 60 131,565,734,756       11,268,608       11,225,775        42,833            0
 61 132,607,200,825      117,126,392      116,882,095       244,297            0
99.79% (116,882,095B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
->87.35% (102,312,032B) 0x7DAB62: shared nothrow @nogc @trusted void[] std.experimental.allocator.mallocator.AlignedMallocator.alignedAllocate(ulong, uint) (in /home/webfreak/dev/DCD/bin/dcd-server)
| ->87.35% (102,312,032B) 0x75D299: void dparse.rollback_allocator.RollbackAllocator.allocateNode(ulong) (rollback_allocator.d:149)
|   ->87.34% (102,295,648B) 0x75CE7B: void[] dparse.rollback_allocator.RollbackAllocator.allocate(const(ulong)) (rollback_allocator.d:50)
|   | ->86.24% (101,015,552B) 0x76BB8E: dparse.ast.PrimaryExpression dparse.rollback_allocator.RollbackAllocator.make!(dparse.ast.PrimaryExpression).make() (rollback_allocator.d:108)
|   | | ->86.24% (101,015,552B) 0x743E90: dparse.ast.PrimaryExpression dparse.parser.Parser.parsePrimaryExpression() (parser.d:5677)
|   | |   ->86.24% (101,015,552B) 0x74AB30: dparse.ast.UnaryExpression dparse.parser.Parser.parseUnaryExpression() (parser.d-mixin-7758:7758)
|   | |     ->86.24% (101,015,552B) 0x75947E: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.PowExpression, dparse.ast.UnaryExpression, 54L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |       ->86.24% (101,015,552B) 0x743A92: dparse.ast.ExpressionNode dparse.parser.Parser.parsePowExpression() (parser.d:5556)
|   | |         ->86.24% (101,015,552B) 0x75897E: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.MulExpression, dparse.ast.PowExpression, 23L, 5L, 16L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |           ->86.24% (101,015,552B) 0x741E2A: dparse.ast.ExpressionNode dparse.parser.Parser.parseMulExpression() (parser.d:4997)
|   | |             ->86.24% (101,015,552B) 0x752892: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.AddExpression, dparse.ast.MulExpression, 25L, 28L, 61L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |               ->86.24% (101,015,552B) 0x73186A: dparse.ast.ExpressionNode dparse.parser.Parser.parseAddExpression() (parser.d:133)
|   | |                 ->86.24% (101,015,552B) 0x759DCF: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.ShiftExpression, dparse.ast.AddExpression, 34L, 44L, 46L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |                   ->86.24% (101,015,552B) 0x744CF2: dparse.ast.ExpressionNode dparse.parser.Parser.parseShiftExpression() (parser.d:5973)
|   | |                     ->86.24% (101,015,552B) 0x73626C: dparse.ast.ExpressionNode dparse.parser.Parser.parseCmpExpression() (parser.d:1732)
|   | |                       ->86.24% (101,015,552B) 0x753562: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.AndExpression, dparse.ast.CmpExpression, 18L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |                         ->86.24% (101,015,552B) 0x73254A: dparse.ast.ExpressionNode dparse.parser.Parser.parseAndExpression() (parser.d:346)
|   | |                           ->86.24% (101,015,552B) 0x75B11B: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.XorExpression, dparse.ast.AndExpression, 52L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |                             ->86.24% (101,015,552B) 0x74C20E: dparse.ast.ExpressionNode dparse.parser.Parser.parseXorExpression() (parser.d:8100)
|   | |                               ->86.24% (101,015,552B) 0x758E6A: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.OrExpression, dparse.ast.XorExpression, 57L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |                                 ->86.24% (101,015,552B) 0x7426E6: dparse.ast.ExpressionNode dparse.parser.Parser.parseOrExpression() (parser.d:5184)
|   | |                                   ->86.24% (101,015,552B) 0x7533AE: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.AndAndExpression, dparse.ast.OrExpression, 19L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |                                     ->86.24% (101,015,552B) 0x73252E: dparse.ast.ExpressionNode dparse.parser.Parser.parseAndAndExpression() (parser.d:331)
|   | |                                       ->86.24% (101,015,552B) 0x75901B: dparse.ast.ExpressionNode dparse.parser.Parser.parseLeftAssocBinaryExpression!(dparse.ast.OrOrExpression, dparse.ast.AndAndExpression, 59L).parseLeftAssocBinaryExpression(dparse.ast.ExpressionNode) (parser.d-mixin-8571:8571)
|   | |                                         ->86.24% (101,015,552B) 0x742702: dparse.ast.ExpressionNode dparse.parser.Parser.parseOrOrExpression() (parser.d:5199)
|   | |                                           ->86.24% (101,015,552B) 0x748E20: dparse.ast.ExpressionNode dparse.parser.Parser.parseTernaryExpression() (parser.d:7177)
|   | |                                             ->86.24% (101,015,552B) 0x734602: dparse.ast.ExpressionNode dparse.parser.Parser.parseAssignExpression() (parser.d:1117)
|   | |                                               ->86.24% (101,015,552B) 0x756851: dparse.ast.Expression dparse.parser.Parser.parseCommaSeparatedRule!(dparse.ast.Expression, dparse.ast.AssignExpression, true).parseCommaSeparatedRule(bool) (parser.d-mixin-8604:8604)
|   | |                                               | ->86.24% (101,015,552B) 0x73B975: dparse.ast.Expression dparse.parser.Parser.parseExpression() (parser.d:3101)
|   | |                                               |   ->86.24% (101,015,552B) 0x73B9BE: dparse.ast.ExpressionStatement dparse.parser.Parser.parseExpressionStatement(dparse.ast.Expression) (parser.d:3116)
|   | |                                               |     
|   | |                                               ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%)
|   | |                                               
|   | ->01.09% (1,280,096B) in 36 places, all below massif's threshold (1.00%)
|   |   
|   ->00.01% (16,384B) in 1+ places, all below ms_print's threshold (01.00%)
|   
->03.58% (4,198,568B) 0x60BF46: pure nothrow @nogc @trusted void* core.memory.pureMalloc!().pureMalloc(ulong) (memory.d:1043)
| ->03.58% (4,198,568B) 0x7DA9E2: shared const pure nothrow @nogc @trusted void[] std.experimental.allocator.mallocator.Mallocator.allocate(ulong) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   ->03.58% (4,194,304B) 0x628BDE: int dcd.server.main.runServer(immutable(char)[][]) (main.d:191)
|   | ->03.58% (4,194,304B) 0x628492: _Dmain (main.d:58)
|   |   ->03.58% (4,194,304B) 0x7AFC5E: void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll().__lambda2() (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |     ->03.58% (4,194,304B) 0x7AFB0D: void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate()) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |       ->03.58% (4,194,304B) 0x7AFBE6: void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll() (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |         ->03.58% (4,194,304B) 0x7AFB0D: void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate()) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |           ->03.58% (4,194,304B) 0x7AFA76: _d_run_main2 (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |             ->03.58% (4,194,304B) 0x7AF817: _d_run_main (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |               ->03.58% (4,194,304B) 0x62A011: main (entrypoint.d:29)
|   |                 
|   ->00.00% (4,264B) in 1+ places, all below ms_print's threshold (01.00%)
|   
->02.52% (2,954,967B) in 56 places, all below massif's threshold (1.00%)
| 
->01.30% (1,523,384B) 0x7A01DE: nothrow void core.internal.gc.impl.conservative.gc.Pool.initialize(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
| ->01.30% (1,523,384B) 0x79C867: nothrow core.internal.gc.impl.conservative.gc.Pool* core.internal.gc.impl.conservative.gc.Gcx.newPool(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   ->01.15% (1,343,160B) 0x79C77D: nothrow bool core.internal.gc.impl.conservative.gc.Gcx.bigAlloc(ulong, ref ulong, uint, const(TypeInfo)).tryAllocNewPool() (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | ->01.08% (1,265,564B) 0x79C587: nothrow void* core.internal.gc.impl.conservative.gc.Gcx.bigAlloc(ulong, ref ulong, uint, const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | | ->01.08% (1,265,564B) 0x7A70C5: nothrow void* core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |   ->01.08% (1,265,564B) 0x799CE5: nothrow core.memory.BlkInfo_ core.internal.gc.impl.conservative.gc.ConservativeGC.qalloc(ulong, uint, scope const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |     ->01.08% (1,265,564B) 0x7A939A: gc_qalloc (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |       ->01.02% (1,200,028B) 0x7BE086: gc_qallocTrace (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |       | ->01.02% (1,200,028B) 0x5AE868: pure nothrow @trusted core.memory.BlkInfo_ std.array.Appender!(const(std.experimental.lexer.TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;").TokenStructure)[]).Appender.ensureAddable(ulong).__lambda9() (array.d:3634)
|   | |       |   ->01.02% (1,200,028B) 0x5AE719: pure nothrow @safe void std.array.Appender!(const(std.experimental.lexer.TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;").TokenStructure)[]).Appender.ensureAddable(ulong) (array.d:3634)
|   | |       |     ->01.02% (1,200,028B) 0x5AF1B8: pure nothrow @safe void std.array.Appender!(const(std.experimental.lexer.TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;").TokenStructure)[]).Appender.put!(std.experimental.lexer.TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;").TokenStructure).put(std.experimental.lexer.TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;").TokenStructure) (array.d:3689)
|   | |       |       ->01.02% (1,200,028B) 0x609CE8: pure nothrow @safe const(std.experimental.lexer.TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;").TokenStructure)[] dparse.lexer.getTokensForParser!(ubyte[]).getTokensForParser(ubyte[], dparse.lexer.LexerConfig, dparse.lexer.StringCache*) (lexer.d:525)
|   | |       |         ->01.02% (1,200,028B) 0x5F2282: pure nothrow std.range.SortedRange!(const(std.experimental.lexer.TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;").TokenStructure)[], "a < b", 0).SortedRange dcd.server.autocomplete.util.getTokensBeforeCursor(const(ubyte[]), ulong, ref dparse.lexer.StringCache, out const(std.experimental.lexer.TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;").TokenStructure)[]) (util.d:125)
|   | |       |           ->01.02% (1,200,028B) 0x58CF0B: dcd.common.messages.AutocompleteResponse dcd.server.autocomplete.complete.complete(const(dcd.common.messages.AutocompleteRequest), ref dsymbol.modulecache.ModuleCache) (complete.d:63)
|   | |       |             ->01.02% (1,200,028B) 0x629BAD: pure @nogc @safe dcd.common.messages.AutocompleteResponse dcd.server.main.runServer(immutable(char)[][]).__dgliteral66() (main.d:329)
|   | |       |               ->01.02% (1,200,028B) 0x629E5E: void dcd.server.main.trySendResponse(std.socket.Socket, lazy dcd.common.messages.AutocompleteResponse, lazy immutable(char)[]) (main.d:354)
|   | |       |                 ->01.02% (1,200,028B) 0x62936B: int dcd.server.main.runServer(immutable(char)[][]) (main.d:329)
|   | |       |                   ->01.02% (1,200,028B) 0x628492: _Dmain (main.d:58)
|   | |       |                     ->01.02% (1,200,028B) 0x7AFC5E: void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll().__lambda2() (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |       |                       ->01.02% (1,200,028B) 0x7AFB0D: void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate()) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |       |                         ->01.02% (1,200,028B) 0x7AFBE6: void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll() (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |       |                           ->01.02% (1,200,028B) 0x7AFB0D: void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate()) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |       |                             ->01.02% (1,200,028B) 0x7AFA76: _d_run_main2 (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |       |                               ->01.02% (1,200,028B) 0x7AF817: _d_run_main (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | |       |                                 ->01.02% (1,200,028B) 0x62A011: main (entrypoint.d:29)
|   | |       |                                   
|   | |       ->00.06% (65,536B) in 1+ places, all below ms_print's threshold (01.00%)
|   | |       
|   | ->00.07% (77,596B) in 1+ places, all below ms_print's threshold (01.00%)
|   | 
|   ->00.15% (180,224B) in 1+ places, all below ms_print's threshold (01.00%)
|   
->01.27% (1,483,784B) 0x79FF76: nothrow void core.internal.gc.impl.conservative.gc.Pool.initialize(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
| ->01.27% (1,483,784B) 0x79C867: nothrow core.internal.gc.impl.conservative.gc.Pool* core.internal.gc.impl.conservative.gc.Gcx.newPool(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   ->01.22% (1,433,600B) 0x79C2F5: nothrow void* core.internal.gc.impl.conservative.gc.Gcx.smallAlloc(ulong, ref ulong, uint, const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | ->01.22% (1,433,600B) 0x7A70AC: nothrow void* core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |   ->01.22% (1,433,600B) in 2 places, all below massif's threshold (1.00%)
|   |     
|   ->00.04% (50,184B) in 1+ places, all below ms_print's threshold (01.00%)
|   
->01.27% (1,483,784B) 0x7A0167: nothrow void core.internal.gc.impl.conservative.gc.Pool.initialize(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
| ->01.27% (1,483,784B) 0x79C867: nothrow core.internal.gc.impl.conservative.gc.Pool* core.internal.gc.impl.conservative.gc.Gcx.newPool(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   ->01.22% (1,433,600B) 0x79C2F5: nothrow void* core.internal.gc.impl.conservative.gc.Gcx.smallAlloc(ulong, ref ulong, uint, const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | ->01.22% (1,433,600B) 0x7A70AC: nothrow void* core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |   ->01.22% (1,433,600B) in 2 places, all below massif's threshold (1.00%)
|   |     
|   ->00.04% (50,184B) in 1+ places, all below ms_print's threshold (01.00%)
|   
->01.27% (1,483,784B) 0x7A018A: nothrow void core.internal.gc.impl.conservative.gc.Pool.initialize(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
| ->01.27% (1,483,784B) 0x79C867: nothrow core.internal.gc.impl.conservative.gc.Pool* core.internal.gc.impl.conservative.gc.Gcx.newPool(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   ->01.22% (1,433,600B) 0x79C2F5: nothrow void* core.internal.gc.impl.conservative.gc.Gcx.smallAlloc(ulong, ref ulong, uint, const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   | ->01.22% (1,433,600B) 0x7A70AC: nothrow void* core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
|   |   ->01.22% (1,433,600B) in 2 places, all below massif's threshold (1.00%)
|   |     
|   ->00.04% (50,184B) in 1+ places, all below ms_print's threshold (01.00%)
|   
->01.23% (1,441,792B) 0x7A00C6: nothrow void core.internal.gc.impl.conservative.gc.Pool.initialize(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
  ->01.23% (1,441,792B) 0x79C867: nothrow core.internal.gc.impl.conservative.gc.Pool* core.internal.gc.impl.conservative.gc.Gcx.newPool(ulong, bool) (in /home/webfreak/dev/DCD/bin/dcd-server)
    ->01.22% (1,433,600B) 0x79C2F5: nothrow void* core.internal.gc.impl.conservative.gc.Gcx.smallAlloc(ulong, ref ulong, uint, const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
    | ->01.22% (1,433,600B) 0x7A70AC: nothrow void* core.internal.gc.impl.conservative.gc.ConservativeGC.runLocked!(core.internal.gc.impl.conservative.gc.ConservativeGC.mallocNoSync(ulong, uint, ref ulong, const(TypeInfo)), core.internal.gc.impl.conservative.gc.mallocTime, core.internal.gc.impl.conservative.gc.numMallocs, ulong, uint, ulong, const(TypeInfo)).runLocked(ref ulong, ref uint, ref ulong, ref const(TypeInfo)) (in /home/webfreak/dev/DCD/bin/dcd-server)
    |   ->01.22% (1,433,600B) in 2 places, all below massif's threshold (1.00%)
    |     
    ->00.01% (8,192B) in 1+ places, all below ms_print's threshold (01.00%)

although this could just be a data interpretation issue and it means all AST nodes in general take up the majority of DCD's heap memory.

codecov[bot] commented 1 year ago

Codecov Report

Merging #487 (5e0547b) into master (776ca6b) will increase coverage by 0.00%. The diff coverage is 91.66%.

:exclamation: Current head 5e0547b differs from pull request most recent head 68c2cac. Consider uploading reports for the commit 68c2cac to get more accurate results

Additional details and impacted files [![Impacted file tree graph](https://codecov.io/gh/dlang-community/libdparse/pull/487/graphs/tree.svg?width=650&height=150&src=pr&token=VHoPCaUjPZ&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community)](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community) ```diff @@ Coverage Diff @@ ## master #487 +/- ## ======================================= Coverage 83.48% 83.48% ======================================= Files 11 11 Lines 8484 8491 +7 ======================================= + Hits 7083 7089 +6 - Misses 1401 1402 +1 ``` | [Impacted Files](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community) | Coverage Δ | | |---|---|---| | [src/dparse/trivia.d](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community#diff-c3JjL2RwYXJzZS90cml2aWEuZA==) | `99.44% <ø> (ø)` | | | [src/dparse/stack\_buffer.d](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community#diff-c3JjL2RwYXJzZS9zdGFja19idWZmZXIuZA==) | `93.61% <85.71%> (-1.39%)` | :arrow_down: | | [src/dparse/lexer.d](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community#diff-c3JjL2RwYXJzZS9sZXhlci5k) | `87.85% <100.00%> (ø)` | | | [src/dparse/parser.d](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community#diff-c3JjL2RwYXJzZS9wYXJzZXIuZA==) | `91.43% <100.00%> (ø)` | | ------ [Continue to review full report in Codecov by Sentry](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community). Last update [776ca6b...68c2cac](https://codecov.io/gh/dlang-community/libdparse/pull/487?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dlang-community).
rikkimax commented 1 year ago

So only for error messages? Sounds good.

Although I'd rather have it be a small array optimization instead. So it can grow on the heap if needed.

WebFreak001 commented 1 year ago

the TriviaToken change is a difference (previously the fields would always be empty) - this might break things in other packages. But I think we can rather do this now than after 1.0.0

So only for error messages? Sounds good.

Although I'd rather have it be a small array optimization instead. So it can grow on the heap if needed.

the stackbuffer starts on the stack and only grows on the heap if needed (which it didn't in my tests)

WebFreak001 commented 1 year ago

problem right now: std.sumtype isn't supported by the gdc-latest version - updating to gdc 12 should fix that though

github-actions[bot] commented 1 year ago

DCD BUILD FAILED ❌ dub build of DCD has failed with these changes! Please check your changes again.

Build statistics:

 ------ libdparse statistics ------

 statistics (-before, +after)
-library size=3434196 libdparse.a
+library size=3510756 libdparse.a
 rough build time=21s

 ------ DCD statistics ------

 statistics (-before, +after)
 client size=1055768 bin/dcd-client
-server size=3006064 bin/dcd-server
-rough build time=98s
+server size=3018608 bin/dcd-server
+rough build time=100s

-DCD run_tests.sh   Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.94
-DCD run_tests.sh   Maximum resident set size (kbytes): 15220
+DCD run_tests.sh   Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.01
+DCD run_tests.sh   Maximum resident set size (kbytes): 10528

 short requests: (215x)
-    min request time =     0.010ms
-    10th percentile  =     0.136ms
-    median time      =     0.517ms
-    90th percentile  =     0.929ms
-    max request time =     2.024ms
+    min request time =     0.011ms
+    10th percentile  =     0.122ms
+    median time      =     0.507ms
+    90th percentile  =     0.931ms
+    max request time =     2.030ms

 top 5 GC sources in server:
-bytes allocated, allocations, type, function, file:line
-        7554112              81399 void[] std.array.Appender!(DSymbol*[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
-        7536640                460 void[] std.array.Appender!(TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields; mixin TokenTriviaFields;")[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
-        2277376                278 void[] std.array.Appender!(char[][]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
-        1830176              57193 std.array.Appender!(dsymbol.symbol.DSymbol*[]).Appender.Data std.array.Appender!(DSymbol*[]).Appender.this /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3452
-        1414144                599 void[] std.array.Appender!(const(TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields; mixin TokenTriviaFields;"))[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.102.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3577
Full build output ``` DUB version 1.31.1, built on Mar 12 2023 LDC - the LLVM D compiler (1.32.0): based on DMD v2.102.2 and LLVM 15.0.7 built with LDC - the LLVM D compiler (1.32.0) Default target: x86_64-unknown-linux-gnu Host CPU: haswell http://dlang.org - http://wiki.dlang.org/LDC Registered Targets: aarch64 - AArch64 (little endian) aarch64_32 - AArch64 (little endian ILP32) aarch64_be - AArch64 (big endian) amdgcn - AMD GCN GPUs arm - ARM arm64 - ARM64 (little endian) arm64_32 - ARM64 (little endian ILP32) armeb - ARM (big endian) avr - Atmel AVR Microcontroller bpf - BPF (host endian) bpfeb - BPF (big endian) bpfel - BPF (little endian) hexagon - Hexagon lanai - Lanai mips - MIPS (32-bit big endian) mips64 - MIPS (64-bit big endian) mips64el - MIPS (64-bit little endian) mipsel - MIPS (32-bit little endian) msp430 - MSP430 [experimental] nvptx - NVIDIA PTX 32-bit nvptx64 - NVIDIA PTX 64-bit ppc32 - PowerPC 32 ppc32le - PowerPC 32 LE ppc64 - PowerPC 64 ppc64le - PowerPC 64 LE r600 - AMD GPUs HD2XXX-HD6XXX riscv32 - 32-bit RISC-V riscv64 - 64-bit RISC-V sparc - Sparc sparcel - Sparc LE sparcv9 - Sparc V9 systemz - SystemZ thumb - Thumb thumbeb - Thumb (big endian) ve - VE wasm32 - WebAssembly 32-bit wasm64 - WebAssembly 64-bit x86 - 32-bit X86: Pentium-Pro and above x86-64 - 64-bit X86: EM64T and AMD64 xcore - XCore Upgrading project in /home/runner/work/libdparse/libdparse/ Starting Performing "release" build using /opt/hostedtoolcache/dc/ldc2-1.32.0/x64/ldc2-1.32.0-linux-x86_64/bin/ldc2 for x86_64. Building libdparse 0.22.0+commit.6.g2265197: building configuration [library] STAT:------ libdparse statistics ------ STAT: STAT:statistics (-before, +after) STAT:library size=3510756 libdparse.a STAT:rough build time=21s STAT: STAT: STAT:------ DCD statistics ------ STAT: { "name": "dcd", "description": "The D Completion Daemon is an auto-complete program for the D programming language", "copyright": "Copyright © 2015-2020, Brian Schott", "authors": [ "Brian Schott" ], "license": "GPL-3.0", "dependencies": { ":dsymbol": "*", "libdparse": {"path":".."}, ":common": "*", "emsi_containers": "~>0.9.0" }, "subPackages": ["dsymbol", "common"], "versions": ["built_with_dub"], "configurations": [ { "name": "library", "targetType": "library", "excludedSourceFiles": [ "src/dcd/client/*", "src/dcd/server/main.d" ] }, { "name": "client", "targetType": "executable", "targetPath": "bin/", "targetName": "dcd-client", "excludedSourceFiles": [ "src/dcd/server/*" ] }, { "name": "server", "targetType": "executable", "targetPath": "bin/", "targetName": "dcd-server", "excludedSourceFiles": [ "src/dcd/client/*" ] } ] } { "fileVersion": 1, "versions": { "dsymbol": "0.14.1", "emsi_containers": "0.9.0", "libdparse": {"path":".."}, "msgpack-d": "1.0.4", "stdx-allocator": "2.77.5" } } STAT:statistics (-before, +after) STAT:client size=1055768 bin/dcd-client STAT:server size=3018608 bin/dcd-server STAT:rough build time=100s STAT: unix:tc001: ... Pass unix:tc002: ... Pass unix:tc003: ... Pass unix:tc004: ... Pass unix:tc005: ... Pass unix:tc006: ... Pass unix:tc007: ... Pass unix:tc008: ... Pass unix:tc009: ... Pass unix:tc010: ... Pass unix:tc011: ... Pass unix:tc012: ... Pass unix:tc013: ... Pass unix:tc014: ... Pass unix:tc015: ... Pass unix:tc016: ... Pass unix:tc017: ... Pass unix:tc018: ... Pass unix:tc019: ... Pass unix:tc020: ... Pass unix:tc021: ... Pass unix:tc022: ... Pass unix:tc023: ... Pass unix:tc024: ... Pass unix:tc025: ... Pass unix:tc026: ... Pass unix:tc027: ... Pass unix:tc028: ... Pass unix:tc029: ... Pass unix:tc030: ... Pass unix:tc031: ... Pass unix:tc032: ... Pass unix:tc033: ... Pass unix:tc034: ... Pass unix:tc035: ... Pass unix:tc036: ... Pass unix:tc037: ... Pass unix:tc038: ... Pass unix:tc039: ... Pass unix:tc040: ... Pass unix:tc041: ... Pass unix:tc042: ... Pass unix:tc043: ... Pass unix:tc044: ... Pass unix:tc045: ... Pass unix:tc046: ... Pass unix:tc047: ... Pass unix:tc048: ... Pass unix:tc049: ... Pass unix:tc050: ... Pass unix:tc051: ... Pass unix:tc052: ... Pass unix:tc053: ... Pass unix:tc054: ... Pass unix:tc055: ... Pass unix:tc056: ... Pass unix:tc057: ... Pass unix:tc058: ... Pass unix:tc059: ... Pass unix:tc060: ... Pass unix:tc061: ... Pass unix:tc062: ... Pass unix:tc620: ... Pass unix:tc_access_modifiers: ... Pass unix:tc_accesschain_type: ... Pass unix:tc_anon_class: ... Pass unix:tc_anon_struct: ... Pass unix:tc_bang_op_or_template: ... Pass unix:tc_base_template_type: ... Pass unix:tc_body_var: ... Pass unix:tc_calltip_in_func: ... Pass unix:tc_char_dot: ... Pass unix:tc_complete_kw: ... Pass unix:tc_currmod_fqn: ... Pass unix:tc_ditto_scopes: ... Pass unix:tc_empty_module: ... Pass 00000unix:tc_empty_requests: ... Pass unix:tc_erroneous_body_content: ... Pass unix:tc_extended_ditto: ... Pass unix:tc_extended_types: ... Pass unix:tc_if_auto_array: ... Pass unix:tc_if_var: ... Pass unix:tc_import_symbol_list: ... Pass unix:tc_incomplete_switch: ... Pass unix:tc_issue558: ... Pass unix:tc_locate_ufcs_function: ... Pass unix:tc_middle_of_utf: ... Pass unix:tc_module_scope_op: ... Pass unix:tc_named_mixin: ... Pass unix:tc_opaque_structs: ... Pass unix:tc_pointer_type_printing: ... Pass unix:tc_pointers: ... Pass unix:tc_recursive_public_import: ... Pass unix:tc_rm_import: ... Pass unix:tc_scope_mess: ... Pass unix:tc_selective_import_list: ... Pass unix:tc_super_scope: ... Pass unix:tc_template_param_props: ... Pass unix:tc_traits: ... Pass unix:tc_ufcs_alias_this_completion: ... Pass unix:tc_ufcs_array_type_completion: ... Pass unix:tc_ufcs_calltip_in_func: ... Pass unix:tc_ufcs_fundamental_types_completion: ... Pass unix:tc_ufcs_pointer_type_completion: ... Pass unix:tc_ufcs_struct_completion: ... Pass STAT:DCD run_tests.sh Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.01 STAT:DCD run_tests.sh Maximum resident set size (kbytes): 10528 STAT: STAT:short requests: (215x) STAT: min request time = 0.011ms STAT: 10th percentile = 0.122ms STAT: median time = 0.507ms STAT: 90th percentile = 0.931ms STAT: max request time = 2.030ms STAT: STAT: collect2: error: ld returned 1 exit status Error: linker exited with status 1 Error dmd failed with exit code 1. DCD BUILD FAILED std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc001: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc002: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc003: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc004: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc005: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc006: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc007: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc008: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc009: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc010: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc011: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc012: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc013: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc014: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc015: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc016: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc017: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc018: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc019: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc020: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc021: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc022: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc023: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc024: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc025: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc026: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc027: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc028: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc029: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc030: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc031: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc032: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc033: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc034: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc035: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc036: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc037: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc038: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc039: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc040: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc041: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc042: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc043: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc044: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc045: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc046: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc047: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc048: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc049: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc050: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc051: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc052: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc053: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc054: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc055: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc056: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc057: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc058: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc059: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc060: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc061: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc062: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc620: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_access_modifiers: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_accesschain_type: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_anon_class: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_anon_struct: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_bang_op_or_template: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_base_template_type: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_body_var: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_calltip_in_func: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_char_dot: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_complete_kw: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_currmod_fqn: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_ditto_scopes: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_empty_module: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_empty_requests: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_erroneous_body_content: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_extended_ditto: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_extended_types: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_if_auto_array: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_if_var: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_import_symbol_list: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_incomplete_switch: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_issue558: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_locate_ufcs_function: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_middle_of_utf: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_module_scope_op: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_named_mixin: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_opaque_structs: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_pointer_type_printing: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_pointers: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_recursive_public_import: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_rm_import: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_scope_mess: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_selective_import_list: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_super_scope: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_template_param_props: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_traits: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_ufcs_alias_this_completion: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_ufcs_array_type_completion: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_ufcs_calltip_in_func: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_ufcs_fundamental_types_completion: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_ufcs_pointer_type_completion: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory std.socket.SocketOSException@std/socket.d(2873): Unable to connect socket: No such file or directory unix:tc_ufcs_struct_completion: ... Fail ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory STAT:top 5 GC sources in server: ./run_tests.sh: line 55: ../bin/dcd-server: No such file or directory head: cannot open 'profilegc.log' for reading: No such file or directory ```
WebFreak001 commented 1 year ago

gonna just merge and fix whatever is happening on DCD's side, since I can't reproduce any issues here