<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 6, 2015 at 8:39 AM, Dolph Mathews <span dir="ltr"><<a href="mailto:dolph.mathews@gmail.com" target="_blank">dolph.mathews@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Mon, Apr 6, 2015 at 10:26 AM, Boris Pavlovic <span dir="ltr"><<a href="mailto:boris@pavlovic.me" target="_blank">boris@pavlovic.me</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Jay, <span><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">Not far, IMHO. 100ms difference in startup time isn't something we should spend much time optimizing. There's bigger fish to fry.</span></blockquote><div><br></div></span><div>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. </div><div><br></div><div>In other hand this one is as well big source of UX issues that we have in OpenStack.. </div><div><br></div><div>For example: </div><div><br></div><div>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.</div></div></blockquote><div><br></div></span><div>+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.</div><div><div class="h5"><div> </div></div></div></div></div></div></blockquote><div><br></div><div>Another data point on how slow our libraries/CLIs can be:</div><div><br></div><div>$ time openstack -h<br></div><div><snip></div><div><div>real    0m2.491s</div><div>user    0m2.378s</div><div>sys     0m0.111s</div></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>2) Bash completion - should be online. </div><div>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. </div><div><br></div><div>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. </div><div><br></div><div><br></div><div><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px"><br>p.s. Boris, please don't hate me :)</span></blockquote><div><div style="font-size:12.8000001907349px"></div></div><div><br></div></span><div>I will ;) </div></div><div><br></div><div><br></div><div>Best regards,</div><div>Boris Pavlovic </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 6, 2015 at 5:54 PM, Jay Pipes <span dir="ltr"><<a href="mailto:jaypipes@gmail.com" target="_blank">jaypipes@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>On 04/06/2015 07:02 AM, Brant Knudson wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>
On Sun, Apr 5, 2015 at 5:41 PM, Boris Pavlovic <<a href="mailto:boris@pavlovic.me" target="_blank">boris@pavlovic.me</a><br></span><span>
<mailto:<a href="mailto:boris@pavlovic.me" target="_blank">boris@pavlovic.me</a>>> wrote:<br>
<br>
    Brant,<br>
<br>
    I run profimp with and without patch<br>
    <a href="https://review.openstack.org/#/c/164066/" target="_blank">https://review.openstack.org/#<u></u>/c/164066/</a>:<br>
    And it really works well:<br>
<br>
    before 170ms:<br>
    <a href="http://boris-42.github.io/keystone/before.html" target="_blank">http://boris-42.github.io/<u></u>keystone/before.html</a><br>
<br>
    after 76ms:<br>
    <a href="http://boris-42.github.io/keystone/after.html" target="_blank">http://boris-42.github.io/<u></u>keystone/after.html</a><br>
<br>
Looks like now the issue is that keystoneclient imports pbr.version so<br>
that it can get pbr to generate the __version__ value. Maybe pbr could<br>
be more efficient about the work it does on import, or we could figure<br>
out a different / lazy way to generate the version string.<br>
<a href="http://git.openstack.org/cgit/openstack/python-keystoneclient/tree/keystoneclient/__init__.py#n35" target="_blank">http://git.openstack.org/cgit/<u></u>openstack/python-<u></u>keystoneclient/tree/<u></u>keystoneclient/__init__.py#n35</a><br>
<br>
How far do we need to go with this?<br>
</span></blockquote>
<br>
Not far, IMHO. 100ms difference in startup time isn't something we should spend much time optimizing. There's bigger fish to fry.<br>
<br>
Best,<br>
-jay<br>
<br>
p.s. Boris, please don't hate me :)<div><div><br>
<br>
______________________________<u></u>______________________________<u></u>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.<u></u>openstack.org?subject:<u></u>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/<u></u>cgi-bin/mailman/listinfo/<u></u>openstack-dev</a><br>
</div></div></blockquote></div><br></div>
</div></div><br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div></div></div><br></div></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>