zk писал(а):Lundil писал(а):Залез в интернет - узнал как на C пишутся библиотеки расширения PHP. Написал промежуточную библиотеку которая из себя вызывает ту "обкромсаную" (че-то прям ее в PHP включить не получилось, по этому такой костыль сделал).
А почему было именно такое решение? Почему нельзя было вызывать генератор карты в качестве отдельной программы (exec) или например повесить её в качестве демона? Скорость?
На самом деле с exec вариант тоже очень хороший работал и с ним как с самым простым вариантом. А когда понял что особо выгрыша в скорости расширение не дает, а усложнется все во много раз... Расширение похерил..)))))) и стал пользоваться просто exec...))) предыдуший пост написан для наведения ужаса на читателя.)))))) Но расширение действительно было.
По поводу демона, как с ним взаимодействовать? через сокеты? через tcp/ip? это опять же усложнение не оправданное.
Хотя вариант с расширением действительно оптимален, потому что библиотека подгружается в память только 1 раз при старте веб-сервера, и оттуда не исчезает. А exec - теоритически каждый раз считывает прогу с винта (но есть такая замечательна вешь - кеш, где ОС хранит наиболее частые обращения к винчестеру, так что сдесь потери не велики).
Самое большое по времени занимает не дисковые операции,а преобразование образа в памяти в картинку PNG (55% всего времени). Но от этого некуда не деться. Либо переписывать процедуру преобразования, либо... (не хочу ереписывать, открыл спецификацию PNG формата и у меня волосы на жопе зашевелились...).
П.С.
ну понтонулся в предыдущем посте, не карайте сильно..)))