tarantool/tarantool-php

tarantool::update() memory leak

eugenchenko opened this issue · 1 comments

Simple test script:

<?php

print "Start: " . memory_get_usage() . "\n";

$tarantool = new Tarantool(TARANTOOL_HOST, TARANTOOL_PORT, TARANTOOL_USER, TARANTOOL_PASS);
print "After tarantool init: " . memory_get_usage() . "\n";

$i=0;
while ($i++ < 10000) {
    $tarantool->update('existing_space', 'valid_key', array(
        array(
            "field" => 1,
            "op" => "=",
            "arg" => microtime(true)
        )
    ));
}
$tarantool->disconnect();
unset($tarantool);
print "After 10000 updates: " . memory_get_usage() . "\n";

?>

Result:

@ns3107210:~/jeno/daemons$ php ../tarantool.memtest.php
Start: 317656
After tarantool init: 318360
After 10000 updates: 9437792

Some more information:

@ns3107210:~/jeno/daemons$ php -v
PHP 5.6.33-0+deb8u1 (cli) (built: Jan  5 2018 15:46:26)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Покопавшись буквально пару часов в вашем проекте на гитхабе я наконец-то решил проблему самостоятельно.

Вы мне ничего не должны, естественно, но вопросик вот имеется чисто ради любопытства. Зачем вам в мастер-ветке неработающая версия драйвера для платформы, на которую вы сложили болт?