Example #1
0
    return get(`https://projecteuler.net/problem=${n}`).then(data => {
        let getTime = parseInt(marky.stop(getMarker).duration);
        console.log(`${n} | GET | ${getTime}ms`);

        marky.mark(parseMarker);

        let $ = cheerio.load(data);

        let title = $('h2', '#content').html();

        let content = $('.problem_content');

        let paragraphs = Array.from($('p', content))
            .map(paragraph => {
                return $(paragraph).html()
                    .replace(' (right click and 'Save Link/Target As...')', '')
                    .replace('×', 'x');
            });
        // console.log(paragraphs);
        // TODO: prob 32, note div
        // TODO: convert <ol> & <ul>
        // TODO: convert notes

        // {
        //     let _paragraphs = paragraphs;
        //     for(let i = 0; i < _paragraphs.length; i++) {
        //         _paragraphs.push(_paragraphs[i].html() + '\n\n');
        //     }
        //     paragraphs = _paragraphs;
        // }
        // console.log(paragraphs);

        // content = content.html();

        let links = $('a', '.problem_content');
        let files = [];

        for(let i = 0; i < links.length; i++) {
            if(!links[i].attribs || !links[i].attribs.href) continue;
            files.push(links[i].attribs.href)
        }

        let parseTime = parseInt(marky.stop(parseMarker).duration);
        console.log(`${n} | Parse | ${parseTime}ms`);

        return {
            title,
            paragraphs,
            files,
        };
    });
Example #2
0
const measure = (name, fn) => {
  marky.mark(name)
  fn()
  const performanceMeasure = marky.stop(name)
  return performanceMeasure.duration
}
Example #3
0
 testFn(() => {
   const entry = marky.stop(options.name + n)
   stats[options.name].push(entry.duration)
   cb()
 })