Hey Tim,
I have some more questions about wikidiff2. I installed it, added it to LocalSettings.php, and ran some benchmarks on diff pages, it doesn't seem to give me any improvement, at least on our development server. Loading 183 diff consecutive pages takes about 5 minutes using both wikidiff2 and the default diff.
Is there any way to tell wikidiff2 is being used and is configured properly? Or is there a better way benchmark the module? I seem to be able to call wikidiff2_do_diff manually from a test page.
Or is it possible that the benefits are only realized when there's some substantial load on the server?
Any ideas would be appreciated. Thanks.
Travis
On 11/2/06, Travis Derouin travis@wikihow.com wrote:
Hey Tim,
It seems like if
#include <assert.h>
is added to DiffEngine.h, it takes care of this problem.
Thanks, Travis
On 10/25/06, Travis Derouin travis@wikihow.com wrote:
Upgrading swig seemed to get me by the first part. Which version of GCC did you use? I'm getting compilation errors as well:
g++ -O3 `php-config --includes` -shared -fPIC -o php_wikidiff2.so wikidiff2.cpp wikidiff2_wrap.cpp DiffEngine.h: In member function `void _DiffEngine<T>::diff(const std::vector<T, std::allocator<_CharT> >&, const std::vector<T, std::allocator<_CharT> >&, Diff<T>&) [with T = std::string]': DiffEngine.h:560: instantiated from `Diff<T>::Diff(const std::vector<T, std::allocator<_CharT> >&, const std::vector<T, std::allocator<_CharT> >&) [with T = std::string]' wikidiff2.cpp:15: instantiated from here DiffEngine.h:196: error: `assert' undeclared (first use this function) DiffEngine.h:196: error: (Each undeclared identifier is reported only once for each function it appears in.) DiffEngine.h: In member function `void _DiffEngine<T>::diff(const std::vector<T, std::allocator<_CharT> >&, const std::vector<T,
Thanks.
On 10/25/06, Tim Starling tstarling@wikimedia.org wrote:
Travis Derouin wrote:
Thanks Tim.
Is there any documentation for wikidiff2 other than the readme file?
I doubt it.
I'm having issues compiling (wikidiff2.i:13: Syntax error in input.)
We seem to be using swig version 1.3.21, you might want to try something similar.
and am not sure how to configure it - what settings do I change to enable it?
"make install" will install the shared library into the PHP extensions directory. Then in LocalSettings.php, put:
$wgExternalDiffEngine = 'wikidiff2';
That will tell MW to use wikidiff2, and if necessary, to do a dl() to load the extension on demand. Apparently dl() is deprecated these days, so to be completely pure and true you might want to avoid it by putting:
extension=php_wikidiff2.so
in php.ini.
-- Tim Starling
Wikitech-l mailing list Wikitech-l@wikimedia.org http://mail.wikipedia.org/mailman/listinfo/wikitech-l