gsoc:2008

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gsoc:2008 [2008/03/26 17:45]
davidc
gsoc:2008 [2017/09/22 13:28] (current)
Line 47: Line 47:
 Make a tool to convert Zend bytecode into [[http://​llvm.org|LLVM]] bitcode. In a first phase this could replace the Zend dispatcher/​executor and in a 2nd phase it could perform some simple operations inline (while still relying on the Zend engine for non-trivial opcodes). Make a tool to convert Zend bytecode into [[http://​llvm.org|LLVM]] bitcode. In a first phase this could replace the Zend dispatcher/​executor and in a 2nd phase it could perform some simple operations inline (while still relying on the Zend engine for non-trivial opcodes).
 Benchmarking plus optimization opportunities exploration are a plus. Benchmarking plus optimization opportunities exploration are a plus.
 +
  
 ===== Algorithm Optimizations ===== ===== Algorithm Optimizations =====
Line 53: 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 110: Line 112:
  
 ===== Rewrite the run-tests.php script ===== ===== Rewrite the run-tests.php script =====
-//Possible mentor: Sebastian.//​+//Possible mentor: Sebastian, Travis.// 
 + 
 +**Note from Travis Swicegood:​** ​ Why rewrite run-tests.php when it's already been done with the PHPT project. ​ See http://​phpt.info for the project'​s Trac.  It still has room for improvement. ​ Parallel test processing is on the list for two major releases out (see http://​phpt.info/​ticket/​12 for stubbed out info on how to do that in PHP), but if someone wants to implement it before then I'd be happy to help.  Multiple output support is already built-in, but new Reporters could definitely be added as could micro-benchmark support. 
  
 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 122: Line 127:
  
 ===== PhD: The PHP based Docbook renderer ===== ===== PhD: The PHP based Docbook renderer =====
-//Possible mentor: Hannes Magnusson.//​+//Possible mentor: ​[[bjori@php.net|Hannes Magnusson]].//
  
 [[doc:​phd|PhD]] is the application that is used to render both the online manual on [[http://​www.php.net/​manual|www.php.net]] and the [[http://​php.net/​download-docs|downloadable manual pages]]. [[doc:​phd|PhD]] is the application that is used to render both the online manual on [[http://​www.php.net/​manual|www.php.net]] and the [[http://​php.net/​download-docs|downloadable manual pages]].
Line 186: Line 191:
  
 SimpleTest participates under the umbrella of the PHP Project : its ideas - mainly related to its PHP web browser - can be submitted. "​JavaScript powered PHP browser",​ "​Switchable HTML parsers",​ "Web Form Fuzzer"​ and others can be found directly on the [[http://​simpletest.org/​en/​ideas.html|SimpleTest ideas web page]]. SimpleTest participates under the umbrella of the PHP Project : its ideas - mainly related to its PHP web browser - can be submitted. "​JavaScript powered PHP browser",​ "​Switchable HTML parsers",​ "Web Form Fuzzer"​ and others can be found directly on the [[http://​simpletest.org/​en/​ideas.html|SimpleTest ideas web page]].
 +
 +
 +
 +
 +
  
  
 ===== XDebug Profiling Web Frontend ===== ===== 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,​ classes, methods, anything related to PHP.
 +
 +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"​ issue is to create a Web Interface that would behave just like KCacheGrind but would not require any system installation (else than the PHP/​JS/​HTML/​etc code itself)
 +
 +This project of course involves the creation of graphs, mathematical calculations,​ ajax, and of course PHP algorithms in order to display the data in a very accurate way.
 +
 +You can get start by [[http://​xdebug.org|getting XDebug]] and trying it out. (See the [[http://​xdebug.org/​docs/​profiler|profiler]] section)
 +
 +====== Evalution summary ======
  
 +There'​s a summary of the GSoC mid-term evaluation survey results on http://​schlueters.de/​~johannes/​GSoC-Survey/​summary.ods
gsoc/2008.1206553558.txt.gz · Last modified: 2017/09/22 13:28 (external edit)