-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Update everything #45
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
Conversation
@@ -1,20 +1,27 @@ | |||
# Need $(EMSCRIPTEN), for example run with emmake make | |||
|
|||
EMCC=$(EMSCRIPTEN)/emcc -s RESERVED_FUNCTION_POINTERS=2 -O2 --closure 1 -s ASM_JS=0 | |||
EMSCRIPTEN?=/usr/bin | |||
EMCC=EMCC_FAST_COMPILER=1 $(EMSCRIPTEN)/emcc -s RESERVED_FUNCTION_POINTERS=2 -s ALIASING_FUNCTION_POINTERS=1 -s OUTLINING_LIMIT=100 -O3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In current emscripten, no need for EMCC_FAST_COMPILER=1
(on by default). And ALIASING_FUNCTION_POINTERS=1
is the default so that should not be needed either.
Why is there the outlining limit?
Thanks for submitting this! |
You’re welcome :) |
For what it's worth, this also fixes non-ASCII TEXT values being improperly decoded. |
Compile with a more recent version of emscripten.
…s for firefox to compile the asm.js code.
Should be compatible with some older browser versions.
An outlining limit of 500 is going to be very bad for throughput, check that. |
But even with that, sqlite3_exec doesn't seem to be outlined, and is |
No, just by size right now. Outlining always makes things slower, and is bad for code size too. Perhaps we should ship an outlined and a non-outlined version, so people can choose either fast startup or fast throughout. |
Yes, maybe we should do that. |
I added an outlining benchmark: http://lovasoa.github.io/sql.js/test/outlining/benchmark.html For now, I chose an OUTLINING_LIMIT of 6500. With that, it takes around 3 seconds for Firefox to compile the code. I think the only solution to create the fast startup version, is to not to use the amalgamation of sqlite, but the base source code (http://www.sqlite.org/amalgamation.html). What do you think about it? |
Or maybe we could just ship a non-asmjs version, that wouldn't have the compilation overhead... |
…tlining. Generate a non-asmjs version with even shorter loading times. Performance is now very good in both Firefox and Chrome with the asm.js version. With the non-asm version, firefox can take a few hundred ms to execute complex queries
Do you think it can be merged now? |
@kripken ? |
Factorize code and produce more descriptive errors
Release notes of sqlite itself are here: http://sqlite.org/releaselog/3_8_5.html
Hello ! |
Don't keep track of finalized statements.
Sorry, this keeps dropping off my radar... |
I added you as a collaborator now. Again, sorry - my other emails keep drowning out this one and I miss it. I just don't have the time to focus on this project myself. |
Thanks! |
* Update SQLite to 3.8.5 * Change the API * Add support for prepared statements * Add support for BLOBs * Compile to asm.js * Many other things, see the commits
I updated old code and added new feature.
[{'columns':[], values:[]}]
If you want to merge only some changes, I can make several distinct pull requests.