Skip to content

perf: database.save is become slower than before #3758

@dailyrandomphoto

Description

@dailyrandomphoto

Check List

Please check followings before submitting a new issue.

  • I have already read Docs page & Troubleshooting page
  • I have already searched existing issues and they are not help to me
  • I examined error or warning messages and it's difficult to solve
  • Node.js is higher than 6.9

Expected behavior

When I generate hexojs/site project on my local, I found it takes a long time than before.
With --debug option, it shows that database.save takes a lot of time.

Actual behavior

With hexo@3.9.0, saving the database takes about 2 seconds, but with latest version of hexo, saving the database takes about 1 minute on Travis CI, and 4 minutes on my local VM.

How to reproduce?

git clone https://github.com/hexojs/site.git
cd site
npm install
npm run build --debug

Environment & Settings

I've compared the speed of generating works with different versions. I found from this commit it becomes slow.
It relates to

Test name hexo version Elapsed time of database.save Build log on Travis Repo Link
test1 3.9.0 2s link link
test2 Merge pull request #3675 from curbengh/external-link 2s link link
test3 chore(deps): update warehouse requirement from ^2.2.0 to ^3.0.0 (#3736) 57s link link
test4 latest version perf(cache): improve cache and reduce Memory Usages (#3756) 63s link link

Node.js & npm version

$ node --version
v10.16.3
$ npm --version
6.9.0

Your package.json package.json

test1

"hexo": "^3.9.0",

test2

"hexo": "github:hexojs/hexo#6142b843376b54f88229dd580a4e23add71ed1b3",

test3

"hexo": "github:hexojs/hexo#bc7740f5637d109bbd64d65314e2959bc491a7ed",

test4

"hexo": "github:hexojs/hexo#6f6084cb4d5772061aa45703b258634a0db13cee",

Others

test1
site - Travis CI 2019-10-11 00-40-35

test2
2019101102

test3
2019101103

test4
2019101104

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions