171 похожих чатов

События нужны 0.01% - я не видел что бы их

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

То что я делаю - это далеко не всем надо, а тем кому надо быстрее, я же на чистом пхп мимо модх пишу это все. а ускоряю за счет разных алгоритмов, например считать 100тв по именам/заголовкам за два запроса а не за 300 как стандартно. читаю все тв ид, имя, заголовок, зн.по умолч в массив заранее. потом читаю эти 100 тв и в цикле с 2 мя условиями заполняю словарь ключ-значение. Если надо что то над ними сделать то не дергаем событие для каждого а в этом же цикле вызывем val=f(val) которая сделает тоже самое. у меня вот если тип тв listbox то меняется 1 на "да" 0 на "нет" и пересчет валют и скидок. Почему это не сделано в самом классе модх - вот вопрос, это очень нужная штука.
Запись 100тв почти тоже самое, но сложнее. И все это в итоге быстрее в 1000+ раз. т.к запрос это через сокет- это намного медленней чем ф-ю вызвать. чтение/запись 100 ресурсов с нужными тв тоже также примерно, но алгоритм сильно сложнее- куча буферов, вспомогательных вызовов и автозамен, но быстрее. Да это обычное дело- короткий простой код работает обычно дольше, а сложный и большой - быстрее- там подготовка, а потом за один проход, а не цикл в цикле или рекурсия.

То же самое с классами - яркий пример либа spout-писал о ней-ищите выше. там запись 1000х100 это 100к объектов создать, записать через встроенный вызов и тут же их уничтожить. Причем там все объекты- лист,строка, ячейки, зачем? это использование хороших технологий в не том месте. как из пушки по воробьям. Тот кто математику учил знает это. Если такой типа "инженер" построит дом то он будет стоить как золотой и через год рухнет. а в нормальных странах за такое вобще растреливают :)

а я пишу в 2х циклах в 2 байтовых буфера сразу в нужном формате, и при заполнении скидываю порциями в файлы, потом в zip и ексель файл готов- 1 к 1 но в _МИЛЛИОН_ раз быстрее. вот тебе и классы, да может в играх где то удобно-персонажей клепать через классы, их там мало, а когда миллион записей, то про классы/объекты лучше забыть и все на циклах и максимум пороцедурах- которые лучше в цикл включить и заменить все развилки арифметикой и сдвигами. на Си есть INLINE - они при компиляции в код встраиваются- это сильно ускоряет. тут нету-ручками.

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

2 ответов

12 просмотров

вот ты не угомонишься)

ты же вкурсе что такое попадание в кэш в ЦПУ? что такое компилятор?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
15
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта