A Java parser/writer for the ETF format.
This api aims to provide a set of high-speed abstractions for ETF.Additionally, it supports multiple subsets of ETF: standard ETF, BERT-rpcand Hammer & Chisel's (Discord's) Loqui.
TODO
While this project attempts to be as well optimized as possible, the JVMcreates a limit to how fast this can be just due to how it manages memory.
Performance can be improved via JNI or usage of theUnsafe classbut these have issues which has kept me using pure java.
Regarding JNI: I do not know enough C/C++ to properly optimize and therewould still be a cost for interfacing natives with java (meaning that forsmaller ETF data there won't be much of a benefit).
RegardingUnsafe: Unsafe isunsafe. Meaning it is not guaranteed towork across java versions and jvm implementations. So despite itssignificant performance benefits, it's impossible to be sure that it willalways work how I expect it to.
Due to java not implementing proper primitive unsigned data types, I havebeen forced to use much larger data types than should be necessary toprevent potential underflows (ex.long instead ofint orBigIntegerinstead oflong). This causes some strange internal data type handlingand some slight overhead.