четверг, 25 октября 2018 г.

generics, generics.collections

новомодные генерики и generics.collections поддерживает Lazarus, но Delphi 7 - нет, Delphi 2009 только начал поддерживать их.
поддержка Delphi 7 мне важна, поэтому можно использовать мои наработки с word/longword

среда, 24 октября 2018 г.

hashTab для ускорения поиска строковых ключей

нашел и адаптировал частично под Lazarus свою разработку хэш-таблиц hashtabs_longword.pas для хранения ключей строкой, а значение - longword. Значения будут хранить индексы в массиве с дополнительной информацией.
взять старые наработки и, модифицировав, применить.
а то я думал, что надо будет писать с 0

воскресенье, 14 октября 2018 г.

hashed модуль

пробовал я и думал, как бы во много мест программы добавить хэширование, чтоб ускорить парсинг html, css и додумался до того, что нужно выкладывать всю работу с хэшированным массивом в отдельный модуль.
и интерфейс простой и легко внедрить в разные варианты поиска по спискам строк

правый хвост длиннее!

добавил в функцию части строки нахождения среди атрибутов хэширование и сравнение хэшированных значений.
но проход по циклу остался! лишние сравнения!
добавлю еще одно поле в каждый элемент массива и по нему сделаю сортировку Шелла и поиск бинарный.
подобное можно дописать и переписать, ускорив, в код нахождения css-свойств. там сделано простым перебором и сравнением срок

пятница, 12 октября 2018 г.

продолжаю. планы на будущее

собрал последнюю версию FrameBrowserDemoId10Laz.exe
кэширование надо переписать начисто! там простой перебор по текстовому файлу.
заменить поиск всюду на поиск с хэшами. есть неплохая реализация MurmurHash.
возможно, распараллелить парсинг html/css и загрузку.
начать переход к synapse

среда, 15 ноября 2017 г.

https://github.com/tigrazone/HtmlViewer и synapse

собираюсь создать synapse-версию браузера, который быть меньше по занимаемому количеству памяти и меньше зависимостей от библиотек.
также вместо TStringList заменить на THashedStrignList из inifile.
выкладывать буду на https://github.com/tigrazone/HtmlViewer

четверг, 17 марта 2016 г.

планы на развитие draisine

за основу движка draisine беру HtmlViewer, затем заменю там тормозные сравнения строк на хэширование, сделаю версию браузера с модифицированым httpsendthread.pas

будет не хуже ics-версии, которую я рекомендую для интересующихся

странно, что в 11.6 не показывает прозрачность у gif-файлов.
в 11.4 прозрачность есть, да и при изменении размера окна картинка не прыгает, как в 11.6
буду использовать 11.4

один скриншот сильнее многих слов: