<div dir="ltr"><br><div class="gmail_extra">Hi Ben.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-01-04 17:39 GMT+01:00 Ben Boeckel <span dir="ltr"><<a href="mailto:ben.boeckel@kitware.com" target="_blank">ben.boeckel@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">
</span>The<br>
big remaining problem is passing char* as an argument where functions do<br>
std::string(arg) right away. I fixed all of those which did explicit<br>
std::string conversions (via assignment or otherwise), but those which<br>
are conditional should get std::string overloads to avoid a<br>
malloc/copy/free penalty. There is a *lot* of work here though. The<br>
branch I had been working on (which is now woefully out-of-date) is 100<br>
commits long.<br></blockquote><div><br></div><div>That's great news.<br></div><div>What is the branch name/link to these improvement?<br></div><div>Is it possible to push these improvements partially?<br><br>Maybe CMake community could continue working on that improvement?<br></div><div>It will be great to create ticket, in which propose solution will be described.<br><br></div><div>BTW: Do you know why the Xcode and MS Visual Studio is slower than CMake one ?<br><br></div><div>Here is the benchmarks for my internal project:<br><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)"><br>Xcode generation:</div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)">   real 6m31.733s</div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)">   user 4m51.862s</div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)">   sys 0m20.268s</div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)"><font face="Calibri,Arial,Helvetica,sans-serif" size="2"><span style="font-size:16px">Make generation:<br></span></font></div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)"><font face="Calibri,Arial,Helvetica,sans-serif" size="2"><span style="font-size:16px">   real 4m45.089s</span></font></div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)"><font face="Calibri,Arial,Helvetica,sans-serif" size="2"><span style="font-size:16px">   user 2m56.117s</span></font></div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)"><font face="Calibri,Arial,Helvetica,sans-serif" size="2"><span style="font-size:16px">   sys 0m17.481s</span></font></div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)"><font face="Calibri,Arial,Helvetica,sans-serif" size="2"><span style="font-size:16px"><br></span></font></div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)"><font face="Calibri,Arial,Helvetica,sans-serif" size="2"><span style="font-size:16px">Ninja generation:</span></font></div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)">  real 2m48.585s</div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)">  user 2m30.712s</div><div style="color:rgb(33,33,33);font-family:"Segoe UI","Segoe WP","Segoe UI WPC",Tahoma,Arial,sans-serif;font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin-top:0px;margin-bottom:0px;background-color:rgb(255,255,255)">  sys 0m6.313s</div><br class=""><br></div><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""><font color="#888888"><br>
--Ben<br>
</font></span><div class=""><div class="h5">--<br>
<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br>
<br>
CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/support.html</a><br>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/training.html</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/cmake-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/cmake-developers</a><br>
</div></div></blockquote></div><br></div></div>