Beispiel #1
0
SRC_GPHP_VAL = join(SRC_FOLDER, "spectralnorm.php-2-val.trufflephp")
SRC_GPHP_REF = join(SRC_FOLDER, "spectralnorm.php-2-ref.trufflephp")

# hack
# no by ref test needed
SRC_HACK_VAL = join(SRC_FOLDER, "spectralnorm.php-2-val.hack")

# jphp
SRC_JPHP_REF = join(SRC_FOLDER, "spectralnorm.php-2-ref.jphp")
SRC_JPHP_VAL = join(SRC_FOLDER, "spectralnorm.php-2-val.jphp")

TEST_BY_VAL = 'spectralnorm-by-val'
TEST_BY_REF = 'spectralnorm-by-ref'
TEST_BY_UNMOD = 'spectralnorm-unmod'

verify_files([SRC_PHP_VAL, SRC_PHP_REF, SRC_PHP_UNMOD])
verify_files([SRC_GPHP_VAL, SRC_GPHP_REF])
verify_files([SRC_HACK_VAL])
verify_files([SRC_JPHP_VAL, SRC_JPHP_REF])


class BenchmarkSpectralNorm(Bench):
    def run_by_ref(self):
        prefix = self.get_test_prefix()
        res = []

        res.append(self.run_php8(TEST_BY_REF, prefix, SRC_PHP_REF, ''))
        res.append(self.run_php(TEST_BY_REF, prefix, SRC_PHP_REF, ''))

        res.append(self.run_jphp(TEST_BY_REF, prefix, SRC_JPHP_REF, ''))
# php
SRC_PHP = join(SRC_FOLDER, "fannkuchredux.php-1.php")

# gphp
SRC_GPHP = join(SRC_FOLDER, "fannkuchredux.php-1.graalphp")

# hack
SRC_HACK = join(SRC_FOLDER, "fannkuchredux.php-1.hack")

# jphp
SRC_JPHP = join(SRC_FOLDER, "fannkuchredux.php-1.jphp")

TEST = 'fannkuchredux-1'

verify_files([SRC_PHP, SRC_GPHP, SRC_HACK, SRC_JPHP])


class BenchmarkFannkuch(Bench):
    def run(self):
        prefix = self.get_test_prefix()
        res = []
        res.append(self.run_php8(TEST, prefix, SRC_PHP, ''))
        res.append(self.run_hack(TEST, prefix, SRC_HACK, ''))
        res.append(self.run_php(TEST, prefix, SRC_PHP, ''))
        res.append(self.run_jphp(TEST, prefix, SRC_JPHP, ''))

        res.append(self.run_graalphp(TEST, prefix, SRC_GPHP, ''))
        res.append(self.run_graalphp_native(TEST, prefix, SRC_GPHP, ''))

        self.extract_and_store_data_array(res)