Announcement

Collapse
No announcement yet.

Any alternative for "thirdparty/cpp/crc"?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Any alternative for "thirdparty/cpp/crc"?

    Hi,

    I am trying to port VoltDB to a non-intel platform and have so far succeeded in doing so with the exception of "crc" module. For time-being I bypassed "crc" module in "build.py" and could get VoltDB built. However I see a strong dependency of the code on "crc" module for logging and writing database.

    Unfortunately, the MIT "crc" code which is being used by VoltDB is highly intel specific. To port it to other platform mean as good as writing it from scratch on the other platform. So, is it possible to replace it with more portable option (e.g. http://www.libcrc.org/)? And I suppose this will also required re-writing the JNI code as well.

    Any comments, directions on how to proceed on this issue?

    Thanks,
    Atul.
    Last edited by sowani; 01-16-2017, 05:05 AM. Reason: Solved.

  • #2
    One more suggestion: There is a software solution provided by Mark Adler at http://stackoverflow.com/questions/1...2c-in-software
    From what I can see and understand, the hardware only solution used in crc32c.cc file is similar to this code. Can such solution be used instead of hardware-only solution?

    Comment


    • #3
      For time-being I have disabled hardware-based crc calculations by commenting out relevant code and forcing the execution of crc32cSlicingBy8(). If this works, I guess it will have some impact on the performance, but right now I am aiming to get VoltDB built and running in it's entirety. Will post my results once done with testing.

      Comment


      • #4
        This worked for me. Out of 60 unit tests, I am seeing 6 failures now.

        Comment

        Working...
        X