@vladimir.litvinchik

Thanks a lot for the sample!

The results were quite a big surprise for me.

Running you application with .NET Core 3.1 lead to the best results:

```
Iteration 0; Elapsed 8576ms
Iteration 1; Elapsed 5613ms
Iteration 2; Elapsed 5517ms
Iteration 3; Elapsed 5575ms
Iteration 4; Elapsed 5530ms
Iteration 5; Elapsed 5593ms
Iteration 6; Elapsed 5519ms
Iteration 7; Elapsed 5494ms
Iteration 8; Elapsed 5481ms
Iteration 9; Elapsed 5529ms
```

Using .NET Framework 4.7 was quite a big performance hit:

Iteration 0; Elapsed 10522ms

Iteration 1; Elapsed 7884ms

Iteration 2; Elapsed 7696ms

Iteration 3; Elapsed 7869ms

Iteration 4; Elapsed 8110ms

Iteration 5; Elapsed 7876ms

Iteration 6; Elapsed 7896ms

Iteration 7; Elapsed 7880ms

Iteration 8; Elapsed 7940ms

Iteration 9; Elapsed 7816ms

Having GroupDocs.Conversion in the same project (without using it in the sample),

did add another second to the conversion time:

```
Iteration 0; Elapsed 10228ms
Iteration 1; Elapsed 8710ms
Iteration 2; Elapsed 8809ms
Iteration 3; Elapsed 8824ms
Iteration 4; Elapsed 8745ms
Iteration 5; Elapsed 8715ms
Iteration 6; Elapsed 8706ms
Iteration 7; Elapsed 8782ms
Iteration 8; Elapsed 8731ms
Iteration 9; Elapsed 9066ms
```

I also noticed, that using the same file in all runs, “improves” performance as well.

When I was loading a different DWG as “warm up”, it did not improve the performance as much.

Those were my first values inside the loop, after loading a different file before the loop:

Iteration 0; Elapsed 9193ms

Iteration 0; Elapsed 9180ms

Iteration 0; Elapsed 9044ms

Iteration 0; Elapsed 8959ms

Iteration 0; Elapsed 9137ms

So between 5.5 and 9.1 seconds is quite a difference.

And this only happens with .NET Framework, not with .NET Core as it seems.

Is this something you will be able to fix, or should we attempt to move our project to .NET Core?

GroupDocsViewerSpeed.zip (3.5 MB)