-
Notifications
You must be signed in to change notification settings - Fork 17
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
Cannot correctly compress unsigned 64 bit integers #3
Comments
Hello again @ldhulipala, I tried to debug my code and to see where the things go wrong. However, I still cannot figure out why is this happening. I sort the values, remove duplicates and make sure that all are unique before inserting them (just like the paper says). This is my latest example:
After plus is generated (correctly) the head and compression tree is not working. Either I am doing something wrong or there is a bug in the compression itself (reader/writer). This happens when I enable |
@ldhulipala Could you please kindly reply to our super important question, which is related to our project that utilizes Aspen? We really necessitate running Aspen with 64-bit integers inside the C-trees. It would be really great and I would appreciate it if you could think of some potential causes of this issue such as problematic scenarios where the different encoding scheme that you couple with the variable-byte codes is not functioning properly for 64-bit numbers (btw for 32-bit numbers the same code operates smoothly) I am waiting for your reply as an expert and creator of the Aspen system. Thanks in advance! :) Best, |
Hi Makis, Just FYI, we are working on a new release of Aspen which will fix this issue. The ETA is to make this available in this repo in mid-June (it is impossible to do it earlier due to a number of other commitments and deadlines in May and early June). Thanks for your patience, |
Hi @ldhulipala, Thanks a lot for your reply. It is really nice that you intend to release a new version of Aspen. I really believe C-trees are very impactful man. It would be really great if you plan to support even bigints in Aspen such as
It would be really super if you could support this in your release as I am working with really huge integers. I am aware of an unofficial extension of Microsoft's compiler but I am not sure this workaround with work smoothly. (https://stackoverflow.com/questions/16088282/is-there-a-128-bit-integer-in-gcc) I definitely understand that you are a super busy man (I have checked your awesome publication record :-) and I am convinced about that haha). I am really looking forward to your release! Best and thanks, |
Hello again @ldhulipala We spent some time trying to make the compression work for 64-bit numbers. We noticed that in
and changed the rest of the file accordingly. The first results show that this works, however, I would like to know if there is anything else that we need to change in order to produce 64-bit number compression. This is really important for us since we have deadlines soon and we would be grateful if you could help us (and sorry to bother you again with this). Thanks in advance! |
Hello @ldhulipala, We know your schedule is full until the end of May. It would be awesome if you find our fixes correct and proper (since you know the codebase better than us) to confirm it is correct. To the best of our knowledge, C-trees are now populated properly now with 64-bit integers as well. If I may remind you, Aspen fans i.e., us for sure :), would like to see Aspen v2 support bigints like 128-bit integers if you can plug in multiprecision boost lib relatively easy to your system. We are waiting to use Aspen v2 man! Best, |
Hello @ldhulipala,
I am trying to insert the following sequence of elements into a C-Tree (source node 190):
In general, I need 64 bit integers to store my numbers. I enabled the
VERTEXLONG
flag, thus turninguintV
intounsigned long
integers. However, when I print the content of a C-Tree (for source 190) I get the following:After diving deeper into the code I noticed that first 38 elements are stored in a plus of a tree while other elements are stored in only head of this tree and its corresponding list. For picking heads I am using 255 mask, meaning that all lists should have approx. 256 elements. As far as I can see, compression fails in this case for some reason, and the value is wrongly decoded.
Could you please point me to changes that I need to introduce in order to properly compress unsigned 64 bit numbers? Thanks in advance!
The text was updated successfully, but these errors were encountered: