Are there concrete reasons to select one agent OS over another for cross-platform apps? I see the choice frequently being made based on the developer's OS preference. I created a .net core console app this morning and a pipeline to build it against both windows and ubuntu hosted agents.
stages:
- stage: windows
jobs:
- template: build.yml
parameters:
pool: windows-latest
- stage: ubuntu
jobs:
- template: build.yml
parameters:
pool: ubuntu-latest
I ran the pipeline several times. The windows build time vs ubuntu was considerably larger. I was able to use the analytics right out of the box in AzDO to get some insight:
I shared this internally and another dev tried switching their pipeline to Ubuntu. They saw roughly a 30% decrease in run time.
Questions following this experiment:
Are there types of tasks that run faster on Ubuntu vs Windows and vis versa due to the OS architecture?
Is it possible to "score" a pipeline in order to estimate the best OS to run it on?