Портировать VB8 в PHP

  • Автор темы Автор темы k2k
  • Дата начала Дата начала

k2k

Новичок
Портировать VB8 в PHP

Ушло около 4 часов, чтобы портировать код VB8 (Visual Basic) в PHP.
Программа простая, но длинная - очень много циклов.
При этом VB выполняет ее от 0.5 до 1 секунды, а PHP (и AS3) за 5 - 10 секунд - т.е. на порядок дольше.

Кто-нибудь занимался таким когда-нибудь? Может есть какие-то подводные камни, которых я мог не учесть?

Сама программа - большое количество циклов и работа с одно-, дву- и трех- мерными массивами чисел. Условные операторы, одна функция поиска элемента в массиве (array_search - php/indexOf - as) и числовые операции.

Чем может быть объяснена такая потеря во времени?

PS: результат выполнения программ идентичный.
 
в php не совсем массивы, а хеш-таблицы и для хранения именно чисел не самая оптимальная структура.
 
Автор оригинала: dimagolov
в php не совсем массивы, а хеш-таблицы и для хранения именно чисел не самая оптимальная структура.
что посоветуете для решения этой проблемы? Стандартными типами данных тут не обойтись, как я понимаю?

что вообще принято делать в подобных ситуациях, когда много массивов и чисел?
 
потратьте пол часа на создание CLI интерфейса у VB скрипта и вызывайте её из PHP
 
Врать не буду - знаком с VB пару дней и то поверхностно - пока портировал программу коллеги.

CLI интерфейс - я так понимаю, речь идет о command line interface?

гугл не очень помог пока. не подскажете, в каком направлении искать и можно ли это все будет запускать не на виндовском сервере?
 
путь в php.exe имя_файла.php

c:\php\php.exe c:\www\script.php
 
ой, тьфу, совсем от жары мозг поплыл. думал, ты спрашивал как cli запускать.

да, на не виндошном сервере можно запускать, особой разницы нету.
 
кажется, разговор поплыл как мозги))

Задача:
запустить VB8 (Visual Basic) из php, передав ему параметр (String) и получив из него ответ.

Как это сделать?

И можно ли это сделать не на винде?
 
>> И можно ли это сделать не на винде?

нельзя
 
перепиши не на пхп, а на Си и компили себе в бинарник на своем *никсе, а на винде юзай VB, чтобы не заморачиваться с кросс-платформенностью.
 
Сверху