crypt of decay - мы покрасим небо серым [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

мы покрасим небо серым [Jan. 20th, 2022|02:01 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
встроил раскраску в тест. ну, гигабайт текста красит пятьдесят секунд. грустно. но Есть Нюанс (ц).

большинство времени пользователь сидит и пырит в экран. даже если что-то печатает — всё равно довольно медленно. а мой движок раскраски можно остановить в любой момент, он онлайновый. поэтому пока редактор ожидает от иксов событие — он заодно и красит понемножку; не дольше чем десять миллисекунд за раз.

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

если лень считать: скорость раскрашивания около двадцати мегабайт текста в секунду (это около 200 килобайт в миллисекунду, ага). i3/3.6 GHz, если чо.
Linkmeow!

Comments:
[User Picture]
From:[info]dece
Date:January 20th, 2022 - 09:11 am
(Link)
Ты там, похоже, какой-то шедевр создаешь, из разряда "Не может быть!" ггг
Какая еще "отзывчивость" во время загрузки? Вон, 5 строк текста в ЛибреОфисс открываешь и ждешь, пока он там все по своему переформатирует. бгг
[User Picture]
From:[info]ketmar
Date:January 20th, 2022 - 09:20 am
(Link)
ну, ты всё-таки не равняй: у меня редактор программерский, тупо текстовый; вордпроцессор таки посложнее будет. форматирование полноценно в фоне сделать сложнее (хотя и возможно, конечно).

а так… ну, если уж пилить своё с нуля — так есть смысл постараться не слепить совсем уж говно. тем более что я сам этим пользоваться собираюсь. ;-)
From:[info]xenon
Date:January 20th, 2022 - 11:58 pm
(Link)
У меня на работе Core 2 duo E7500 (3 ГГц), дриснятка.
Щас открыл вордовский документ с таблицей с 2-мя колонками по 20 строк текста.
MS Word 2003 сам запускался полсекунды, документ открыл мгновенно. (Если он не начинает документ открывать в процессе запуска).
LibreOffice Writer 5.4.3.2 x86 с этим документом открывался секунд 5.
Сдаётся мне, что дело не только в том, что текстовый процессор vs. текстовый редактор. Дело в массовом орукожопливании программистов.
[User Picture]
From:[info]ketmar
Date:January 21st, 2022 - 01:18 am
(Link)
либра сама по себе жирная. попробуй abiword — он раньше не такой жирный был. хотя, кажется, потом испортился.
From:[info]xenon
Date:January 21st, 2022 - 02:33 am
(Link)
Педевикия пишет:
В 2010 году был прекращён выпуск программы под Microsoft Windows из-за нехватки разработчиков, последней доступной версией является 2.9.4.

Грусть, тоска и печаль. Сдаётся мне, что всем похер, в экс-СССР все пользуются старым спираченным мелкомягким офисом (вернее, пользовались раньше), а в геймериках-гейропах попсовым софтом.
Но спасибо за на водку, попробую всё равно.
[User Picture]
From:[info]ketmar
Date:January 21st, 2022 - 03:29 am
(Link)
чем старее — тем меньше говна и быстрее работает. гыг.
From:[info]xenon
Date:January 21st, 2022 - 10:06 am
(Link)
К вопросу о старье: дак меня и 2003-й офис устраивает, с пакетом совместимости для открывания документов пидорского современного формата docx, xlsx.
А так меня и офис-97 бы устроил. Если бы к нему можно было этот пакет совместимости прицепить (а может можно) и если бы в нём можно было сразу несколько фрагментов текста выделять. Во всём остальном он ничем не хуже.
Просто я подумал, что этот abiword и компактный, и быстрый и обновляется. Если нет, то хрен с ним.
From:(Anonymous)
Date:January 21st, 2022 - 02:23 pm
(Link)
ив 97м офисе пауэрпоинт неживой был практически, падения-зависания, пиздец-пиздец. 2003 офис в сравнении с 97 полностью рабочий.
From:[info]xenon
Date:January 21st, 2022 - 02:34 pm
(Link)
Ну ок. Значит 2003-й офис считаем самым доведённым до ума.
Про поверпоинт -- хоть тресни, не помню падения-зависания. Видимо, мало им пользовался.
Кстати, ворд из офиса-95 глючный был, а вот 6-й ворд (16-битный, для 3-й венды) вообще идеально работает, послушно. Только на 64-разрядной венде не запустить и не умеет длинные имена файлов. Функциональность по оформлению документа ничем не уступает таковой в последнем ворде.
From:(Anonymous)
Date:January 21st, 2022 - 02:46 pm
(Link)
бгг а ты пробовал в 6 ворде сверстать сложную многостраничную таблицу? то-то.

большие и сложные таблицы в любом визуальном редакторе почему-то пиздец, в хоть каком. а в веб броузерах работает.
From:[info]xenon
Date:January 21st, 2022 - 03:00 pm
(Link)
Да я догадываюсь, что 6-му ворду не стоит большие объёмы давать. А браузеры — понятное дело, рассчитаны на сайты-визитки, которые тяжеловесней, чем документы на стопиццот страниц с хитровыебанными таблицами, открытые в тяжеловесных офисных веб-прилоежниях.
From:(Anonymous)
Date:January 21st, 2022 - 03:11 pm
(Link)
броузеры и во времена 6 ворда справлялись с таблицами лучше, чем ворд.
From:[info]xenon
Date:January 21st, 2022 - 03:16 pm
(Link)
за 30 лет ничего не изменилось %)
[User Picture]
From:[info]ketmar
Date:January 21st, 2022 - 03:40 pm
(Link)
отчасти потому, что просто показать и позволить как угодно редактировать — две большие разницы.
From:(Anonymous)
Date:January 22nd, 2022 - 03:07 pm
(Link)
хуйня какая-то, по-моему

