- 
                Notifications
    
You must be signed in to change notification settings  - Fork 60
 
Flatten unary expressions #491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Flatten unary expressions #491
Conversation
          Codecov Report
 Additional details and impacted files@@            Coverage Diff             @@
##           master     #491      +/-   ##
==========================================
- Coverage   83.71%   83.45%   -0.26%     
==========================================
  Files          11       11              
  Lines        8540     8712     +172     
==========================================
+ Hits         7149     7271     +122     
- Misses       1391     1441      +50     
 Continue to review full report in Codecov by Sentry. 
  | 
    
| 
           Something about this not being faster smells to me. Usually, when you decrease RAM usage significantly, it should be much faster. But otherwise, less ram usage the better!  | 
    
        
          
                src/dparse/parser.d
              
                Outdated
          
        
      | } | ||
| 
               | 
          ||
| /// ditto | ||
| FunctionCallExpression parseFunctionCallExpression(UnaryExpressionNode unary, bool fromUnary = true) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider using enum instead of bool since it's more descriptive and type strict, meaning no implicit cast can occur
enum FromUnary {
      YES, NO;
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
78b9ee4    to
    b90a4f2      
    Compare
  
    | 
           DCD BUILD FAILED Build statistics:  ------ libdparse statistics ------
 
 statistics (-before, +after)
-library size=3544204 libdparse.a
-rough build time=20s
+library size=3585740 libdparse.a
+rough build time=19s
 
 
 ------ DCD statistics ------
 
 statistics (-before, +after)
 client size=1055832 bin/dcd-client
-server size=3052720 bin/dcd-server
-rough build time=94s
+server size=3079792 bin/dcd-server
+rough build time=93s
 
-DCD run_tests.sh 	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.90
-DCD run_tests.sh 	Maximum resident set size (kbytes): 9300
+DCD run_tests.sh 	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.98
+DCD run_tests.sh 	Maximum resident set size (kbytes): 12884
 
 short requests: (217x)
     min request time =     0.018ms
-    10th percentile  =     0.138ms
-    median time      =     0.457ms
-    90th percentile  =     0.755ms
-    max request time =     2.184ms
+    10th percentile  =     0.136ms
+    median time      =     0.488ms
+    90th percentile  =     0.855ms
+    max request time =     2.080ms
 
 
 top 5 GC sources in server:Full build output | 
    
f01e537    to
    4a6df8d      
    Compare
  
    Step 1/2 for dlang-community#409
Just calling parseAssignExpression instead of parseExpression in AA checking now, since that's what's being done in the parsing code anyway! Doubled the debug stack limit. Should really investigate what's broken here, since this stack usage is way too much.
a75a23e    to
    ded6025      
    Compare
  
    
Depends on #490
Step 1/2 for #409
dcd-server peak RAM usage for one environment: 197 MB -> 130 MB (-33%)
CPU time about the same (ever so slightly lower, but could just be jitter)