-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add ability to define the size of the database in the constructor #298
base: master
Are you sure you want to change the base?
Conversation
@lovasoa could you pay attention to this change please? This is not just optimization. Thank you! |
The structure of this repo makes it very difficult to review changes. I am currently not merging pull requests by lack of time. One thing to do that would make it much easier to make changes is to handle compilation to JS by a continuous integration tool, and maybe use a more popular language such as JS of TypeScript. |
What if I removed the compiled files from pull request and you compiled them yourself or left the compilation to prepublish command? |
@lovasoa OK, I totally agree. Internet is dangerous place. To be sure there are no malware in minified JS: May I ask you to take diff from |
The fact is we also are tremble because it's hard to understand that |
What would both reduce the maintenance burden (which is the biggest problem here) and improve security is having a continuous integration service bundling the files. |
@kripken : maybe you can activate GitHub actions for this repo? https://github.com/features/actions |
@lovasoa all I see is a way to request being added to the beta - is there something else? I did that now. |
No, nothing else. Once you are added to the beta, we can add a yaml file in |
I got an email that I am in the beta, so maybe it can work now... |
Thank you Alon. I created a github workflow that compiles the code, tests it, and uploads the resulting artifacts: https://github.com/kripken/sql.js/actions |
When we have to work with big data, the ability to predefine the size of a new database can significantly speed up script execution time, because multiple calls to MEMF.expandFileStorage is way less efficient than one "bigger" call to it.
JavaScript profile of merging 7 databases (each of size ~15 MB) into one, without expanding the final db file first
![Screen Shot 2019-10-03 at 10 51 31 AM](https://user-images.githubusercontent.com/30409308/66110084-b4bfc080-e5ce-11e9-8d92-abb3f604ba60.png)
The same operation but with expanding the final database to the size of (sum of 7 databases' sizes)
![Screen Shot 2019-10-03 at 10 52 01 AM](https://user-images.githubusercontent.com/30409308/66110165-e8024f80-e5ce-11e9-96c2-7b859fe38159.png)