![]() |
|
![]() ![]() ![]() |
|
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 6 Всего: 317 |
Пару дней назад переписывался с neutrino о подсветке, я тогда сидел за плотной теорией. Вдруг все заспешили модернизировать форум, ну и я решил побыстрому написать
![]() Это подсветка Java, по идее очень быстрая, 4кб кода за 63мс ИЕ, 120мс Мозилла, Опера - на моей машине. Весит мало <=10кб, но мало расшаренного кода, так что для каждого языка придется тащить 8-10кб таблиц. Задача повставлять Java код и увидеть Internal error... или "Сообщите модератору..." красными буквами. Все найденные баги постить сюда. Стили были предуманны в полном бреду в 2:00 ночи, Cheba сделает крассивые. Кто хочет открывает сорцы и пишет свои стили. Сейчас в подсветке основные ключевые слова, стандартные обьекты и т.п. можно в любой момент добавить. Тестим: http://files.vingrad.ru/Sardar/JavaParserR.htm ![]() Тестовые страницы: http://polygon.septima.com.ua/highlight/test_page.htm - вставляем код, жмем кнопку. Страница форума: http://files.vingrad.ru/Sardar/highlighter/index.php.htm - просто смотрим и постим сюда результаты. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 79 Всего: 290 |
Работает, действительно, очень быстро.
|
|||
|
||||
sergejzr |
|
||||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 35 Всего: 360 |
Теперь надо было бы проверить в "реальных" условиях
![]() ---------------------------------------------------- ![]()
http://forum.vingrad.ru/index.php?act=ST&f...ndpost&p=193915 --------------------------------------------------------------------------------- Извиняюсь! Там и нечему подсвечиваться ![]() Вот на это ушло 2 секунды на ИЕ и 1 секунда на Мозилле.
Если в коде присутствуют ошибки (я для теста попробовал вставить вместо ява-кода яваскрипт), то время достигает 13 секунд на подсветку кода аналогичной длинны ... Если хочешь, можно сделать что нибудь вроде http://www.iwi-iuk.org:8081/cgi-bin/vingra...ad.ru/index.php для тестов ![]() Для этого необходимо, чтобы твой код разбирался с форматом ХТМЛ (о чём мы уже говорили). Стили очень понравились ![]() Это сообщение отредактировал(а) sergej.z - 7.8.2004, 11:12 |
||||
|
|||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 6 Всего: 317 |
Нашел причину тормознутости ИЕ: у него медленные массивы. Решу использованием строк.
Левый код может быть медленным - тратиться много не нужных переходов, можно ускорить, но тогда таблицы будут гораздо больше. Под вечер перепишу код, вся подсветка стент быстрее. Заметте что она находит не закрытые коментарии и строки и предупреждает об этом ![]() sergej.zp подсветка работает с HTML кодом, правда решил предварительным приведением к тексту, иначе разраслись бы таблицы переходов. У меня твой код подсветился: ИЕ:203мс, Мозилла:297мс -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 1 Всего: 112 |
В опере код sergej.z - за 1,5 с
-------------------- С уважением, г-н Посол. |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 79 Всего: 290 |
IE: 1,41s
|
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 5 Всего: 62 |
У меня в Мозилле код от sergej.z подсвечивается за 150-250 мс. 9КБ исходника - примерно 1,200 мс. Да и то из-за его кривости.
![]() Добавлено @ 14:21 Sardar, у тебя слова, которые должны быть keywords не подсвечивабтся почему-то. Я работаю с тем скриптом, который ты мне прислал. |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 6 Всего: 317 |
Переписал код, теперь юзаю строки а не массивы как таблицы. Мысль была что строка это массив char, а не хешь таблица. Задумка удалась, увеличение скорости в два раза, за то Мозилла присела - падение скорости в 2 раза
![]() Cheba возьми скрипт отсюда. Всем кто тестирует: кидайте всякий мусор, надо получить Internal error, если ошибки не будет, то подсветка готова. Тестируем с массивами(медленная в ИЕ): http://files.vingrad.ru/Sardar/JavaParserR.htm Тестируем с строками(медленная в Мозилле): http://files.vingrad.ru/Sardar/JavaParserR2.htm -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 79 Всего: 290 |
У меня скорость в ИЕ осталась почти прежней.
|
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 5 Всего: 62 |
Так. Я сделал три стиля для Явы. Прикрутил селектор стилля.
Все это и много другое ![]() Для тех, у кого скорость не сильно большая: Не нужно перезагружать страницу после выбора стиля. Немножко подождит и все будет пучком. ![]() |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 6 Всего: 317 |
Cheba классно сделанно, мне понравился Mello. Зря ты назвал файлы -ie и -moz народ может не понять
![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 5 Всего: 62 |
Это и подразумевалось. Просто нужно было их как-то различать. Еслибы скрипт умел еще и имена функций выделять, то было бы вообще красиво. ![]() |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 79 Всего: 290 |
Теперь надо выяснить какую подстветку внедрять в форум. У нас есть 2 практически законченные подстветки.
|
|||
|
||||
Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 6 Всего: 317 |
Непроблема, сейчас сделаю. Всем у кого есть пожелания на счет подсветки конкретного языка: сразу договариватесь что нужно ![]()
Мне кажется эта самая быстрая и возможно самая навороченная(с теоретической точки зрения еще и самая правильная ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: 79 Всего: 290 |
Интересно ее бы потестить не на отдельной странице, а на странице с форумом и сообщениями. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Обсуждение форума | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |