Skip to content

Extremely slow compilation #66

@arnetheduck

Description

@arnetheduck

nim --profilevm of nimbus beacon node:

    19262402  10011904  /nimbus-eth2/vendor/nim-stew/stew/shims/macros.nim(91, 6)
    16058290    162922  /nimbus-eth2/beacon_chain/spec/datatypes/base.nim(923, 6)
     7518182   4432438  /nimbus-eth2/vendor/nim-chronos/chronos/internal/asyncmacro.nim(16, 6)
     6637539    149648  /nimbus-eth2/vendor/nim-stew/stew/shims/macros.nim(188, 6)
     6585929    366897  /nimbus-eth2/vendor/nim-stew/stew/shims/macros.nim(163, 6)
     5847740     95469  /nimbus-eth2/vendor/nim-stew/stew/shims/macros.nim(239, 7)
     5803038   1410058  /nimbus-eth2/vendor/nim-stew/stew/shims/macros.nim(210, 6)

https://github.com/status-im/nim-stew/blob/master/stew/shims/macros.nim#L91 is used extensively by this library - listing fields in objects this way is slow in the VM.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions