Description
The current stripped release binary for seekdb is approximately 380 MB, which is excessively large. Since the binary file is loaded into memory at runtime, this also impacts memory usage.
Proposed Optimization Areas
The following table outlines potential areas for code removal or optimization to reduce binary size:
| Optimization Point |
Action / Details |
Notes / Considerations |
| General |
|
|
| Remove Oracle mode code |
Delete |
|
| Remove shared storage code |
Delete |
|
| Remove redundant virtual tables |
Delete tables like GV$, CDB_* |
|
| Charset |
Keep only utf8mb4 and related collations |
No requirement for AP/AI scenarios; needs evaluation for TP scenarios. |
| Backup/Restore/Archive/CDC |
Move to close_module |
CDC functionality must be retained. |
| RPC Code |
- Convert to local calls if only synchronous invocation is used.
- Delete serialization/deserialization code for objects only used in synchronous calls.
|
Note: Some DDL RPCs may be invoked from thread pools. |
| gcc_except_table |
Remove most exception tables and stack info (~28 MB). SEEKDB does not use exceptions for error handling (except for objit). |
Some exception handling may need to be retained. |
| GIS Code Optimization |
~33.9 MB. Contains many template cross-redundant codes (e.g., class Comparison<A,B> and class Comparison<B, A>). |
|
| TABLE API |
Delete |
|
| Vector Engine Optimization |
- Remove Oracle-related code.
- Optimize comparison functions, etc.: remove infrequently used types and convert them to slow-path calls. Clean up redundant templates like
func(a,b) and func(b,a). Convert non-performance-critical type support (e.g., JSON) to slow path (requires specific analysis).
|
|
| Direct Load |
Non-core functionality; evaluate for deletion. |
|
| PX/PDML/DTL |
Delete code related to remote nodes. |
|
| Unit Manager |
Delete |
|
| Multi-tenancy |
|
|
Description
The current stripped release binary for seekdb is approximately 380 MB, which is excessively large. Since the binary file is loaded into memory at runtime, this also impacts memory usage.
Proposed Optimization Areas
The following table outlines potential areas for code removal or optimization to reduce binary size:
GV$,CDB_*utf8mb4and related collationsclose_moduleobjit).class Comparison<A,B>andclass Comparison<B, A>).func(a,b)andfunc(b,a). Convert non-performance-critical type support (e.g., JSON) to slow path (requires specific analysis).