Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
@graphy/core.class.writable
Advanced tools
#@graphy/core.class.writable In order to help keep this package's documentation up-to-date, README files are not published with the npm package.
v4.2.0 (2020-04-20)
This update adds experimental multithreaded reading for N-Triples and N-Quads, called 'Scanners': @graphy/content.nt.scan
and @graphy/content.nq.scan
. These are deserializers that take a single input stream and read it across multiple workers in parallel, allowing users to take advantage of multiprocessor systems.
@graphy/content.nt.scan
and@graphy/content.nq.scan
are experimental; they have limited test case coverage in node.js and have not been tested in the browser.
How it works:
The main thread populates sections of a preallocated SharedArrayBuffer
with chunks copied from the input stream data and allows workers to claim each slot on a first-come-first-serve basis (synchronized using Atomics
). For each chunk of input data, the main thread handles reading the leading and trailing fragments that belong to RDF statements spanning across chunk boundaries. Communication about data exchange is done mostly through unidirectional byte indicators on SharedArrayBuffer
, with occassional help and synchronization from Atomics
when necessary. Error handling and gathering of results is done using message passing, i.e., postMessage
, which accepts transferable objects when passing large amounts of data.
How its used:
Similar to map/reduce, you must provide some code that will be run on each thread to create the reader instance and send updates or submit the final result(s) back to the main thread. Set the .run
property on the config object passed to the constructor, it will be eval
'd on both the main thread and each of the workers (eval
is necessary to allow access to global context, such as require
, while providing consistent behavior across node.js and browser). Tasks are therefore intended only for running trusted code. See scan verb documentation for more information.
FAQs
Serialize RDF conveniently and with style
The npm package @graphy/core.class.writable receives a total of 1,962 weekly downloads. As such, @graphy/core.class.writable popularity was classified as popular.
We found that @graphy/core.class.writable demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.