хотя бы потому что html можно "как угодно редактировать".
[User Picture]
From:[info]ketmar
Date:January 22nd, 2022 - 09:01 pm
(Link)
ну, попробуй. content editable очень ограничен, и мгновенно начинает бажить и тормозить (в разных браузерах по разному), как только от него хочешь странное. это уж не говоря о том, что «схватиться мышкой за разделитель ячеек и потащить», например — слабовыполнимая мечта. а если ты попробуешь работать через editable со всей страницей, а не со специально выделеным дивом, да ещё и в режиме нормального текстового процессора, а не «вставил два символа, теперь я Автор»…

впрочем, браузеры тоже давно уже адовые тормоза. потому что какой-то идиот решил, что мутабельные страницы — это охуительная идея. и реализовывать нормальные быстрые алгоритмы лайаутинга сразу стало бесполезно.
From:(Anonymous)
Date:January 22nd, 2022 - 09:15 pm
(Link)
не-не, ни в каком режиме "нормального текстового процессора".
сколько-нибудь сложные таблицы в них нельзя сверстать в принципе.
[User Picture]
From:[info]ketmar
Date:January 22nd, 2022 - 09:29 pm
(Link)
опять же — разные области применения.

я, в общем, к тому, что эффективные алгоритмы для разных случаев — разные. можно сделать, конечно, что-то, что будет относительно приемлемо работать для широкого спектра задач — но оно и будет не «хорошо», а «удовлетворительно».

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

если к нему добавлять инкреметнальный reflow — всё станет намного хуже. а если возможность произвольно менять структуру документа в любом месте — он превратится в жручую тормозную фиготень. а если это оптимизировать под частое редактирование — то и вообще выкинуть, и сделать иначе (будет быстрее, но всё равно медленно).
From:(Anonymous)
Date:January 23rd, 2022 - 08:16 am
(Link)
ты, опять же, не о том.

