• Vincent Pelletier's avatar
    ERP5Type: Patch AccessControl.owner.Owned.getWrappedOwner . · ea56fe72
    Vincent Pelletier authored
    This method is called on every __getattr__ (guarded_getattr, actually) of
    every restricted python scripts. Which means each "." in the code triggers:
    - traversal to relevant acl_user folder
    - a user lookup
    just to get the same value throughout the execution of a script (as its
    owner does not change during execution).
    Also, in practice we have extremely few possible owners: very few users are
    allowed to edit code in an ERP5 instance, and if such instance is managed
    using the upgrader alarms, they will even further reduce this owner set to
    System Processes only.
    On a real-world web page rendering, this reduces the total number of
    traversal calls from 1500 to 1100, getting rid of the two hottest spots:
    /acl_users and /$site_id/acl_users .
    ea56fe72
AccessControl_patch.py 2.41 KB