fix: Fix JavaScript memory/garbage collecting problems by deleted unwanted objects sooner.
In more context, when fetching Hypermind predictions, questions for the AI in 2030 challenge have a really large crowdFcstHist property. I'm seeing if deleting it right after fetching the items for the challenge makes js problems go away.
This commit is contained in:
parent
3c0a01db95
commit
140184cd64
|
@ -68,16 +68,52 @@ async function fetchHypermindDataShowcases(slug, cookie) {
|
||||||
}).then(resp => resp.data[0].items)
|
}).then(resp => resp.data[0].items)
|
||||||
.then(items => items.filter(item => item.type == "IFP"))
|
.then(items => items.filter(item => item.type == "IFP"))
|
||||||
.then(items => items.map(item => item.IFP))
|
.then(items => items.map(item => item.IFP))
|
||||||
|
|
||||||
|
// console.log(response)
|
||||||
|
response.forEach(item => delete item.crowdFcstHist)
|
||||||
return response
|
return response
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Body */
|
/* Body */
|
||||||
async function hypermind_inner(cookie) {
|
async function hypermind_inner(cookie) {
|
||||||
|
|
||||||
|
// Hypermind panelists and competitors; dashboard type two: "showcase"
|
||||||
|
// https://prod.hypermind.com/ngdp/fr/showcase2/showcase.html?sc=SLUG
|
||||||
|
// E.g., https://prod.hypermind.com/ngdp/fr/showcase2/showcase.html?sc=AI2023
|
||||||
|
let slugs2 = [ "AI2030", "Covid19" , "DOSES", "H5N8", "NGDP", "JSAI", "AI2023" ] // []
|
||||||
|
let results2 = []
|
||||||
|
for(let slug of slugs2){
|
||||||
|
console.log(slug)
|
||||||
|
await sleep(1000 + Math.random() * 1000)
|
||||||
|
let response = await fetchHypermindDataShowcases(slug)
|
||||||
|
let objs = response.map(result => {
|
||||||
|
let descriptionraw = result.props.details.split("<hr size=1>")[0]
|
||||||
|
let descriptionprocessed1 = toMarkdown(descriptionraw)
|
||||||
|
let descriptionprocessed2 = descriptionprocessed1.replaceAll("![image] ()", "")
|
||||||
|
let descriptionprocessed3 = descriptionprocessed2.replaceAll(" Forecasting Schedule ", "")
|
||||||
|
let descriptionprocessed4 = descriptionprocessed3.replaceAll("\n", " ").replaceAll(" ", " ")
|
||||||
|
let descriptionprocessed5 = descriptionprocessed4.replaceAll("Context:", "")
|
||||||
|
let description = descriptionprocessed5 || toMarkdown(result.props.details)
|
||||||
|
return ({
|
||||||
|
"title": result.props.title,
|
||||||
|
"url": "https://prod.hypermind.com/ngdp/fr/showcase2/showcase.html?sc="+slug,
|
||||||
|
"platform": "Hypermind",
|
||||||
|
"description": description,
|
||||||
|
"options": [],
|
||||||
|
"qualityindicators": {
|
||||||
|
"stars": calculateStars("Hypermind", ({})),
|
||||||
|
"numforecasters": Number(result.fcsterCnt)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
// console.log(objs)
|
||||||
|
results2.push(...objs)
|
||||||
|
}
|
||||||
|
|
||||||
// Prediction markets; dashboard type one.
|
// Prediction markets; dashboard type one.
|
||||||
// https://predict.hypermind.com/dash/dash/dash.html?list=SLUG
|
// https://predict.hypermind.com/dash/dash/dash.html?list=SLUG
|
||||||
// e.g., https://predict.hypermind.com/dash/dash/dash.html?list=POL
|
// e.g., https://predict.hypermind.com/dash/dash/dash.html?list=POL
|
||||||
let slugs1 = ["USA", "FRA", "AFR", "INT", "COV", "POL", "ECO"]
|
let slugs1 = ["USA", "FRA", "AFR", "INT", "COV", "POL", "ECO"] // []
|
||||||
let results1 = []
|
let results1 = []
|
||||||
|
|
||||||
for (let slug of slugs1) {
|
for (let slug of slugs1) {
|
||||||
|
@ -91,7 +127,7 @@ async function hypermind_inner(cookie) {
|
||||||
let descriptionprocessed3 = descriptionprocessed2.replace("%%en:", "")
|
let descriptionprocessed3 = descriptionprocessed2.replace("%%en:", "")
|
||||||
let descriptionprocessed4 = descriptionprocessed3.replace(`Shares of the correct outcome will be worth 100<sup>ℍ</sup>, while the others will be worthless (0<sup>ℍ</sup>).<p>`, "")
|
let descriptionprocessed4 = descriptionprocessed3.replace(`Shares of the correct outcome will be worth 100<sup>ℍ</sup>, while the others will be worthless (0<sup>ℍ</sup>).<p>`, "")
|
||||||
let descriptionprocessed5 = toMarkdown(descriptionprocessed4)
|
let descriptionprocessed5 = toMarkdown(descriptionprocessed4)
|
||||||
let description = descriptionprocessed5.replaceAll("\n", "")
|
let description = descriptionprocessed5.replaceAll("\n", " ").replaceAll(" ", " ")
|
||||||
//console.log(res.otcms)
|
//console.log(res.otcms)
|
||||||
//let percentage = (res.otcms.length==2) ? Number(res.otcms[0].price).toFixed(0) +"%" : "none"
|
//let percentage = (res.otcms.length==2) ? Number(res.otcms[0].price).toFixed(0) +"%" : "none"
|
||||||
let options = res.otcms.map(option => ({
|
let options = res.otcms.map(option => ({
|
||||||
|
@ -118,38 +154,7 @@ async function hypermind_inner(cookie) {
|
||||||
results1.push(...objs)
|
results1.push(...objs)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hypermind panelists and competitors; dashboard type two: "showcase"
|
|
||||||
// https://prod.hypermind.com/ngdp/fr/showcase2/showcase.html?sc=SLUG
|
|
||||||
// E.g., https://prod.hypermind.com/ngdp/fr/showcase2/showcase.html?sc=AI2023
|
|
||||||
let slugs2 = [ "Covid19" , "DOSES", "H5N8", "NGDP", "JSAI", "AI2023", "AI2030" ]
|
|
||||||
let results2 = []
|
|
||||||
for(let slug of slugs2){
|
|
||||||
console.log(slug)
|
|
||||||
await sleep(1000 + Math.random() * 1000)
|
|
||||||
let response = await fetchHypermindDataShowcases(slug)
|
|
||||||
let objs = response.map(result => {
|
|
||||||
let descriptionraw = result.props.details.split("<hr size=1>")[0]
|
|
||||||
let descriptionprocessed1 = toMarkdown(descriptionraw)
|
|
||||||
let descriptionprocessed2 = descriptionprocessed1.replaceAll("![image] ()", "")
|
|
||||||
let descriptionprocessed3 = descriptionprocessed2.replaceAll(" Forecasting Schedule ", "")
|
|
||||||
let descriptionprocessed4 = descriptionprocessed3.replaceAll("\n", "")
|
|
||||||
let descriptionprocessed5 = descriptionprocessed4.replaceAll("Context:", "")
|
|
||||||
let description = descriptionprocessed5 || toMarkdown(result.props.details)
|
|
||||||
return ({
|
|
||||||
"title": result.props.title,
|
|
||||||
"url": "https://prod.hypermind.com/ngdp/fr/showcase2/showcase.html?sc="+slug,
|
|
||||||
"platform": "Hypermind",
|
|
||||||
"description": description,
|
|
||||||
"options": [],
|
|
||||||
"qualityindicators": {
|
|
||||||
"stars": calculateStars("Hypermind", ({})),
|
|
||||||
"numforecasters": Number(result.fcsterCnt)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
// console.log(objs)
|
|
||||||
results2.push(...objs)
|
|
||||||
}
|
|
||||||
|
|
||||||
let resultsTotal = [...results1, ...results2]
|
let resultsTotal = [...results1, ...results2]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user