diff --git a/docs/assets/images/chess-profile.svg b/docs/assets/images/chess-profile.svg new file mode 100644 index 0000000..742dc6f --- /dev/null +++ b/docs/assets/images/chess-profile.svg @@ -0,0 +1,1356 @@ + + + + + + + + + + + + + +Flame Graph +Reset Zoom +Search +ic + + + + + + +
Function: [:0] (31,070 usec, 100.0%); self: 0 usec
+ + + +
+ + +chess.lua:3 +
Function: [chess.lua:3] (31,070 usec, 100.0%); self: 770 usec
+ + + +
+ +test +chess.lua:510 +
Function: test [chess.lua:510] (30,300 usec, 97.5%); self: 0 usec
+ +test +test +
+ +moveList +chess.lua:453 +
Function: moveList [chess.lua:453] (30,300 usec, 97.5%); self: 0 usec
+ +moveList +moveList +
+ +pmoves +chess.lua:310 +
Function: pmoves [chess.lua:310] (500 usec, 1.6%); self: 0 usec
+ + +pmoves +
+ +illegalyChecked +chess.lua:476 +
Function: illegalyChecked [chess.lua:476] (28,700 usec, 92.4%); self: 300 usec
+ +illegalyChecked +illegalyChecked +
+ +applyMove +chess.lua:490 +
Function: applyMove [chess.lua:490] (1,100 usec, 3.5%); self: 200 usec
+ +app.. +applyMove +
+ +generate +chess.lua:319 +
Function: generate [chess.lua:319] (500 usec, 1.6%); self: 0 usec
+ + +generate +
+ +pmoves +chess.lua:310 +
Function: pmoves [chess.lua:310] (27,400 usec, 88.2%); self: 100 usec
+ +pmoves +pmoves +
+ +band +chess.lua:125 +
Function: band [chess.lua:125] (200 usec, 0.6%); self: 0 usec
+ + +band +
+ +set +chess.lua:195 +
Function: set [chess.lua:195] (300 usec, 1.0%); self: 0 usec
+ + +set +
+ +ctz +chess.lua:141 +
Function: ctz [chess.lua:141] (400 usec, 1.3%); self: 400 usec
+ + +ctz +
+ +empty +chess.lua:137 +
Function: empty [chess.lua:137] (100 usec, 0.3%); self: 100 usec
+ + +empty +
+ +updateCache +chess.lua:283 +
Function: updateCache [chess.lua:283] (600 usec, 1.9%); self: 0 usec
+ +u.. +updateCache +
+ +set +chess.lua:195 +
Function: set [chess.lua:195] (100 usec, 0.3%); self: 0 usec
+ + +set +
+ +index +chess.lua:274 +
Function: index [chess.lua:274] (100 usec, 0.3%); self: 100 usec
+ + +index +
+ +new +chess.lua:228 +
Function: new [chess.lua:228] (100 usec, 0.3%); self: 0 usec
+ + +new +
+ +move +chess.lua:109 +
Function: move [chess.lua:109] (100 usec, 0.3%); self: 0 usec
+ + +move +
+ +isolate +chess.lua:304 +
Function: isolate [chess.lua:304] (400 usec, 1.3%); self: 0 usec
+ + +isolate +
+ +generate +chess.lua:319 +
Function: generate [chess.lua:319] (27,300 usec, 87.9%); self: 2,700 usec
+ +generate +generate +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (200 usec, 0.6%); self: 200 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (300 usec, 1.0%); self: 200 usec
+ + +from +
+ +bor +chess.lua:129 +
Function: bor [chess.lua:129] (600 usec, 1.9%); self: 200 usec
+ +bor +bor +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 100 usec
+ + +from +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +right +chess.lua:101 +
Function: right [chess.lua:101] (100 usec, 0.3%); self: 0 usec
+ + +right +
+ +map +chess.lua:295 +
Function: map [chess.lua:295] (400 usec, 1.3%); self: 100 usec
+ + +map +
+ +move +chess.lua:109 +
Function: move [chess.lua:109] (4,400 usec, 14.2%); self: 800 usec
+ +move +move +
+ +band +chess.lua:125 +
Function: band [chess.lua:125] (1,900 usec, 6.1%); self: 400 usec
+ +band +band +
+ +isolate +chess.lua:304 +
Function: isolate [chess.lua:304] (13,000 usec, 41.8%); self: 0 usec
+ +isolate +isolate +
+ +index +chess.lua:274 +
Function: index [chess.lua:274] (700 usec, 2.3%); self: 200 usec
+ +i.. +index +
+ +down +chess.lua:97 +
Function: down [chess.lua:97] (100 usec, 0.3%); self: 0 usec
+ + +down +
+ +left +chess.lua:105 +
Function: left [chess.lua:105] (1,000 usec, 3.2%); self: 100 usec
+ +left +left +
+ +up +chess.lua:93 +
Function: up [chess.lua:93] (600 usec, 1.9%); self: 100 usec
+ +up +up +
+ +right +chess.lua:101 +
Function: right [chess.lua:101] (800 usec, 2.6%); self: 100 usec
+ +ri.. +right +
+ +GC +
Function: GC [GC:0] (500 usec, 1.6%); self: 500 usec
+ + +GC +
+ +bor +chess.lua:129 +
Function: bor [chess.lua:129] (900 usec, 2.9%); self: 400 usec
+ +bor +bor +
+ +empty +chess.lua:137 +
Function: empty [chess.lua:137] (400 usec, 1.3%); self: 400 usec
+ + +empty +
+ +some +chess.lua:207 +
Function: some [chess.lua:207] (300 usec, 1.0%); self: 200 usec
+ + +some +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (400 usec, 1.3%); self: 100 usec
+ + +from +
+ +lshift +chess.lua:164 +
Function: lshift [chess.lua:164] (100 usec, 0.3%); self: 0 usec
+ + +lshift +
+ +updateCache +chess.lua:283 +
Function: updateCache [chess.lua:283] (100 usec, 0.3%); self: 100 usec
+ + +updateCache +
+ + +chess.lua:305 +
Function: [chess.lua:305] (200 usec, 0.6%); self: 0 usec
+ + + +
+ +right +chess.lua:101 +
Function: right [chess.lua:101] (1,800 usec, 5.8%); self: 300 usec
+ +right +right +
+ +up +chess.lua:93 +
Function: up [chess.lua:93] (400 usec, 1.3%); self: 200 usec
+ + +up +
+ +left +chess.lua:105 +
Function: left [chess.lua:105] (1,100 usec, 3.5%); self: 100 usec
+ +left +left +
+ +down +chess.lua:97 +
Function: down [chess.lua:97] (300 usec, 1.0%); self: 200 usec
+ + +down +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (1,500 usec, 4.8%); self: 700 usec
+ +from +from +
+ +map +chess.lua:295 +
Function: map [chess.lua:295] (13,000 usec, 41.8%); self: 300 usec
+ +map +map +
+ +index +chess.lua:187 +
Function: index [chess.lua:187] (500 usec, 1.6%); self: 500 usec
+ + +index +
+ +rshift +chess.lua:176 +
Function: rshift [chess.lua:176] (100 usec, 0.3%); self: 100 usec
+ + +rshift +
+ +rshift +chess.lua:176 +
Function: rshift [chess.lua:176] (300 usec, 1.0%); self: 100 usec
+ + +rshift +
+ +inverse +chess.lua:133 +
Function: inverse [chess.lua:133] (400 usec, 1.3%); self: 100 usec
+ + +inverse +
+ +band +chess.lua:125 +
Function: band [chess.lua:125] (200 usec, 0.6%); self: 100 usec
+ + +band +
+ +lshift +chess.lua:164 +
Function: lshift [chess.lua:164] (500 usec, 1.6%); self: 200 usec
+ + +lshift +
+ +band +chess.lua:125 +
Function: band [chess.lua:125] (300 usec, 1.0%); self: 200 usec
+ + +band +
+ +inverse +chess.lua:133 +
Function: inverse [chess.lua:133] (300 usec, 1.0%); self: 0 usec
+ + +inverse +
+ +lshift +chess.lua:164 +
Function: lshift [chess.lua:164] (100 usec, 0.3%); self: 100 usec
+ + +lshift +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (500 usec, 1.6%); self: 300 usec
+ + +from +
+ +set +chess.lua:195 +
Function: set [chess.lua:195] (100 usec, 0.3%); self: 0 usec
+ + +set +
+ +GC +
Function: GC [GC:0] (300 usec, 1.0%); self: 300 usec
+ + +GC +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 0 usec
+ + +from +
+ +isolate +chess.lua:203 +
Function: isolate [chess.lua:203] (200 usec, 0.6%); self: 0 usec
+ + +isolate +
+ +inverse +chess.lua:133 +
Function: inverse [chess.lua:133] (200 usec, 0.6%); self: 200 usec
+ + +inverse +
+ +lshift +chess.lua:164 +
Function: lshift [chess.lua:164] (900 usec, 2.9%); self: 300 usec
+ +ls.. +lshift +
+ +band +chess.lua:125 +
Function: band [chess.lua:125] (400 usec, 1.3%); self: 300 usec
+ + +band +
+ +lshift +chess.lua:164 +
Function: lshift [chess.lua:164] (200 usec, 0.6%); self: 100 usec
+ + +lshift +
+ +rshift +chess.lua:176 +
Function: rshift [chess.lua:176] (400 usec, 1.3%); self: 100 usec
+ + +rshift +
+ +inverse +chess.lua:133 +
Function: inverse [chess.lua:133] (500 usec, 1.6%); self: 0 usec
+ + +inverse +
+ +band +chess.lua:125 +
Function: band [chess.lua:125] (100 usec, 0.3%); self: 0 usec
+ + +band +
+ +rshift +chess.lua:176 +
Function: rshift [chess.lua:176] (100 usec, 0.3%); self: 0 usec
+ + +rshift +
+ +GC +
Function: GC [GC:0] (800 usec, 2.6%); self: 800 usec
+ +GC +GC +
+ +updateCache +chess.lua:283 +
Function: updateCache [chess.lua:283] (3,800 usec, 12.2%); self: 500 usec
+ +updateCache +updateCache +
+ + +chess.lua:305 +
Function: [chess.lua:305] (7,700 usec, 24.8%); self: 300 usec
+ + + +
+ +new +chess.lua:228 +
Function: new [chess.lua:228] (1,200 usec, 3.9%); self: 1,000 usec
+ +new +new +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (200 usec, 0.6%); self: 100 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (300 usec, 1.0%); self: 200 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 0 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (300 usec, 1.0%); self: 200 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 0 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (300 usec, 1.0%); self: 200 usec
+ + +from +
+ +GC +
Function: GC [GC:0] (200 usec, 0.6%); self: 200 usec
+ + +GC +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 0 usec
+ + +from +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +some +chess.lua:207 +
Function: some [chess.lua:207] (100 usec, 0.3%); self: 0 usec
+ + +some +
+ +band +chess.lua:125 +
Function: band [chess.lua:125] (100 usec, 0.3%); self: 0 usec
+ + +band +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (600 usec, 1.9%); self: 200 usec
+ +f.. +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 0 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 100 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (300 usec, 1.0%); self: 100 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (500 usec, 1.6%); self: 100 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 0 usec
+ + +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 0 usec
+ + +from +
+ +bor +chess.lua:129 +
Function: bor [chess.lua:129] (2,900 usec, 9.3%); self: 900 usec
+ +bor +bor +
+ +inverse +chess.lua:133 +
Function: inverse [chess.lua:133] (400 usec, 1.3%); self: 100 usec
+ + +inverse +
+ +isolate +chess.lua:203 +
Function: isolate [chess.lua:203] (7,400 usec, 23.8%); self: 700 usec
+ +isolate +isolate +
+ +GC +
Function: GC [GC:0] (200 usec, 0.6%); self: 200 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +set +chess.lua:195 +
Function: set [chess.lua:195] (100 usec, 0.3%); self: 0 usec
+ + +set +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 0 usec
+ + +from +
+ +GC +
Function: GC [GC:0] (400 usec, 1.3%); self: 400 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (200 usec, 0.6%); self: 200 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (400 usec, 1.3%); self: 400 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (2,000 usec, 6.4%); self: 1,100 usec
+ +from +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (300 usec, 1.0%); self: 0 usec
+ + +from +
+ +some +chess.lua:207 +
Function: some [chess.lua:207] (4,100 usec, 13.2%); self: 1,000 usec
+ +some +some +
+ +band +chess.lua:125 +
Function: band [chess.lua:125] (2,600 usec, 8.4%); self: 900 usec
+ +band +band +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (100 usec, 0.3%); self: 100 usec
+ + +from +
+ +GC +
Function: GC [GC:0] (100 usec, 0.3%); self: 100 usec
+ + +GC +
+ +GC +
Function: GC [GC:0] (900 usec, 2.9%); self: 900 usec
+ +GC +GC +
+ +GC +
Function: GC [GC:0] (300 usec, 1.0%); self: 300 usec
+ + +GC +
+ +set +chess.lua:195 +
Function: set [chess.lua:195] (3,100 usec, 10.0%); self: 1,500 usec
+ +set +set +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (1,700 usec, 5.5%); self: 800 usec
+ +from +from +
+ +from +chess.lua:75 +
Function: from [chess.lua:75] (1,600 usec, 5.1%); self: 1,000 usec
+ +from +from +
+ +GC +
Function: GC [GC:0] (900 usec, 2.9%); self: 900 usec
+ +GC +GC +
+ +GC +
Function: GC [GC:0] (600 usec, 1.9%); self: 600 usec
+ +GC +GC +
+
+
+