More firefox import fixes (#128)
This commit is contained in:
1
sample/programs/javascript/recursion.html
Normal file
1
sample/programs/javascript/recursion.html
Normal file
@@ -0,0 +1 @@
|
||||
<script src="./recursion.js"></script>
|
||||
41
sample/programs/javascript/recursion.js
Normal file
41
sample/programs/javascript/recursion.js
Normal file
@@ -0,0 +1,41 @@
|
||||
function alpha(depth) {
|
||||
if (depth > 15 * Math.random()) {
|
||||
return
|
||||
}
|
||||
beta(depth + 1)
|
||||
delta()
|
||||
gamma()
|
||||
}
|
||||
|
||||
function beta(depth) {
|
||||
alpha(depth + 1)
|
||||
for (let i = 0; i < 10; i++) {
|
||||
gamma()
|
||||
}
|
||||
}
|
||||
|
||||
function delta() {
|
||||
for (let i = 0; i < 10; i++) {
|
||||
gamma()
|
||||
}
|
||||
}
|
||||
|
||||
function gamma() {
|
||||
let prod = 1
|
||||
for (let i = 1; i < 1000; i++) {
|
||||
prod *= i
|
||||
}
|
||||
return prod
|
||||
}
|
||||
|
||||
function main() {
|
||||
for (let i = 0; i < 100; i++) {
|
||||
alpha(0)
|
||||
}
|
||||
}
|
||||
|
||||
console.profile('recursion')
|
||||
main()
|
||||
setTimeout(() => {
|
||||
console.profileEnd('recursion')
|
||||
}, 0)
|
||||
@@ -1,23 +1,23 @@
|
||||
function a() {
|
||||
function alpha() {
|
||||
for (let i = 0; i < 1000; i++) {
|
||||
b()
|
||||
c()
|
||||
beta()
|
||||
delta()
|
||||
}
|
||||
}
|
||||
|
||||
function b() {
|
||||
function beta() {
|
||||
for (let i = 0; i < 10; i++) {
|
||||
d()
|
||||
gamma()
|
||||
}
|
||||
}
|
||||
|
||||
function c() {
|
||||
function delta() {
|
||||
for (let i = 0; i < 10; i++) {
|
||||
d()
|
||||
gamma()
|
||||
}
|
||||
}
|
||||
|
||||
function d() {
|
||||
function gamma() {
|
||||
let prod = 1
|
||||
for (let i = 1; i < 1000; i++) {
|
||||
prod *= i
|
||||
@@ -25,10 +25,8 @@ function d() {
|
||||
return prod
|
||||
}
|
||||
|
||||
console.profile('a')
|
||||
a()
|
||||
console.profile('simple')
|
||||
alpha()
|
||||
setTimeout(() => {
|
||||
console.profileEnd('a')
|
||||
console.profileEnd('simple')
|
||||
}, 0)
|
||||
|
||||
window.addEventListener('click', a)
|
||||
|
||||
Reference in New Issue
Block a user