- Added generation times

This commit is contained in:
Ferdi Koomen 2020-06-19 11:35:49 +02:00
parent 8af28237b4
commit 8907aa34c0
2 changed files with 114 additions and 102 deletions

View File

@ -53,133 +53,143 @@
<tbody>
<tr>
<th>Supports OpenApi v2 specification</th>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="success" data-type="aurelia"></td>
<td class="success" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="success" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="success" data-type="node"></td>
</tr>
<tr>
<th>Supports OpenApi v3 specification</th>
<td class="success"></td>
<td class="danger"></td>
<td class="danger"></td>
<td class="success"></td>
<td class="success"></td>
<td class="danger"></td>
<td class="danger"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="danger" data-type="aurelia"></td>
<td class="danger" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="success" data-type="fetch"></td>
<td class="danger" data-type="jquery"></td>
<td class="danger" data-type="node"></td>
</tr>
<tr>
<th>Supports authentication</th>
<td class="success"></td>
<td class="danger"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="danger" data-type="aurelia"></td>
<td class="success" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="success" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="success" data-type="node"></td>
</tr>
<tr>
<th>Strongly typed models</th>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="success" data-type="aurelia"></td>
<td class="success" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="success" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="success" data-type="node"></td>
</tr>
<tr>
<th>Strongly typed enums</th>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="success" data-type="aurelia"></td>
<td class="success" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="success" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="success" data-type="node"></td>
</tr>
<tr>
<th>Models and services exported as individual files</th>
<td class="success"></td>
<td class="danger"></td>
<td class="success"></td>
<td class="success"></td>
<td class="danger"></td>
<td class="success"></td>
<td class="danger"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="danger" data-type="aurelia"></td>
<td class="success" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="danger" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="danger" data-type="node"></td>
</tr>
<tr>
<th>Index file that exports all services and models</th>
<td class="success"></td>
<td class="success"></td>
<td class="danger"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="danger"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="success" data-type="aurelia"></td>
<td class="danger" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="success" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="danger" data-type="node"></td>
</tr>
<tr>
<th>Service returns typed result</th>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="danger"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="success" data-type="aurelia"></td>
<td class="success" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="danger" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="success" data-type="node"></td>
</tr>
<tr>
<th>Service supports sending and receiving binary content</th>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="danger"></td>
<td class="danger"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="success" data-type="aurelia"></td>
<td class="success" data-type="inversify"></td>
<td class="danger" data-type="angular"></td>
<td class="danger" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="success" data-type="node"></td>
</tr>
<tr>
<th>Models and services contain inline documentation</th>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="success" data-type="aurelia"></td>
<td class="success" data-type="inversify"></td>
<td class="success" data-type="angular"></td>
<td class="success" data-type="fetch"></td>
<td class="success" data-type="jquery"></td>
<td class="success" data-type="node"></td>
</tr>
<tr>
<th>Framework agnostic</th>
<td class="success"></td>
<td class="danger"></td>
<td class="danger"></td>
<td class="danger"></td>
<td class="success"></td>
<td class="danger"></td>
<td class="danger"></td>
<td class="success" data-type="openapi-typscript-codegen"></td>
<td class="danger" data-type="aurelia"></td>
<td class="danger" data-type="inversify"></td>
<td class="danger" data-type="angular"></td>
<td class="success" data-type="fetch"></td>
<td class="danger" data-type="jquery"></td>
<td class="danger" data-type="node"></td>
</tr>
<tr>
<th>Generated size (typescript)</th>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge" data-type="openapi-typscript-codegen">30Kb</span></td>
<td><span class="badge" data-type="aurelia">30Kb</span></td>
<td><span class="badge" data-type="inversify">30Kb</span></td>
<td><span class="badge" data-type="angular">30Kb</span></td>
<td><span class="badge" data-type="fetch">30Kb</span></td>
<td><span class="badge" data-type="jquery">30Kb</span></td>
<td><span class="badge" data-type="node">30Kb</span></td>
</tr>
<tr>
<th>Build size (javascript)</th>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge">30Kb</span></td>
<td><span class="badge" data-type="openapi-typscript-codegen">30Kb</span></td>
<td><span class="badge" data-type="aurelia">30Kb</span></td>
<td><span class="badge" data-type="inversify">30Kb</span></td>
<td><span class="badge" data-type="angular">30Kb</span></td>
<td><span class="badge" data-type="fetch">30Kb</span></td>
<td><span class="badge" data-type="jquery">30Kb</span></td>
<td><span class="badge" data-type="node">30Kb</span></td>
</tr>
<tr>
<th>Generation time</th>
<td><span class="badge" data-type="openapi-typscript-codegen">0.132s</span></td>
<td><span class="badge" data-type="aurelia">0.715s</span></td>
<td><span class="badge" data-type="inversify">0.788s</span></td>
<td><span class="badge" data-type="angular">1.386s</span></td>
<td><span class="badge" data-type="fetch">1.103s</span></td>
<td><span class="badge" data-type="jquery">0.728s</span></td>
<td><span class="badge" data-type="node">0.752s</span></td>
</tr>
</tbody>
</table>

