-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
180 lines (171 loc) · 20.8 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
using System;
using System.Diagnostics;
using System.Threading.Tasks;
/// <summary>
/// This should not exist. Making this was a mistake, one I can never take back.
/// </summary>
namespace AwaiterHell
{
/// <summary>
/// This is fucking stupid and I love it
/// DNSpy has no clue what is going on when I try to decompile this
/// And Visual Studio is giving me about 10 errors per second while I have this project open
/// </summary>
internal class Program
{
private static void Main(string[] args)
{
System.Console.WriteLine("Starting hell await");
Stopwatch sw = new Stopwatch();
sw.Start();
var hell = Hell(true);
hell.Wait();
sw.Stop();
System.Console.WriteLine($"Result: {hell.Result} in {sw.ElapsedMilliseconds}ms");
Console.ReadLine();
}
/// <summary>
/// I have found that if you try to use more than 479 awaits in a single statement, the compiler will shit itself
/// Therefore I have had to split up the awaits into multiple statements
/// </summary>
public static async Task<bool> Hell(bool inp)
{
var infinityTask = new InfinityTask<bool>(() => inp);
Console.WriteLine("awaiter 1");
var awaitSecor1 = await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await infinityTask;
/*
* Something interesting about these messages, DNSpy cnnot find them.
* Maybe the amount of awaits overwhelms the decompiler and it just gives up, or maybe it doesn't compile correctly to begin with?
*/
Console.WriteLine("awaiter 2");
/*
* Execution appears to end here, without the main thread terminating, and with standard message pumps.
* I'm not too sure why it appears to just stop here.
* The CPU and Memory usge also drops here and doesn't change.
* Maybe it somehow locks up the task dispatcher?
*
*/
var awaitSector2 = await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await awaitSecor1;
Console.WriteLine("awaiter 3");
var awaitSector3 = await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await awaitSector2;
Console.WriteLine("awaiter 4");
var awaitSector4 = await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await awaitSector3;
Console.WriteLine("awaiter 5");
var awaitSector5 = await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await awaitSector4;
Console.WriteLine("awaiter 6");
var awaitSector6 = await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await await await await await await await await await await await await await await await
await await await await await await await await await await awaitSector5;
return await await await await await await await await await await await await await await await await await await await await awaitSector6;
}
}
}