Simer

Results 78 issues of Simer

# Overview All [data-types](https://swaydb.io/create-data-types/?language=scala&data-type=map&functions=off&storage=memory) use `BAG[_]` for allowing any effect type to be used by providing a `Bag` implementation (Eg: [`ZIO`](https://github.com/simerplaha/SwayDB/blob/master/x-interop-zio/src/main/scala/swaydb/zio/Bag.scala) or [`Try`](https://github.com/simerplaha/SwayDB/blob/master/effect/src/main/scala/swaydb/Bag.scala#L407)). # Task If there is a cost...

performance

Currently all [data-types](https://swaydb.io/create-data-types/?language=java&data-type=map&functions=off&storage=memory) are high level. A `RawMap` is needed that allows storing raw bytes and has no extra layers being the closest to `Core`. Useful for benchmarking and comparison.

feature

A `Stream` allows [iteration](https://swaydb.io/api/stream/?language=java) `from`, `before`, `after`, `fromOrBefore` or `fromOrAfter ` a key. For example: ```java Stream stream = map .from(100) .map(KeyVal::value); ``` If an ending hint is provided the...

performance

Accessing `Slice` from Java requires input `ByteOps` for each API call which is repetitive and no fun. ```java Slice .ofBytesJava(50) .addInt(data.getInteger(), ByteOps.Java()) .addLong(data.getLongVal(), ByteOps.Java()) .addStringUTF8(data.getString(), ByteOps.Java()) .close(); ``` See [example](https://swaydb.io/serialising-data/?language=java)....

java
usability

## Overview IO concurrency can be configured via [IOStrategy](https://swaydb.io/configuration/ioStrategy/?language=java) for each block & file. This `IOStrategy` is used when opening, decompressing and caching a file or blocks within the file....

performance

To clear expired key-values compaction invokes `refresh` on the Segment. Refresh only needs to occurs on Segment blocks which contain expired key-values all other blocks can be transferred directly to...

performance

All `ByteOps` functions' performance can be improved by validate enough space only ones before invoking `get` and `add` functions on `Slice` or `Reader`. The same applies for Core serialisers. Like...

performance

No boxing currently occurs for `Slice` types based on what I see on heap. But it should still be marked `specialized` (`@specialized(Byte)`) for `Byte`

performance