This will always be useless on older libvirt since it has no group names in help output.  But <code>help_command_group()</code> will always search entire output, making <code>help_command()</code> a lot slower.  Maybe check <code>VIRSH_COMMAND_GROUP_CACHE</code> after this first call, if list is empty, set global flag.  When flag is set, <code>help_command_group()</code> always return <code>[]</code> immediately. This will make a lot faster if no groups are used.