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

Dolph Mathews dolph.mathews at gmail.com
Mon Apr 6 15:39:56 UTC 2015


On Mon, Apr 6, 2015 at 10:26 AM, Boris Pavlovic <boris at pavlovic.me> wrote:

> 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.
>

+1 I'm fully in support of this effort. Shaving 100ms off the startup time
of a frequently used library means that you'll save that 100ms over and
over, adding up to a huge win.


>
> 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
>>
>
>
> __________________________________________________________________________
> 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/651821d2/attachment.html>


More information about the OpenStack-dev mailing list