Opened on 04/14/2017 at 07:08:24 AM
Closed on 08/29/2019 at 05:43:52 PM
Last modified on 10/08/2019 at 05:52:20 PM
#5138 closed change (rejected)
[emscripten] Convert serializing patterns.ini to C++
Reported by: | trev | Assignee: | sergz |
---|---|---|---|
Priority: | P2 | Milestone: | |
Module: | Core | Keywords: | closed-in-favor-of-gitlab |
Cc: | Blocked By: | #5137 | |
Blocking: | #4122 | Platform: | Unknown / Cross platform |
Ready: | yes | Confidential: | no |
Tester: | Unknown | Verified working: | no |
Review URL(s): |
Description (last modified by trev)
Background
See #4122 for the rationale. We should serialize patterns.ini in C++ for better performance.
What to change
Create compiled/storage/serializer.cpp providing a Serializer class (should be exposed to JavaScript as _FilterStorage_Serializer). The parser should allocate a 64kB (?) buffer, with the pointer to the buffer being returned by its buffer property. FilterStorage.exportData (JavaScript, located in lib/filterStorage.js) should create a serializer instance and call Serializer.continue() until it returns 0 (no more data). Serializer.continue() should write output lines into the buffer (followed by newline character) until there is no more space and return the number of characters written. FilterStorage.exportData should then extract the lines and yield them.
Notes
- The Serializer class should make a copy of the current subscriptions list when created, to avoid bogus output if something changes during export.
- Methods FilterStorage.saveToDisk() and FilterStorage.getBackupFiles() can stay in JavaScript, without any changes.
Attachments (0)
Change History (6)
comment:2 Changed on 04/14/2017 at 07:11:35 AM by trev
- Blocked By 5137 added
- Blocking 4122 added
- Description modified (diff)
comment:3 Changed on 04/14/2017 at 08:06:24 PM by trev
- Owner trev deleted
comment:4 Changed on 09/13/2017 at 06:53:49 PM by sergz
- Owner set to sergz
comment:5 Changed on 08/29/2019 at 09:57:25 AM by nps1337
comment:6 Changed on 08/29/2019 at 05:43:52 PM by sebastian
- Keywords closed-in-favor-of-gitlab added
- Resolution set to rejected
- Status changed from new to closed
Sorry, but we switched to GitLab. If this issue is still relevant, please file it again in the new issue tracker.
spam