я говорю о том, что в известных мне реализациях wysiwyg редакторов сложные таблицы не верстаются в принципе. не работают в принципе. вообще не работает. дилеммы вида просто/быстро vs сложно/медленно (я утрирую) просто нет.
From:(Anonymous)
Date:January 23rd, 2022 - 08:19 am
(Link)
вот кстати интересно, из какой задницы форумный движок берет время "Jan. 23rd, 2022|08:16 am" 23 февраля окей, но время UTC 11:39 сейчас, на момент предыдущего комментария было допустим на 5 минут меньше.
From:(Anonymous)
Date:January 23rd, 2022 - 08:19 am
(Link)
s/февраля/января/
[User Picture]
From:[info]ketmar
Date:January 23rd, 2022 - 08:20 am
(Link)
насколько помню — берёт с часов сервера и не парится.
[User Picture]
From:[info]ketmar
Date:January 23rd, 2022 - 08:19 am
(Link)
я о том, просто криво. проблему решили обрезанием (или она сама обрезалась от такой жизни).
From:(Anonymous)
Date:January 21st, 2022 - 02:47 pm
(Link)
либра при запуске целую JRE засасывает, кажется.
From:[info]xenon
Date:January 21st, 2022 - 03:03 pm
(Link)
софт, написанный на крестах, требует жре? Этот мир не победить %)
From:(Anonymous)
Date:January 21st, 2022 - 03:14 pm
(Link)
я, честно говоря, не помню, почему конкретно в либре нужна JRE. помню что была установка с JRE и без него, но это было давно.
[User Picture]
From:[info]ketmar
Date:January 21st, 2022 - 03:38 pm
(Link)
плугины на жабе писать.
From:(Anonymous)
Date:January 20th, 2022 - 12:07 pm
(Link)
тебе бы процессор помощнее, было бы еще быстрее!
[User Picture]
From:[info]ketmar
Date:January 20th, 2022 - 04:35 pm
(Link)
зачем? что плохого в этом камне? был бы камень гигагерца на 2 — я бы его использовал. софт должен не тормозить потому что написан руками, а не потому что его лошадьми завалили.
From:(Anonymous)
Date:January 20th, 2022 - 12:30 pm
(Link)
Даже если в итоге получится совсем какашка, удивительно где ты находишь столько мотивации. Моего запала в масштабных проектах хватает максимум на пару недель. Еще пару недель я кое-как себя заставляю. Дальше "век бы этого говна не видеть". Может это с возрастом приходит? Раньше с этим (мотивационной частью) у меня было ещё хуже.
[User Picture]
From:[info]ketmar
Date:January 20th, 2022 - 04:32 pm
(Link)
а это зависит от того, собираешься ли ты результатом пользоваться, или нет. мне нужен редактор. быстрый, простой по коду, расширяемый. тот, что у меня сейчас есть — он быстрый, но с простотой и расширяемостью там всё очень-очень плохо. а редактор мне нужен постоянно, я в нём другой код пишу. ;-)

если ты посмотришь на мои гит-репы на козе, например, то увидишь паттерн: пилим-пилим-пилим-пилим-мёртвая тишина. это значит, что или надоело, или софтина делает то, что мне надо, и я её просто использую. так-то у меня дофига всякого самописного — терминал, почтовик, ирц и им клиенты, прочая фигня. вот проект «терминал + встроеный файловый менеджер» я не доделал, например. не хватило запала.


tl;dr: ты пытаешься себя заставить делать то, что тебе не нужно и неинтересно. оно даже за деньги так работает очень хуёво, а бесплатно и вовсе никак. попробуй находить в задачах что-то интересное, или решать их не теми путями, которыми ты привык.
From:(Anonymous)
Date:January 23rd, 2022 - 08:27 am
(Link)
> запала в масштабных проектах хватает максимум на пару недель. Еще пару недель я кое-как себя заставляю. Дальше "век бы этого говна не видеть". Может это с возрастом приходит?

с возрастом всё только уходит. не точно то, о чем ты писал, но в принципе пик интеллектуальных возможностей приходится на 2й-3й десяток, и после пика идёт спад. мотивация может быть лучше, а способностей реализовать идеи самостоятельно будет недостаточно, времени тоже (типа, семья-дети-прочая хуйня).
[User Picture]
From:[info]ketmar
Date:January 23rd, 2022 - 08:30 am
(Link)
кстати, в принципе: если недели за три проект (личный) не взлетел (то есть, ним ещё нельзя пользоваться, пусть и косо-криво) — то, скорее всего, уже не взлетит никогда. у меня по редактору вот срок подходит. ещё дня три-четыре — и если я не перейду дальше на код в самом редакторе, то, скорее всего…
From:(Anonymous)
Date:January 23rd, 2022 - 08:48 am
(Link)
не обязательно; зависит от того, как распланировать работу (а это уже кстати как раз зависит от опыта).

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

это, очевидно, не всегда возможно.
[User Picture]
From:[info]ketmar
Date:January 23rd, 2022 - 09:29 am
(Link)
да особо без разницы: если за три недели не появляется что-то, что можно реально использовать, то как ни разбивай, а становится скучно.
From:(Anonymous)
Date:January 20th, 2022 - 03:46 pm
(Link)
>i3/3.6 GHz, если чо

многое объясняет. про видеокарту так и не напишешь видимо лл
[User Picture]
From:[info]ketmar
Date:January 20th, 2022 - 04:33 pm
(Link)
это тебе, конечно, много даст. какая тебе разница, что у меня на рабочей технике. и нет, это не вопрос, если что.
From:(Anonymous)
Date:January 20th, 2022 - 05:31 pm
(Link)
ого так ты на работу устроился? а как же принцыпы?
[User Picture]
From:[info]ketmar
Date:January 20th, 2022 - 05:46 pm
(Link)
да. мне платят за то, что я смотрю на тупых анонов и пытаюсь не фэйспалмить.
From:(Anonymous)
Date:January 21st, 2022 - 01:46 pm
(Link)
врёшь :)
From:(Anonymous)
Date:January 22nd, 2022 - 10:32 am
(Link)
>>>гигабайт текста красит пятьдесят секунд