View File

@ -3,17 +3,19 @@
curl https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.14/swagger-codegen-cli-2.4.14.jar -o swagger-codegen-cli-v2.jar
curl https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.20/swagger-codegen-cli-3.0.20.jar -o swagger-codegen-cli-v3.jar
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-aurelia -o examples/v2/typescript-aurelia/
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-angular -o examples/v2/typescript-angular/
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-inversify -o examples/v2/typescript-inversify/
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-fetch -o examples/v2/typescript-fetch/
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-jquery -o examples/v2/typescript-jquery/
java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-node -o examples/v2/typescript-node/
echo v2/typescript-aurelia && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-aurelia -o examples/v2/typescript-aurelia/ &> /dev/null
echo v2/typescript-angular && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-angular -o examples/v2/typescript-angular/ &> /dev/null
echo v2/typescript-inversify && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-inversify -o examples/v2/typescript-inversify/ &> /dev/null
echo v2/typescript-fetch && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-fetch -o examples/v2/typescript-fetch/ &> /dev/null
echo v2/typescript-jquery && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-jquery -o examples/v2/typescript-jquery/ &> /dev/null
echo v2/typescript-node && time java -jar ./swagger-codegen-cli-v2.jar generate -i v2/spec.json -l typescript-node -o examples/v2/typescript-node/ &> /dev/null
java -jar ./swagger-codegen-cli-v3.jar generate -i v3/spec.json -l typescript-angular -o examples/v3/typescript-angular/
java -jar ./swagger-codegen-cli-v3.jar generate -i v3/spec.json -l typescript-fetch -o examples/v3/typescript-fetch/
echo v3/typescript-angular && time java -jar ./swagger-codegen-cli-v3.jar generate -i v3/spec.json -l typescript-angular -o examples/v3/typescript-angular/ &> /dev/null
echo v3/typescript-fetch && time java -jar ./swagger-codegen-cli-v3.jar generate -i v3/spec.json -l typescript-fetch -o examples/v3/typescript-fetch/ &> /dev/null
node ../bin/index.js --input v2/spec.json --output examples/v2/openapi-typescript-codegen/
node ../bin/index.js --input v3/spec.json --output examples/v3/openapi-typescript-codegen/
echo v2/openapi-typescript-codegen && time node ../bin/index.js --input v2/spec.json --output examples/v2/openapi-typescript-codegen/ &> /dev/null
echo v3/openapi-typescript-codegen && time node ../bin/index.js --input v3/spec.json --output examples/v3/openapi-typescript-codegen/ &> /dev/null
cd examples && find . -type f ! -iname "*.ts" -delete
cd examples
find . -type f ! -iname "*.ts" -delete
cd ../