Project

General

Profile

Support #4061

base language performance work

Added by Greg Shah about 5 years ago. Updated almost 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:
version:

History

#1 Updated by Greg Shah about 5 years ago

This is a gathering place (master index) of proposed performance work for the base language:

  • #4032 block/transaction and context local usage
  • #4828 rework ErrorManager to use the TransactionHelper design on the server and a sync'd state design on the client
  • #4133 reduce use of throw for control flow
  • #7045 re-implement "normal" (non-abend) stack unwinding to avoid throwing an exception
  • #1970 improve ControlFlowOps method resolution by reflection
  • #4026 ensure all objects which are transmitted over the DAP implement Externalizable
  • #3789 rewrite writeObject and readObject to rely on NativeTypeSerializer or a similar approach
  • #4027 optimize multiple PUT statements by deferring the call to the client until EOF or EOL
  • #4064 large-raw data type
  • #4065 server-side processing of client platform dependencies
  • #5002 shared memory transport for localhost clients
  • #6416 OO 4GL efficiency
  • #7000 Replace old-style synchronization primitives with java.util.concurrent classes
  • #7336 Trie implementation to support case insensitive and rtimmed string structures
  • #7365 Avoid using reflection in generating BDT
  • #8135 replace ScopedDictionary for better performance

#2 Updated by Constantin Asofiei almost 2 years ago

  • #4149 - BlockManager and TransactionManager handle TransactionType.NONE incorrectly
  • #6649 - SourceNameMapper performance.
  • #6650 - Scopeable performance.
  • #6813 - improvement of dynamic query and temp-table conversion (the TRPL/AnnotatedAst parts)
  • #6814 - JMX instrumentation for FWD core, persistence and ORM layers
  • #6817 - replace INSTANTIATING-PROCEDURE and other handle<ExternalProgram> with the actual referrent
  • #6818 - analyze the performance of the FWD open client proxy client support
  • #6819 - refactor FWD proxy implementation to use ReflectASM instead of Java Method reflection
  • #6820 - reduce String.toLowerCase and toUpperCase usage
  • #6821 - java collection performance
  • #6822 - performance of the FWD proxy implementation
  • #6824 - lazy initialization of collection class members
  • #6826 - reduce the BDT usage in FWD runtime
    • #8510 - replace all 'new logical' in FWD runtime with logical.of or logical.UNKNOWN
  • #6827 - reduce the memory footprint of WrappedResource implementations: replace BDTs with Java types
  • #7122 - convert default getter/setter as plain Java methods
  • #7126 - replace 'new unknown()' with 'unknown.INSTANCE' in FWD conversion and runtime
  • #7140 - refactor goldencode.expr.Compiler to use Boolean.FALSE/TRUE instead of new Boolean(condition).
  • #7656 - investigate performance of context-local helpers (e.g. TransactionManager.TransactionHelper)
  • #7722 - improve performance of equals/not equals when used with character/longchar
  • #7990 - investigate what can be improved after 7494a adds BlockDefinition instance to Scopeable.scopeStart
  • #8069 - Empty destructor in DataAccessBase
  • #8084 - refactor the 'execute' method for legacy classes
  • #8154 - refactor scopeable stacks
  • #8272 - reduce ClassNotFoundException and NoSuchMethodException usage in RuntimeJastInterpreter
  • #8273 - avoid ErrorConditionException for FIND ... NO-ERROR if no record is found
  • #8274 - use singleton/immutable BDT instances when returned from FWD runtime into the application
  • #8488 - improve performance of WRITE-JSON
  • #8494 - rework XmlExport with the performance improvements from JsonExport
  • #8511 - replace string annotation with numeric annotations

Also available in: Atom PDF