Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@WebFreak001
Copy link
Member

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 dlang-community/DCD#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
Copy link

codecov bot commented Mar 21, 2023

Codecov Report

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

❗ 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

@@           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 Coverage Δ
src/dparse/trivia.d 99.44% <ø> (ø)
src/dparse/stack_buffer.d 93.61% <85.71%> (-1.39%) ⬇️
src/dparse/lexer.d 87.85% <100.00%> (ø)
src/dparse/parser.d 91.43% <100.00%> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 776ca6b...68c2cac. Read the comment docs.

@WebFreak001 WebFreak001 requested review from rikkimax and vushu March 21, 2023 23:26
@rikkimax
Copy link
Contributor

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
Copy link
Member Author

WebFreak001 commented Mar 22, 2023

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)

Copy link

@vushu vushu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like a worthwhile optimization.

@WebFreak001
Copy link
Member Author

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

@github-actions
Copy link

github-actions bot commented Mar 30, 2023

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:
�[33munix:tc001:�[0m ... �[32mPass�[0m
�[33munix:tc002:�[0m ... �[32mPass�[0m
�[33munix:tc003:�[0m ... �[32mPass�[0m
�[33munix:tc004:�[0m ... �[32mPass�[0m
�[33munix:tc005:�[0m ... �[32mPass�[0m
�[33munix:tc006:�[0m ... �[32mPass�[0m
�[33munix:tc007:�[0m ... �[32mPass�[0m
�[33munix:tc008:�[0m ... �[32mPass�[0m
�[33munix:tc009:�[0m ... �[32mPass�[0m
�[33munix:tc010:�[0m ... �[32mPass�[0m
�[33munix:tc011:�[0m ... �[32mPass�[0m
�[33munix:tc012:�[0m ... �[32mPass�[0m
�[33munix:tc013:�[0m ... �[32mPass�[0m
�[33munix:tc014:�[0m ... �[32mPass�[0m
�[33munix:tc015:�[0m ... �[32mPass�[0m
�[33munix:tc016:�[0m ... �[32mPass�[0m
�[33munix:tc017:�[0m ... �[32mPass�[0m
�[33munix:tc018:�[0m ... �[32mPass�[0m
�[33munix:tc019:�[0m ... �[32mPass�[0m
�[33munix:tc020:�[0m ... �[32mPass�[0m
�[33munix:tc021:�[0m ... �[32mPass�[0m
�[33munix:tc022:�[0m ... �[32mPass�[0m
�[33munix:tc023:�[0m ... �[32mPass�[0m
�[33munix:tc024:�[0m ... �[32mPass�[0m
�[33munix:tc025:�[0m ... �[32mPass�[0m
�[33munix:tc026:�[0m ... �[32mPass�[0m
�[33munix:tc027:�[0m ... �[32mPass�[0m
�[33munix:tc028:�[0m ... �[32mPass�[0m
�[33munix:tc029:�[0m ... �[32mPass�[0m
�[33munix:tc030:�[0m ... �[32mPass�[0m
�[33munix:tc031:�[0m ... �[32mPass�[0m
�[33munix:tc032:�[0m ... �[32mPass�[0m
�[33munix:tc033:�[0m ... �[32mPass�[0m
�[33munix:tc034:�[0m ... �[32mPass�[0m
�[33munix:tc035:�[0m ... �[32mPass�[0m
�[33munix:tc036:�[0m ... �[32mPass�[0m
�[33munix:tc037:�[0m ... �[32mPass�[0m
�[33munix:tc038:�[0m ... �[32mPass�[0m
�[33munix:tc039:�[0m ... �[32mPass�[0m
�[33munix:tc040:�[0m ... �[32mPass�[0m
�[33munix:tc041:�[0m ... �[32mPass�[0m
�[33munix:tc042:�[0m ... �[32mPass�[0m
�[33munix:tc043:�[0m ... �[32mPass�[0m
�[33munix:tc044:�[0m ... �[32mPass�[0m
�[33munix:tc045:�[0m ... �[32mPass�[0m
�[33munix:tc046:�[0m ... �[32mPass�[0m
�[33munix:tc047:�[0m ... �[32mPass�[0m
�[33munix:tc048:�[0m ... �[32mPass�[0m
�[33munix:tc049:�[0m ... �[32mPass�[0m
�[33munix:tc050:�[0m ... �[32mPass�[0m
�[33munix:tc051:�[0m ... �[32mPass�[0m
�[33munix:tc052:�[0m ... �[32mPass�[0m
�[33munix:tc053:�[0m ... �[32mPass�[0m
�[33munix:tc054:�[0m ... �[32mPass�[0m
�[33munix:tc055:�[0m ... �[32mPass�[0m
�[33munix:tc056:�[0m ... �[32mPass�[0m
�[33munix:tc057:�[0m ... �[32mPass�[0m
�[33munix:tc058:�[0m ... �[32mPass�[0m
�[33munix:tc059:�[0m ... �[32mPass�[0m
�[33munix:tc060:�[0m ... �[32mPass�[0m
�[33munix:tc061:�[0m ... �[32mPass�[0m
�[33munix:tc062:�[0m ... �[32mPass�[0m
�[33munix:tc620:�[0m ... �[32mPass�[0m
�[33munix:tc_access_modifiers:�[0m ... �[32mPass�[0m
�[33munix:tc_accesschain_type:�[0m ... �[32mPass�[0m
�[33munix:tc_anon_class:�[0m ... �[32mPass�[0m
�[33munix:tc_anon_struct:�[0m ... �[32mPass�[0m
�[33munix:tc_bang_op_or_template:�[0m ... �[32mPass�[0m
�[33munix:tc_base_template_type:�[0m ... �[32mPass�[0m
�[33munix:tc_body_var:�[0m ... �[32mPass�[0m
�[33munix:tc_calltip_in_func:�[0m ... �[32mPass�[0m
�[33munix:tc_char_dot:�[0m ... �[32mPass�[0m
�[33munix:tc_complete_kw:�[0m ... �[32mPass�[0m
�[33munix:tc_currmod_fqn:�[0m ... �[32mPass�[0m
�[33munix:tc_ditto_scopes:�[0m ... �[32mPass�[0m
�[33munix:tc_empty_module:�[0m ... �[32mPass�[0m
00000�[33munix:tc_empty_requests:�[0m ... �[32mPass�[0m
�[33munix:tc_erroneous_body_content:�[0m ... �[32mPass�[0m
�[33munix:tc_extended_ditto:�[0m ... �[32mPass�[0m
�[33munix:tc_extended_types:�[0m ... �[32mPass�[0m
�[33munix:tc_if_auto_array:�[0m ... �[32mPass�[0m
�[33munix:tc_if_var:�[0m ... �[32mPass�[0m
�[33munix:tc_import_symbol_list:�[0m ... �[32mPass�[0m
�[33munix:tc_incomplete_switch:�[0m ... �[32mPass�[0m
�[33munix:tc_issue558:�[0m ... �[32mPass�[0m
�[33munix:tc_locate_ufcs_function:�[0m ... �[32mPass�[0m
�[33munix:tc_middle_of_utf:�[0m ... �[32mPass�[0m
�[33munix:tc_module_scope_op:�[0m ... �[32mPass�[0m
�[33munix:tc_named_mixin:�[0m ... �[32mPass�[0m
�[33munix:tc_opaque_structs:�[0m ... �[32mPass�[0m
�[33munix:tc_pointer_type_printing:�[0m ... �[32mPass�[0m
�[33munix:tc_pointers:�[0m ... �[32mPass�[0m
�[33munix:tc_recursive_public_import:�[0m ... �[32mPass�[0m
�[33munix:tc_rm_import:�[0m ... �[32mPass�[0m
�[33munix:tc_scope_mess:�[0m ... �[32mPass�[0m
�[33munix:tc_selective_import_list:�[0m ... �[32mPass�[0m
�[33munix:tc_super_scope:�[0m ... �[32mPass�[0m
�[33munix:tc_template_param_props:�[0m ... �[32mPass�[0m
�[33munix:tc_traits:�[0m ... �[32mPass�[0m
�[33munix:tc_ufcs_alias_this_completion:�[0m ... �[32mPass�[0m
�[33munix:tc_ufcs_array_type_completion:�[0m ... �[32mPass�[0m
�[33munix:tc_ufcs_calltip_in_func:�[0m ... �[32mPass�[0m
�[33munix:tc_ufcs_fundamental_types_completion:�[0m ... �[32mPass�[0m
�[33munix:tc_ufcs_pointer_type_completion:�[0m ... �[32mPass�[0m
�[33munix:tc_ufcs_struct_completion:�[0m ... �[32mPass�[0m
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
�[33munix:tc001:�[0m ... �[31mFail�[0m
./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
�[33munix:tc002:�[0m ... �[31mFail�[0m
./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
�[33munix:tc003:�[0m ... �[31mFail�[0m
./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
�[33munix:tc004:�[0m ... �[31mFail�[0m
./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
�[33munix:tc005:�[0m ... �[31mFail�[0m
./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
�[33munix:tc006:�[0m ... �[31mFail�[0m
./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
�[33munix:tc007:�[0m ... �[31mFail�[0m
./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
�[33munix:tc008:�[0m ... �[31mFail�[0m
./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
�[33munix:tc009:�[0m ... �[31mFail�[0m
./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
�[33munix:tc010:�[0m ... �[31mFail�[0m
./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
�[33munix:tc011:�[0m ... �[31mFail�[0m
./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
�[33munix:tc012:�[0m ... �[31mFail�[0m
./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
�[33munix:tc013:�[0m ... �[31mFail�[0m
./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
�[33munix:tc014:�[0m ... �[31mFail�[0m
./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
�[33munix:tc015:�[0m ... �[31mFail�[0m
./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
�[33munix:tc016:�[0m ... �[31mFail�[0m
./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
�[33munix:tc017:�[0m ... �[31mFail�[0m
./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
�[33munix:tc018:�[0m ... �[31mFail�[0m
./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
�[33munix:tc019:�[0m ... �[31mFail�[0m
./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
�[33munix:tc020:�[0m ... �[31mFail�[0m
./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
�[33munix:tc021:�[0m ... �[31mFail�[0m
./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
�[33munix:tc022:�[0m ... �[31mFail�[0m
./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
�[33munix:tc023:�[0m ... �[31mFail�[0m
./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
�[33munix:tc024:�[0m ... �[31mFail�[0m
./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
�[33munix:tc025:�[0m ... �[31mFail�[0m
./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
�[33munix:tc026:�[0m ... �[31mFail�[0m
./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
�[33munix:tc027:�[0m ... �[31mFail�[0m
./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
�[33munix:tc028:�[0m ... �[31mFail�[0m
./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
�[33munix:tc029:�[0m ... �[31mFail�[0m
./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
�[33munix:tc030:�[0m ... �[31mFail�[0m
./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
�[33munix:tc031:�[0m ... �[31mFail�[0m
./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
�[33munix:tc032:�[0m ... �[31mFail�[0m
./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
�[33munix:tc033:�[0m ... �[31mFail�[0m
./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
�[33munix:tc034:�[0m ... �[31mFail�[0m
./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
�[33munix:tc035:�[0m ... �[31mFail�[0m
./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
�[33munix:tc036:�[0m ... �[31mFail�[0m
./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
�[33munix:tc037:�[0m ... �[31mFail�[0m
./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
�[33munix:tc038:�[0m ... �[31mFail�[0m
./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
�[33munix:tc039:�[0m ... �[31mFail�[0m
./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
�[33munix:tc040:�[0m ... �[31mFail�[0m
./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
�[33munix:tc041:�[0m ... �[31mFail�[0m
./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
�[33munix:tc042:�[0m ... �[31mFail�[0m
./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
�[33munix:tc043:�[0m ... �[31mFail�[0m
./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
�[33munix:tc044:�[0m ... �[31mFail�[0m
./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
�[33munix:tc045:�[0m ... �[31mFail�[0m
./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
�[33munix:tc046:�[0m ... �[31mFail�[0m
./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
�[33munix:tc047:�[0m ... �[31mFail�[0m
./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
�[33munix:tc048:�[0m ... �[31mFail�[0m
./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
�[33munix:tc049:�[0m ... �[31mFail�[0m
./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
�[33munix:tc050:�[0m ... �[31mFail�[0m
./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
�[33munix:tc051:�[0m ... �[31mFail�[0m
./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
�[33munix:tc052:�[0m ... �[31mFail�[0m
./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
�[33munix:tc053:�[0m ... �[31mFail�[0m
./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
�[33munix:tc054:�[0m ... �[31mFail�[0m
./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
�[33munix:tc055:�[0m ... �[31mFail�[0m
./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
�[33munix:tc056:�[0m ... �[31mFail�[0m
./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
�[33munix:tc057:�[0m ... �[31mFail�[0m
./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
�[33munix:tc058:�[0m ... �[31mFail�[0m
./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
�[33munix:tc059:�[0m ... �[31mFail�[0m
./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
�[33munix:tc060:�[0m ... �[31mFail�[0m
./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
�[33munix:tc061:�[0m ... �[31mFail�[0m
./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
�[33munix:tc062:�[0m ... �[31mFail�[0m
./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
�[33munix:tc620:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_access_modifiers:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_accesschain_type:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_anon_class:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_anon_struct:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_bang_op_or_template:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_base_template_type:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_body_var:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_calltip_in_func:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_char_dot:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_complete_kw:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_currmod_fqn:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_ditto_scopes:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_empty_module:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_empty_requests:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_erroneous_body_content:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_extended_ditto:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_extended_types:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_if_auto_array:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_if_var:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_import_symbol_list:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_incomplete_switch:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_issue558:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_locate_ufcs_function:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_middle_of_utf:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_module_scope_op:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_named_mixin:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_opaque_structs:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_pointer_type_printing:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_pointers:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_recursive_public_import:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_rm_import:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_scope_mess:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_selective_import_list:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_super_scope:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_template_param_props:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_traits:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_ufcs_alias_this_completion:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_ufcs_array_type_completion:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_ufcs_calltip_in_func:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_ufcs_fundamental_types_completion:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_ufcs_pointer_type_completion:�[0m ... �[31mFail�[0m
./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
�[33munix:tc_ufcs_struct_completion:�[0m ... �[31mFail�[0m
./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 WebFreak001 force-pushed the reduce-tiny-allocations branch from 5e0547b to 68c2cac Compare March 30, 2023 12:10
@WebFreak001
Copy link
Member Author

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

@WebFreak001 WebFreak001 merged commit df3f780 into dlang-community:master Mar 30, 2023
@WebFreak001 WebFreak001 deleted the reduce-tiny-allocations branch May 4, 2023 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants