Open timotheeguerin opened 1 month ago
First issue has been resolved for autorest. Remains that this is not an acceptable performance drop
fixed this issue by exposing createTcgcContext
, which the other emitters will load instead
This solved the fact that it had a bad performance when calling creatSdContect but that bad performance is not expected when you call the preprocessor. This is not urgent anymore to fix but it is still there and might cause really bad build time for larger specs
Compiling the oracle spec is extrremly slow. After some inital investigation it seems most of it is due to tcgc and the
createSDKContext
is extremely slowAdding a timer around took about 10s
In the spec repo
cd specification/oracle/Oracle.Database.Management; npx tsp compile .
From issue https://github.com/microsoft/typespec/issues/3845
The
createSDKContext
should be instant. Tcgc is the combination of 2 things:When an emitter(like autorest) that only care about
1.
it shouldn't be affected by any of the preprocessing which would slow it down further. The perf here of 10s though is still extremly slow. Openapi3 build does all the parsing, checking, and openapi3 emitting of that spec in 3sSo there is 2 issues to resolve here:
createSDKContext
shouldn't be doing anything about the preprocessing used by dpg emitters