[关闭]
@ChristopherWu 2017-03-06T22:54:46.000000Z 字数 1736 阅读 1523

GSOC Idea

Wine


Hello, folks
I'm YongHao Hu, a college student who study and send patches about msvcp,msvcrt. Thanks for Zhenbo's ideas. Here are my ideas for GSoC 2015.

1. Add needed functions about tr2 and finish my patch about cin>>complex

Though msvcp has almost 80%1 functions implemented, it still has many unimplemented functions, which is used heavily in many softwares. For example, almost all the functions in namespace std::tr2::sys2 need to implement, which causes a bug3 now.

2. Optimize printf,sprintf functions using Grisu algorithm

I had found a bug4 which is about inconsistent rounding behaviour for sprintf function. In order to fix it, I had made a patch5 using Dragon4 algorithm. However, this implementation is a little slower than MSVC++ 2010, even four times slower6 when printing 64-bit values with the minimal number of significant digits to identify the number like sprintf(buffer, "%.17g", value).
As functions like printf and sprintf are dependent on pf_printf function, to which the patch applies, I guess efficency is important. As a result, using Grisu algorithm7 to optimize the patch is a good choice. Grisu algorithm speeds up 99.4 percent of all 64-bit floating point numbers by only using small-integer arithmetic, while the remaining 0.6% still need to use a variant of Dragon4.
My idea is to improve my patch based on Dragon4 algorithm so that it can be commited, after which I will add Grisu algorithm to optimize it.

3. Implement series undocumented functions about _Pad

There are two bugs needed unimplemented function of _pad in msvcp now8. I have studied and tested _pad function, finding that _pad is an undocumented function.
I also implied that _Pad::Launch is a wrapper of _Thrd_create, thus, it is a tough job which needs to imply and implement many functions.

Though my ideas for GSOC2015 may not mature enough, but I hope that they will be helpful. What's more, I am glad to choose some of them as my proposal, if they meet the criteria for GSoC.
Thank you for reading this email. I will be grateful for any advice you can provide.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注