Skip to content
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

chore(cairo): virtual memory refactoring #1208

Merged
merged 45 commits into from
Jul 28, 2021
Merged

Conversation

bluestreak01
Copy link
Member

  • new contiguous read-write memory class
  • bitmap index writer uses contiguous memory

ideoma
ideoma previously approved these changes Jul 27, 2021
Copy link
Collaborator

@ideoma ideoma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd name interfaced / clases in reverse patter:
MemoryXYZ
also ReadMemory, WriteMemory to reduce to R
MemoryR, MemoryW

This way when you type Memory| you're autosuggested all R,W,A,C,P,M combinations

Also I'd move creation of this to single factory class to have single interface creating memories, say

class Memory {
static MemorRWC createRWC() {...}
...
}

and put the description of what is the meaning of R,W,..C letter in the Memory class comments.

All this is minor, nice to have imho things

@ideoma
Copy link
Collaborator

ideoma commented Jul 28, 2021

[PR Coverage check]

😍 pass : 1202 / 1323 (90.85%)

file detail

path covered line new line coverage
🔵 io/questdb/cairo/MetadataMigration400.java 0 20 00.00%
🔵 io/questdb/cairo/MetadataMigration404.java 0 21 00.00%
🔵 io/questdb/cairo/vm/api/MemoryCM.java 0 1 00.00%
🔵 io/questdb/cairo/MetadataMigration350.java 0 4 00.00%
🔵 io/questdb/cairo/NullColumn.java 4 12 33.33%
🔵 io/questdb/cairo/RecordChain.java 3 4 75.00%
🔵 io/questdb/cairo/vm/Vm.java 36 43 83.72%
🔵 io/questdb/cairo/vm/MemoryCMARWImpl.java 123 142 86.62%
🔵 io/questdb/cairo/EngineMigration.java 15 17 88.24%
🔵 io/questdb/cairo/vm/MemoryPARWImpl.java 252 277 90.97%
🔵 io/questdb/cairo/vm/MemoryCARWImpl.java 75 81 92.59%
🔵 io/questdb/cairo/vm/AbstractMemoryCR.java 29 31 93.55%
🔵 io/questdb/cairo/vm/MemoryPMAImpl.java 55 57 96.49%
🔵 io/questdb/cairo/TableUtils.java 48 50 96.00%
🔵 io/questdb/cairo/TableReader.java 48 49 97.96%
🔵 io/questdb/cairo/vm/PagedSlidingReadOnlyMemory.java 12 12 100.00%
🔵 io/questdb/cairo/vm/api/MemoryM.java 10 10 100.00%
🔵 io/questdb/cairo/vm/api/MemoryR.java 14 14 100.00%
🔵 io/questdb/cairo/TableBlockWriter.java 1 1 100.00%
🔵 io/questdb/TelemetryJob.java 4 4 100.00%
🔵 io/questdb/cairo/vm/MemoryCMRImpl.java 53 53 100.00%
🔵 io/questdb/cairo/IntervalBwdDataFrameCursor.java 1 1 100.00%
🔵 io/questdb/cairo/TableReaderMetadata.java 9 9 100.00%
🔵 io/questdb/cairo/IntervalFwdDataFrameCursor.java 1 1 100.00%
🔵 io/questdb/cairo/TableWriter.java 95 95 100.00%
🔵 io/questdb/cairo/vm/api/MemoryMAR.java 3 3 100.00%
🔵 io/questdb/cairo/map/CompactMapValue.java 1 1 100.00%
🔵 io/questdb/cairo/TableWriterMetadata.java 2 2 100.00%
🔵 io/questdb/cairo/TxnScoreboard.java 22 22 100.00%
🔵 io/questdb/cairo/SymbolMapReaderImpl.java 8 8 100.00%
🔵 io/questdb/cairo/SymbolColumnIndexer.java 1 1 100.00%
🔵 io/questdb/cutlass/http/HttpConnectionContext.java 1 1 100.00%
🔵 io/questdb/cairo/AbstractIndexReader.java 13 13 100.00%
🔵 io/questdb/griffin/SqlCompiler.java 3 3 100.00%
🔵 io/questdb/cairo/TablePageFrameCursor.java 5 5 100.00%
🔵 io/questdb/cairo/O3PartitionJob.java 8 8 100.00%
🔵 io/questdb/cairo/AbstractIntervalDataFrameCursor.java 1 1 100.00%
🔵 io/questdb/cairo/TxReader.java 3 3 100.00%
🔵 io/questdb/PropServerConfiguration.java 1 1 100.00%
🔵 io/questdb/cutlass/line/tcp/SymbolCache.java 14 14 100.00%
🔵 io/questdb/cairo/map/CompactMap.java 3 3 100.00%
🔵 io/questdb/cairo/map/CompactMapRecord.java 1 1 100.00%
🔵 io/questdb/cairo/vm/api/MemoryCARW.java 121 121 100.00%
🔵 io/questdb/cairo/CairoConfiguration.java 1 1 100.00%
🔵 io/questdb/cairo/O3OpenColumnJob.java 20 20 100.00%
🔵 io/questdb/cutlass/line/tcp/LineTcpMeasurementScheduler.java 3 3 100.00%
🔵 io/questdb/cutlass/text/CairoTextWriter.java 2 2 100.00%
🔵 io/questdb/cairo/vm/api/MemoryMR.java 2 2 100.00%
🔵 io/questdb/cairo/map/FastMapRecord.java 11 11 100.00%
🔵 io/questdb/cairo/vm/api/MemoryCR.java 30 30 100.00%
🔵 io/questdb/cairo/TxWriter.java 5 5 100.00%
🔵 io/questdb/cairo/CairoEngine.java 5 5 100.00%
🔵 io/questdb/cairo/SymbolMapWriter.java 13 13 100.00%
🔵 io/questdb/cairo/BitmapIndexWriter.java 9 9 100.00%
🔵 io/questdb/cutlass/line/udp/CairoLineProtoParser.java 2 2 100.00%

@bluestreak01 bluestreak01 merged commit b8a933c into master Jul 28, 2021
@bluestreak01 bluestreak01 deleted the vm_rw_contiguous branch July 28, 2021 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants