[openstack-dev] [all][oslo][clients] Let's speed up start of OpenStack libs and clients by optimizing imports with profimp

Boris Pavlovic boris at pavlovic.me
Mon Apr 6 15:26:48 UTC 2015


Jay,


Not far, IMHO. 100ms difference in startup time isn't something we should
> spend much time optimizing. There's bigger fish to fry.


I agree that priority of this task shouldn't be critical or even high, and
that there are other places that can be improved in OpenStack.

In other hand this one is as well big source of UX issues that we have in
OpenStack..

For example:

1) You would like to run some command X times where X is pretty big (admins
likes to do this via bash loops). If you can execute all of them for 1 and
not 10 minutes you will get happier end user.

2) Bash completion - should be online.
For example, it takes about 600-700ms to run Rally, so we need to have
hardcoded bash completion scripts, because otherwise it is too slow and not
consumable.

There are other use cases where starting speed is crucial but IMHO authors
of libs should help to make projects faster and users happier, especially
when it is quite simple task.



> p.s. Boris, please don't hate me :)


I will ;)


Best regards,
Boris Pavlovic






On Mon, Apr 6, 2015 at 5:54 PM, Jay Pipes <jaypipes at gmail.com> wrote:

> On 04/06/2015 07:02 AM, Brant Knudson wrote:
>
>> On Sun, Apr 5, 2015 at 5:41 PM, Boris Pavlovic <boris at pavlovic.me
>> <mailto:boris at pavlovic.me>> wrote:
>>
>>     Brant,
>>
>>     I run profimp with and without patch
>>     https://review.openstack.org/#/c/164066/:
>>     And it really works well:
>>
>>     before 170ms:
>>     http://boris-42.github.io/keystone/before.html
>>
>>     after 76ms:
>>     http://boris-42.github.io/keystone/after.html
>>
>> Looks like now the issue is that keystoneclient imports pbr.version so
>> that it can get pbr to generate the __version__ value. Maybe pbr could
>> be more efficient about the work it does on import, or we could figure
>> out a different / lazy way to generate the version string.
>> http://git.openstack.org/cgit/openstack/python-keystoneclient/tree/
>> keystoneclient/__init__.py#n35
>>
>> How far do we need to go with this?
>>
>
> Not far, IMHO. 100ms difference in startup time isn't something we should
> spend much time optimizing. There's bigger fish to fry.
>
> Best,
> -jay
>
> p.s. Boris, please don't hate me :)
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150406/e5f156df/attachment.html>


More information about the OpenStack-dev mailing list