• Dominik Luntzer's avatar
    Perform lazy loading when restoring a cached address space · 2fcbbf85
    Dominik Luntzer authored
    When starting an opcua server, the creation of the address space is
    currently a performance bottleneck. The startup process can be accelerated
    by loading a pre-generated address space pickle.
    However, the startup process still takes ~25 seconds on a raspberry pi
    model b (compared to ~125 seconds when generating the address space from code).
    Storing the address space in a shelve, where the data for each node is
    pickeled individually, allows to further improve the startup performance
    since only the nodes that are actually accessed are loaded from
    disc (all other nodes are loaded later when they are accessed).
    Since the default address space contains thousands of nodes but just a
    small amount is actually accessed during startup, the startuptime could
    be improved to ~3.5 seconds.
    2fcbbf85
address_space.py 23.1 KB