Comments (1)
Yes, you can do that with the current API. If you want to use the basic SChunk API, you can build a large container having default values with blosc2_schunk_fill_special(). This does not consume storage resources, but rather uses a special storage mechanism, so it can be as large as you want. Then, you can use blosc2_schunk_set_slice_buffer() for setting actual values. For reading, you can use the blosc2_schunk_get_slice_buffer() counterpart.
Alternatively, you may want to use the higher level Blosc2 NDim API; for example, use b2nd_empty() to create a big (empty) array, and then b2nd_set_slice_cbuffer() and b2nd_get_slice_cbuffer() for writing and reading respectively. These are the equivalents of the SChunk calls above, but for NDim containers, so internally they work the same.
Finally, you don't necessarily need to use the sparse format for using the APIs above, but it is true that for writing concurrently, the sparse format is more convenient. Mind that you will have to provide all the locking mechanism (if needed) by yourself, as Blosc2 does not provide protections for concurrent processes writing the same file.
Hope this helps.
from c-blosc2.
Related Issues (20)
- Does b2nd_to_cbuffer swap bytes? HOT 1
- CMake failure when trying to use system zlib-ng: ZLIB_NG::ZLIB_NG target not found HOT 5
- Build Error with Intel OneAPI Compilers: bytedelta/bytedelta.c HOT 2
- Incorrect testing of strtol failure modes HOT 2
- Signed down cast negates usefulness of preceding bounds check
- Feature Request: WASM Build Target for c-blosc2 HOT 2
- Error in ndlz8_decompress: memset Receiving Negative Size Value HOT 2
- Public b2nd.h includes blosc-private.h, which is not installed by CMake HOT 2
- SOVERSION bump HOT 3
- Release package has a different checksum from 3 weeks ago HOT 4
- Invalid instruction at 0x7f89795d34c4 in shuffle HOT 3
- The vulnerability is a memory leak bug located at line 565 of the file /c-blosc2/blosc/schunk.c HOT 1
- Altivec option is misleading, it should be VSX; also, why only ppc64le, but not ppc64 (for supported CPUs)? HOT 8
- `LICENSES/FASTLZ.txt` HOT 2
- ImportError: libblosc2.so.2: cannot open shared object file: No such file or directory HOT 1
- Feature Request: Opt ouf of `blosc_get_cpu_features` HOT 3
- Implicit declaration of function βmallocβ on on ppc64el HOT 1
- Failure compiling on windows with Intel OneAPI HOT 2
- blosc2_schunk_open_udio calls stat
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from c-blosc2.