Airflow was the slowest in all categories, with high orchestration overhead and poor responsiveness to both lightweight and long-running tasks. It suffers from long assignment delays and inefficient scaling, making it unsuitable for performance-critical workflows.
ITER =10# respectively 40 FIBO_N =33# respectively 10 with DAG( dag_id="bench_{}".format(ITER), schedule=None, start_date=datetime(2023,1,1), catchup=False, tags=["benchmark"], )as dag: for i inrange(ITER): @task(task_id=f"task_{i}") deftask_module(): return fibo(FIBO_N) fibo_task = task_module() if i >0: previous_task >> fibo_task previous_task = fibo_task
Fibonacci 40 iterations, n=10
This benchmark measures the performance of Airflow when handling a large number of lightweight tasks. The tasks are Fibonacci calculations with 40 iterations and a base value of 10.
Python
Visualization
Statistics
Airflow
Windmill
Windmill Dedicated
Total duration (in seconds)
116.221
4.383
2.092
Assignment
75.112 (64.63%)
1.836 (41.89%)
1.795 (85.80%)
Execution
12.516 (10.77%)
2.215 (50.54%)
0.122 (5.83%)
Transition
28.593 (24.60%)
0.332 (7.57%)
0.175 (8.37%)
Timing details
View task timing details
Task
Created at
Started at
Completed at
task_00
0.000
4.335
4.752
task_01
6.236
8.710
8.923
task_02
9.792
11.117
11.320
task_03
12.157
13.513
13.733
task_04
13.804
15.413
15.622
task_05
16.201
17.587
17.849
task_06
18.902
20.227
20.432
task_07
21.262
22.691
22.958
task_08
24.015
25.349
25.558
task_09
26.368
28.158
28.635
task_10
29.361
31.035
31.357
task_11
31.861
36.245
37.062
task_12
38.868
42.180
42.388
task_13
42.641
44.027
44.280
task_14
45.321
46.676
46.877
task_15
47.676
49.073
49.298
task_16
50.432
51.786
51.999
task_17
52.415
53.852
54.051
task_18
54.155
55.564
55.771
task_19
56.575
58.346
58.781
task_20
59.254
60.999
61.355
task_21
62.071
63.671
64.079
task_22
64.366
66.011
66.442
task_23
67.061
68.619
68.866
task_24
69.601
71.842
72.303
task_25
73.373
77.495
78.212
task_26
78.428
79.896
80.134
task_27
81.199
82.495
82.741
task_28
83.665
84.958
85.153
task_29
85.205
86.561
86.766
task_30
87.690
89.357
89.778
task_31
90.419
91.970
92.282
task_32
93.024
94.610
95.031
task_33
95.636
97.495
97.745
task_34
98.857
100.626
100.877
task_35
101.926
103.271
103.477
task_36
103.915
105.523
105.875
task_37
105.996
107.412
107.622
task_38
108.409
112.610
113.214
task_39
114.054
115.998
116.221
Windmill Comparison
Task
Created at
Started at
Completed at
task_00
0.000
0.003
0.059
task_01
0.067
0.113
0.171
task_02
0.180
0.226
0.280
task_03
0.290
0.335
0.389
task_04
0.398
0.446
0.501
task_05
0.510
0.558
0.614
task_06
0.622
0.669
0.725
task_07
0.732
0.780
0.834
task_08
0.842
0.889
0.942
task_09
0.950
0.997
1.052
task_10
1.061
1.108
1.166
task_11
1.175
1.220
1.274
task_12
1.283
1.330
1.385
task_13
1.394
1.440
1.494
task_14
1.503
1.550
1.605
task_15
1.612
1.661
1.716
task_16
1.723
1.770
1.823
task_17
1.831
1.878
1.930
task_18
1.939
1.986
2.041
task_19
2.049
2.096
2.152
task_20
2.161
2.209
2.266
task_21
2.274
2.320
2.376
task_22
2.384
2.431
2.486
task_23
2.495
2.542
2.596
task_24
2.604
2.652
2.706
task_25
2.715
2.761
2.816
task_26
2.825
2.872
2.925
task_27
2.933
2.979
3.033
task_28
3.042
3.090
3.145
task_29
3.154
3.201
3.269
task_30
3.278
3.325
3.382
task_31
3.391
3.437
3.493
task_32
3.501
3.548
3.602
task_33
3.611
3.660
3.715
task_34
3.723
3.770
3.823
task_35
3.833
3.879
3.934
task_36
3.942
3.990
4.045
task_37
4.053
4.101
4.157
task_38
4.165
4.212
4.268
task_39
4.277
4.324
4.383
Windmill Dedicated Comparison
Task
Created at
Started at
Completed at
task_00
0.000
0.019
0.022
task_01
0.029
0.073
0.077
task_02
0.081
0.125
0.128
task_03
0.134
0.179
0.182
task_04
0.187
0.231
0.234
task_05
0.239
0.284
0.287
task_06
0.292
0.338
0.341
task_07
0.345
0.391
0.394
task_08
0.398
0.444
0.447
task_09
0.451
0.497
0.500
task_10
0.505
0.549
0.552
task_11
0.557
0.603
0.606
task_12
0.610
0.655
0.659
task_13
0.663
0.709
0.712
task_14
0.716
0.761
0.764
task_15
0.768
0.814
0.817
task_16
0.821
0.867
0.870
task_17
0.876
0.921
0.924
task_18
0.929
0.973
0.976
task_19
0.981
1.027
1.030
task_20
1.035
1.080
1.083
task_21
1.087
1.132
1.135
task_22
1.139
1.186
1.189
task_23
1.193
1.238
1.241
task_24
1.246
1.292
1.295
task_25
1.299
1.345
1.348
task_26
1.352
1.398
1.401
task_27
1.405
1.451
1.454
task_28
1.458
1.504
1.507
task_29
1.512
1.557
1.560
task_30
1.564
1.611
1.614
task_31
1.618
1.664
1.667
task_32
1.671
1.717
1.720
task_33
1.724
1.770
1.773
task_34
1.777
1.823
1.826
task_35
1.830
1.876
1.879
task_36
1.884
1.930
1.933
task_37
1.937
1.983
1.986
task_38
1.991
2.036
2.039
task_39
2.043
2.089
2.092
Fibonacci 10 iterations, n=33
This benchmark measures the performance of Airflow when handling a small number of heavyweight tasks. The tasks are Fibonacci calculations with 10 iterations and a base value of 33.