frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: ChaosTree – A zero-dependency Java tree library (AVL,RBT,B-Tree,B+Tree)

https://github.com/Chaos-vy/ChaosTree
2•chaos_vy•2h ago
What is ChaosTree?

ChaosTree is a zero-dependency Java Sorted Set/Map library built around multiple tree implementations.

It provides implementations of: - AVL Tree - Red-Black Tree - B-Tree - B+Tree

I have not made my custom API as it implements NavigableSet, NavigableMap, SequencedSet and SequencedMap. My Custome API are: - buildFromSorted(Iterator> it, float factor) - importFlatMatrix(Object[][] blast, float factor) - Object[][] exportFlatMatrix()

I started ChaosTree because I wanted to explore how far I could learn DS structure, It started as frst release of 7 tree of Set type with Custome API, As i got engrossed into it I moved to Map, During phase of switching from Set to Map there was drastic change and knowledge upgrade where I pushed my Tree limit from jdk11+ support to jdk21+ where paid close attention to dependency-free and memory layout, allocation,JVM behavior, and real-world performance.

Some of the things I experimented with: - Different node layouts and metadata footprints - CRTP/F-bounded polymorphism for tree implementations - Parent-pointer vs parentless nodes - Array-based N-ary tree nodes - B-Tree/B+Tree degree selection - JMH benchmarking and JFR profiling - Differential/randomized testing against java.util.TreeMap/TreeSet

After this rough and tough It also passes these test:

-Guava Testlib compatibility testing -jqwik property-based testing -Randomized differential testing against reference collections -White-box structural validation of tree nodes -Direct validation of B-Tree/B+Tree structural invariants -Exception and iterator-contract testing -Serialization and cloning tests -Nary Tree uses custom jqwick test of API validation as well.

Tail latency behavior is not shown here because it get's truncated into a simple text which made the dat read wrong:https://chaos-vy.github.io/ChaosTree/utils/JMH-Report.html I have also ran benchmark with official JDK TreeMapUpdate to my N-ary tree.

GitHub: https://github.com/Chaos-vy/ChaosTree https://chaos-vy.github.io/ChaosTree/

I'd especially like feedback on the API design, implementation choices, benchmark methodology. I am currently trying to truncate useless and complex branches for performnace tuning.

Comments

MiroslavPokorny•1h ago
Does this really need to be JDK 21 ?

I personally require libs that are JDK 11.

chaos_vy•1h ago
It uses sealed classes, JDK21 SequencedSet and SequencedMap implementation, Math.clamp(), and get benifit from modern JIT optimization.
MiroslavPokorny•15m ago
That not much to jump all the way to jdk21.

Math.clamp is literally 2 / 3 lines.

Show HN: Kinesis – Control your Mac with the Meta Neural Band

https://github.com/callbacked/kinesis
2•callbacked•6m ago•0 comments

Show HN: 1080p is 920px tall – 1k real browser viewports

https://screensize.net/reports/viewport-stats
27•zenpe•4h ago•17 comments

Show HN: PGSkiff – Connect IPv4 Clients to IPv6-Only Postgres

https://pgskiff.com
2•hauleth•39m ago•0 comments

Show HN: StemJSON – a language for LLMs to extend native mobile apps on the fly

https://stemjson.com/
2•vkrychun•41m ago•0 comments

Show HN: Candle

https://peterburk.github.io/candle.html
2•peterburkimsher•1h ago•0 comments

Show HN: ChaosTree – A zero-dependency Java tree library (AVL,RBT,B-Tree,B+Tree)

https://github.com/Chaos-vy/ChaosTree
2•chaos_vy•2h ago•4 comments

Show HN: EterDB, a Postgres fork that makes it easy to recover from incidents

https://eterdb.com/
43•fdeth•3d ago•19 comments

Show HN: Crypto portfolio risk and scenario analysis with AI agents on top

https://sentralis.io/
3•Sentralis•2h ago•2 comments

Show HN: I made a flight simulator, except you're just a passenger

https://inflightsimulator.com
7•rkotcher•2h ago•4 comments

Show HN: Exploring the intersection of prediction markets and social media

https://www.thevidmarket.com/
13•ryanpere2298•10h ago•1 comments

Show HN: A web based 4-channel Music Tracker

https://johnoestmannmusic.com/1000-SOS/0007/
5•soundworlds•3h ago•1 comments

Show HN: What Just Pinged Me?

https://whatjustpingedme.com
12•furyofantares•14h ago•0 comments

Show HN: Dep-radius, know which dependency updates touch your code

https://www.npmjs.com/package/dep-radius
5•imadjourney•13h ago•0 comments

Show HN: Dllog – Replay debug logs when an operation fails

https://github.com/arhuman/dllog
4•doolta•9h ago•0 comments

Show HN: I was frustrated with AI giving confident answer,Even when it was wrong

https://demo.aqqai.in
2•Vineetyadav2•7h ago•3 comments

Show HN: I made an automated day-by-day itinerary organizer for my trip to Spain

https://petrelvoyage.com/app
12•desktopentree•14h ago•4 comments

Show HN: Agent Avatar Generator

https://botbin.io/2fu56d
2•obilgic•8h ago•0 comments

Show HN: Bodily Oddities

https://vester.si/bodily-oddities/
336•vesterde•3d ago•212 comments

Show HN: Kairo – Fail-closed LLM inference routing from RTX 5090 measurements

https://github.com/peter941221/Kairo
4•peter941221•9h ago•0 comments

Show HN: Bipluk, Open-source browser Web MIDI librarian for vintage synthesizers

https://github.com/maxcomperatore/bipluk.com
2•halfradaition•9h ago•0 comments

Show HN: I made a tiny MoE/Engram viz tool

https://sw-ml-study.github.io/moe-microscope/
2•softwarewright•10h ago•0 comments

Show HN: SF Title Alert

https://sftitlealert.com
5•arkadiyt•14h ago•0 comments

Show HN: Vehla – the AI command center for macOS

https://vehla.app/
5•ibuhs69•15h ago•0 comments

Show HN: Spikeforge

https://spikeforge.net/
3•a0174•12h ago•0 comments

Show HN: ResolveHQ – A Helpdesk Built on Cloudflare Workers, D1, R2 and Queues

https://github.com/mirza-rizvi/ResolveHQ
72•mirza_rizvi•2d ago•25 comments

Show HN: <15MB Local-first Interactive LaTeX Scratchpad in the Browser

https://telox.dev/app/scratchpad/
3•eigenblake•12h ago•0 comments

Show HN: Demorta – Create interactive demos. Don't just describe your product

https://demorta.com/
2•zcchriti•12h ago•2 comments

Show HN: Everything a web page can learn about you, in plain English

https://sessioncontext.org
18•oddurs•1d ago•9 comments

Show HN: Swobu – Local LLM Switchboard You Can Share over HTTPS

https://github.com/swobuforge/swobu
2•metrofun•13h ago•1 comments

Show HN: Godot and Rust based multiplexer (terminal panes and more)

https://github.com/godot-pty/gpty
96•1nv1n•2d ago•49 comments