компилятор, глядя на этот файл гигабайтного размера: "господи, когда ж я сдохну..."

или ты собираешься портировать dn3d KS-style, вообще весь код сложить в один файл? так и то много меньше гигабайта будет, разве что ресурсы запихать туда же :)

так-то для редактора _осмысленного_ текста файл гигового размера - патологический случай. goodenough, дальнейшую оптимизацию можно отложить :)
[User Picture]
From:[info]ketmar
Date:January 22nd, 2022 - 08:16 pm
(Link)
>так-то для редактора _осмысленного_ текста файл гигового размера -
>патологический случай. goodenough, дальнейшую оптимизацию можно отложить :)

конечно, я тестирую на патологиях. но если на файлах такого размера работает нормально — то на нормальных и тем паче.

так-то исходник размером даже в мегабайт — уже обычно малоосмысленная каша, вряд ли я обычно буду работать с размерами больше… ну, двести-триста кб at max. но сам подумай: а как мне тогда хвастаться? с такими размерами что угодно быстро работает, не о чем в бложег писать.
From:(Anonymous)
Date:January 23rd, 2022 - 11:13 am
(Link)
> но если на файлах такого размера работает нормально — то на нормальных и тем паче

а оверхед всей этой хуйни на типичном 5-килобайтном исходнике похуй?
[User Picture]
From:[info]ketmar
Date:January 23rd, 2022 - 11:15 am
(Link)
абсолютно.
[User Picture]
From:[info]ketmar
Date:January 22nd, 2022 - 08:54 pm
(Link)
кстати, сишный выхлоп под 20-40 мегов очень любил генерить компилятор stalin scheme. ну, название обязывает, тащемта.
From:(Anonymous)
Date:January 23rd, 2022 - 11:14 am
(Link)
по-моему, такие высеры вообще не предназначены для текстовых редакторов - по ним надо грепом ходить
[User Picture]
From:[info]ketmar
Date:January 23rd, 2022 - 11:19 am
(Link)
не предназначены. но это не повод не пробовать.
[User Picture]
From:[info]steinkrauz
Date:January 23rd, 2022 - 12:56 pm
(Link)
Далеко не всегда. Вот если есть у тебя жирнючий XML или ещё более жирный лог, то разбираться в них проще в рамках одного редактора.
[User Picture]
From:[info]steinkrauz
Date:January 23rd, 2022 - 01:06 pm
(Link)
Эх, жаль твой редактор на винду перетащить нельзя.

Тут намедни разбирал гигабайтный лог, редактор строчку в нём искал секунд десять-пятнадцать, хоть и написан на плюсах.

Мой парсер на шарпе, ещё и в процессе работы ходящий в LDAP, этот же лог обрабатывает за 8.

Хочется всё-таки нормального софта обратно, а не хипстерских комбайнов.
[User Picture]
From:[info]ketmar
Date:January 23rd, 2022 - 10:56 pm
(Link)
почему нельзя — можно. фронтэнд-рисовалка отделён от остального. фрэйм рисуется тупо в cell buffer: массив из символов и цветов. а кто, как и куда рисует cell buffer — дело десятое. все пишется как раз так, чтобы можно было новые фронтэнды добавлять без особых проблем.

но поиск у меня тоже будет не самый быстрый: текст-то нарезан в лапшу. в самом лучшем случае, сразу после загрузки — нарезан на блоки по 4 кб. простым `memmem()` не отделаешься. и мне ещё надо движок регулярок сделать сначала, лол.
[User Picture]
From:[info]ketmar
Date:January 24th, 2022 - 03:31 am
(Link)
я потом ради прикола, может, и напишу фронтэнд для винды. почему нет, собственно: там всего-то надо буквы рисовать, да события получать. для tty всё равно надо будет делать, а где два фронтэнда — пусть и три будет. правда, я хуй знает, как это на винде собирать.
[User Picture]
From:[info]steinkrauz
Date:January 24th, 2022 - 03:01 pm
(Link)
Вавум собрали, редактор тем более никуда не денется.
[User Picture]
From:[info]ketmar
Date:January 24th, 2022 - 03:35 pm
(Link)
вавум я изначально кросс-платформой пилил.