gsoc:2008
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
gsoc:2008 [2008/03/25 15:46] – pajoye | gsoc:2008 [2008/07/20 18:18] – mid-term survey johannes | ||
---|---|---|---|
Line 23: | Line 23: | ||
- | ===== PECL, website improvements and Windows Build Support | + | |
+ | ===== PECL, Website Improvements, | ||
//Possible mentor: Pierre A. Joye, Elizabeth Marie Smith, Helgi Þormar Þorbjörnsson// | //Possible mentor: Pierre A. Joye, Elizabeth Marie Smith, Helgi Þormar Þorbjörnsson// | ||
- | The current Windows build system only uses CVS snapshots. To improve the QA and overall quality of the PECL extensions, it would be nice to have release based binaries. Also, we could support on demand or automatic builds using a given set of CVS tags or branches (the snapshot already exists). The DLLs can then be distributed via the release packages, and then installed via the pecl channel. | + | This project is really two separate but related ideas. |
- | The web part consits in reorganizing the current PECL website in order to be first of all usable, solid, easy to maintain (using the pearweb structure and releasing strategies). | + | The first portion involves working on reorganizing the current PECL website in order to be first of all usable, solid, easy to maintain (using the pearweb structure and releasing strategies). This requires nothing more than strong PHP skills, optionally some PEAR knowledge, and a desire to help make lives easier for PECL developers, and for people using PECL packages. |
+ | The second related issue is binary releases for PECL extensions. | ||
See the [[http:// | See the [[http:// | ||
Line 45: | Line 47: | ||
Make a tool to convert Zend bytecode into [[http:// | Make a tool to convert Zend bytecode into [[http:// | ||
Benchmarking plus optimization opportunities exploration are a plus. | Benchmarking plus optimization opportunities exploration are a plus. | ||
+ | |||
===== Algorithm Optimizations ===== | ===== Algorithm Optimizations ===== | ||
Line 51: | Line 54: | ||
PHP has some algorithms that aren't asymptotically optimal. E.g. some string handling functions are O(nk), although they could be implemented in O(n). Analysis of the current situation and implementation of better algorithms (along with many tests) are the job. | PHP has some algorithms that aren't asymptotically optimal. E.g. some string handling functions are O(nk), although they could be implemented in O(n). Analysis of the current situation and implementation of better algorithms (along with many tests) are the job. | ||
+ | [NOTE: we have had MANY applications for this idea, it would be smart to submit another idea as well] | ||
===== Implement Unicode into PHP 6 ===== | ===== Implement Unicode into PHP 6 ===== | ||
Line 68: | Line 72: | ||
- | ===== Replace | + | |
+ | ===== Replace | ||
//Possible mentor: (it would rock to have other phpize/ | //Possible mentor: (it would rock to have other phpize/ | ||
Line 100: | Line 105: | ||
- | ===== Put Ilia's Optimizer | + | |
+ | ===== Make Ilia's Optimizer | ||
//Possible mentor: Derick, Ilia.// | //Possible mentor: Derick, Ilia.// | ||
- | APC features some optimizer interface, but there is actually very little optimizations done. Ilia has been working on an optimizer which needs to be tested, and cleaned up, and analyzed before it can be part of APC. | + | APC features some optimizer interface, but there is actually very little optimizations done. Ilia has been working on an optimizer which needs to be tested, and cleaned up, and analyzed before it can be part of APC. There is quite a bit of work to do here, including porting to PHP 5.3 (and HEAD). There are also other possible optimizations to be done. After working on this, you'll have a very good understanding of PHP's internals. |
===== Rewrite the run-tests.php script ===== | ===== Rewrite the run-tests.php script ===== | ||
- | //Possible mentor: Sebastian.// | + | //Possible mentor: Sebastian, Travis.// |
+ | |||
+ | **Note from Travis Swicegood: | ||
The run-tests.php script that is used to run PHP's suite of PHPT tests has grown over the years and needs to be refactored. Two areas of improvement include leveraging multi-core systems to run tests in parallel and support for micro-benchmarks in addition to tests. | The run-tests.php script that is used to run PHP's suite of PHPT tests has grown over the years and needs to be refactored. Two areas of improvement include leveraging multi-core systems to run tests in parallel and support for micro-benchmarks in addition to tests. | ||
Line 118: | Line 127: | ||
===== PhD: The PHP based Docbook renderer ===== | ===== PhD: The PHP based Docbook renderer ===== | ||
- | //Possible mentor: Hannes Magnusson.// | + | //Possible mentor: |
[[doc: | [[doc: | ||
Line 132: | Line 141: | ||
Just like in the Google Summer of Code 2007, proposals for PHPUnit (which participates under the umbrella of the PHP Project) projects can be submitted. As before, proposals of this kind are considered with a lower priority. Ideas can be found [[http:// | Just like in the Google Summer of Code 2007, proposals for PHPUnit (which participates under the umbrella of the PHP Project) projects can be submitted. As before, proposals of this kind are considered with a lower priority. Ideas can be found [[http:// | ||
- | |||
- | |||
- | |||
- | |||
Line 180: | Line 185: | ||
Other features missing from PHP's object orientation include delegates, return type hinting and property type hinting - as well as discrete property accessors, as opposed to < | Other features missing from PHP's object orientation include delegates, return type hinting and property type hinting - as well as discrete property accessors, as opposed to < | ||
+ | |||
+ | |||
+ | ===== SimpleTest : web browser and web testing in PHP ===== | ||
+ | //Possible mentor: [[marcus@lastcraft.com|Marcus Baker]], [[tswicegood@gmail.com|Travis Swicegood]], | ||
+ | |||
+ | SimpleTest participates under the umbrella of the PHP Project : its ideas - mainly related to its PHP web browser - can be submitted. " | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== XDebug Profiling Web Frontend ===== | ||
+ | //Possible mentor: [[davidc@php.net|David Coallier]], [[derick@php.net|Derick Rethans]]// | ||
+ | |||
+ | Written by Derick Rethans, XDebug is the most powerful tool to help every developers and debuggers in the debugging and profiling of their algorithms, applications, | ||
+ | |||
+ | XDebug can generate profiler output files that are easy to load with KCacheGrind and WinCacheGrind. However, many people do not have that installed, and all the OSX people have no tool to run the profiled file (Unless they install KDE on X and then install KCacheGrind). | ||
+ | |||
+ | A very elegant and simple way to resolve this "cross platform" | ||
+ | |||
+ | This project of course involves the creation of graphs, mathematical calculations, | ||
+ | |||
+ | You can get start by [[http:// | ||
+ | |||
+ | ====== Evalution summary ====== | ||
+ | |||
+ | There' |
gsoc/2008.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1