GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||
GeezerVison is showing github.com — simplify dist by merging sql-asm-memory-growth.js into sql-asm.js by kaizhu256 · Pull Request #431 · sql-js/sql.js Conversation
Member
Co-authored-by: Yan Li [email protected] this implements suggestion #239 (comment) removed or edited all references to memory-growth using command
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
Co-authored-by: Yan Li <[email protected]> Co-authored-by: kai zhu <[email protected]>
Member
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
|
There was an error while loading. Please reload this page.
|
good question. the following benchmark indicates asm2 is 1-6% slower running queries on a 60mb database: you can emulate above result in following steps:
copy all tables in 60mb database-- create database-schema CREATE TABLE `employeelist2` ( `eid` integer NOT NULL PRIMARY KEY AUTOINCREMENT , `firstName` varchar(31) NOT NULL DEFAULT '' , `lastName` varchar(31) NOT NULL DEFAULT '' , `Email_id` varchar(31) NOT NULL DEFAULT '' , `Email2` varchar(31) DEFAULT NULL , `Email3` varchar(31) DEFAULT NULL , `EMail4` varchar(31) DEFAULT NULL , `folder` varchar(31) NOT NULL DEFAULT '' , `status` varchar(50) DEFAULT NULL , UNIQUE (`Email_id`) ); CREATE TABLE `message2` ( `mid` integer NOT NULL DEFAULT '0' , `sender` varchar(127) NOT NULL DEFAULT '' , `date` datetime DEFAULT NULL , `message_id` varchar(127) DEFAULT NULL -- , `subject` text -- , `body` text , `folder` varchar(127) NOT NULL DEFAULT '' , PRIMARY KEY (`mid`) ); CREATE TABLE `recipientinfo2` ( `rid` integer NOT NULL DEFAULT '0' , `mid` integer NOT NULL DEFAULT '0' , `rtype` text DEFAULT NULL , `rvalue` varchar(127) DEFAULT NULL , `dater` datetime DEFAULT NULL , PRIMARY KEY (`rid`) , FOREIGN KEY (mid) REFERENCES message2(mid) ); CREATE TABLE `referenceinfo2` ( `rfid` integer NOT NULL DEFAULT '0' , `mid` integer NOT NULL DEFAULT '0' , `reference` text , PRIMARY KEY (`rfid`) , FOREIGN KEY (mid) REFERENCES message2(mid) ); CREATE INDEX "idx_message_sender2" ON "message2" (`sender`); CREATE VIRTUAL TABLE messages_ft2 USING fts4(subject, body); -- insert tables -- employeelist2 -- message2 -- recipientinfo2 -- referenceinfo2 -- message_ft SELECT 'employeelist', COUNT(*) FROM employeelist; SELECT 'message', COUNT(*) FROM message; SELECT 'recipientinfo', COUNT(*) FROM recipientinfo; SELECT 'referenceinfo', COUNT(*) FROM referenceinfo; SELECT 'messages_ft', COUNT(*) FROM messages_ft; INSERT INTO message2 SELECT * FROM ( SELECT message.mid, message.sender, message.date, message.message_id, -- message.subject, -- message.body, message.folder FROM ( SELECT DISTINCT message.mid FROM message INNER JOIN recipientinfo ON recipientinfo.mid = message.mid INNER JOIN referenceinfo ON referenceinfo.mid = message.mid ) AS tmp1 INNER JOIN message ON message.mid = tmp1.mid ORDER BY tmp1.mid LIMIT 10000 ) AS tmp1; INSERT INTO employeelist2 SELECT * FROM employeelist; INSERT INTO recipientinfo2 SELECT tmp1.rid, tmp1.mid, tmp1.rtype, tmp1.rvalue, tmp1.dater FROM message2 LEFT JOIN recipientinfo AS tmp1 ON tmp1.mid = message2.mid ORDER BY tmp1.rid; INSERT INTO referenceinfo2 SELECT tmp1.rfid, tmp1.mid, tmp1.reference FROM message2 LEFT JOIN referenceinfo AS tmp1 ON tmp1.mid = message2.mid ORDER BY tmp1.rfid; INSERT INTO messages_ft2 ( rowid, subject, body ) SELECT tmp1.rowid, tmp1.subject, tmp1.body FROM message2 INNER JOIN messages_ft AS tmp1 ON tmp1.rowid = message2.mid ORDER BY tmp1.rowid; VACUUM; SELECT 'employeelist2', COUNT(*) FROM employeelist2; SELECT 'message2', COUNT(*) FROM message2; SELECT 'recipientinfo2', COUNT(*) FROM recipientinfo2; SELECT 'referenceinfo2', COUNT(*) FROM referenceinfo2; SELECT 'messages_ft2', COUNT(*) FROM messages_ft2; --*/ fts-query with joinsSELECT * FROM messages_ft2 INNER JOIN recipientinfo2 ON recipientinfo2.mid = messages_ft2.rowid INNER JOIN referenceinfo2 ON referenceinfo2.mid = messages_ft2.rowid WHERE body MATCH 'energy NEAR oil'; |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
also the difference in size is < 1%: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
If we want to be able to merge this without breaking backwards compatibility, we can first add On the next major version bump, we can delete the memory growth version. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…includes memory-growth and ie11 support.
|
k. would updated patch with following be ok? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…ow essentially a copy of sql-asm.js
|
latest-patch removes redundant npm-tests on this simplifies sunsetting --- a/Makefile +++ b/Makefile @@ -101,9 +101,6 @@ dist/sql-wasm.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) $(SOURCE_API_FILES) $ mv $@ out/tmp-raw.js cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@ rm out/tmp-raw.js - # TODO - remove code below in future releases to sunset sql-asm-memory-growth.js - printf 'console.error(\n "\\n\\nDEPRECATION WARNING.\\n"\n + "sql-asm-memory-growth.js will be removed in future releases.\\n"\n + "Use sql-asm.js instead, which now includes memory-growth support.\\n\\n"\n);\n' > dist/sql-asm-memory-growth.js - cat $@ >> dist/sql-asm-memory-growth.js # Web worker API .PHONY: worker if you still want npm-tests on |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.