|
|
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
НяшикТолько всё равно медленно на 3 секунды примерно Код: plaintext только тебе эти секунды не надо, тебе нужно понимание того, как компилятор расскажет процессору что делать с твоим кодом. а ты даже асм листинг толком посмотреть не можешь и на матчасть забиваешь .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 15:25:57 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Няшик, Не инлайнят потому, что они жрут много executable памяти и занимают кучу регистров, которые нужны для оптимизации вне. У тебя тест простой, может и нет разницы, а на реальных тестах может сыграть роль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 15:26:46 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Bred eFeMНяшикТолько всё равно медленно на 3 секунды примерно Код: plaintext только тебе эти секунды не надо, тебе нужно понимание того, как компилятор расскажет процессору что делать с твоим кодом. а ты даже асм листинг толком посмотреть не можешь и на матчасть забиваешь .... К слову, если отрубить браузер, то при Код: pascal 1. 2. 3. 4. Он как раз выдаёт 2.871028 сек. О чём лишний раз говорит, что я всё правильно делаю (можно забить на 19 байт, это не 24 и не 30 с лишним) Только ваш северный процессор стоит $347.00 а мой детскопный $47.00 Сравнение ваших и моего процессора E3300 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 15:50:42 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUНяшик, Не инлайнят потому, что они жрут много executable памяти и занимают кучу регистров, которые нужны для оптимизации вне. У тебя тест простой, может и нет разницы, а на реальных тестах может сыграть роль Пока не наблюдал проблем, я уже в VM машину включил их для переменных, которые активно участвуют в вызовах функций, констант и так далее Возможно такой проблемы нету, из за того что я использую прямую адресацию к своей структуре. И компилятору не составляет труда вставить его неизменным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 15:54:01 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Няшик, Мне кажется, ты уже долго мучаешься с ним Давай ускоряйся И помни, что важна не скорость компиляции, а скорость исполнения. Или в PHP это одно и то же? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:08:40 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUНяшик, Мне кажется, ты уже долго мучаешься с ним Давай ускоряйся И помни, что важна не скорость компиляции, а скорость исполнения. Или в PHP это одно и то же? ) Ну как бы, я параллельно задаю вопросы и реализовываю по плану желаемое (И потом, если что - то узнаю полезное, изменяю.) Насчёт скорости компиляции речь не шла. Я старался сделать контейнер компактнее, и максимально быстро (Но жертвовать приходиться всегда) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:34:09 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
если отрубить браузервот-вот, ос и другие проги отбирают кеш. всё правильно делаю Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 17:17:37 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Bred eFeMобъясни, что тут и как, и будет всё++ Код: pascal 1. 2. 3. Надо объявить память под переменную, в переменной выделить память 4 байта под структуру StrRec Данная структура хранит информацию о длине строки, счётчик ссылок, и информацию о кодировки с прочей лабудой. Дальше, мы копируем байты основной строки в наш бокс, который может держать в себе PAnsiChar и PWideChar с string который в итоге будет UnicodeString Перезапись, в функции CopyArray а именно _LStrAsg -> _LStrClr вызовет FreeMem и не будет утечек. Длину строки можно получить так (в быстрой формулировки) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 18:26:28 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
НяшикSOFT FOR YOUНяшик, Мне кажется, ты уже долго мучаешься с ним Давай ускоряйся И помни, что важна не скорость компиляции, а скорость исполнения. Или в PHP это одно и то же? ) Ну как бы, я параллельно задаю вопросы и реализовываю по плану желаемое (И потом, если что - то узнаю полезное, изменяю.) Насчёт скорости компиляции речь не шла. Я старался сделать контейнер компактнее, и максимально быстро (Но жертвовать приходиться всегда) ты сначала сделай, чтобы всё работало, весь функционал твоего интерпретатора PHP работал от начала и до конца и был покрыт тестами, а потом будешь гнаться за скоростью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 19:15:44 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
память 4 байта под структуру StrRec Данная структура хранит информацию о длине строки, счётчик ссылок, и информацию о кодировки с прочей лабудой. и всё в 4 байта ? копируем байты основной строки в наш боксв бокс, так там StrRec, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 19:21:57 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
defecatorНяшикпропущено... Ну как бы, я параллельно задаю вопросы и реализовываю по плану желаемое (И потом, если что - то узнаю полезное, изменяю.) Насчёт скорости компиляции речь не шла. Я старался сделать контейнер компактнее, и максимально быстро (Но жертвовать приходиться всегда) ты сначала сделай, чтобы всё работало, весь функционал твоего интерпретатора PHP работал от начала и до конца и был покрыт тестами, а потом будешь гнаться за скоростью. Ну вот zend переписывали, и что это дало??? Да, безусловно есть оптимизация с предыдущими тестами. Но не на много. А теперь они оптимизируют ядро на вызовах (вырезая их) Bred eFeMпамять 4 байта под структуру StrRec Данная структура хранит информацию о длине строки, счётчик ссылок, и информацию о кодировки с прочей лабудой. и всё в 4 байта ? копируем байты основной строки в наш боксв бокс, так там StrRec, не? Выделить надо 4 байта, для того что бы записать туда. Это не я придумал, это даже в TValue реализовано (От туда и подчеркнул для себя). Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 19:35:24 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
это даже в TValue реализованону, и где там слово '4' ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:02:13 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Няшикdefecatorпропущено... ты сначала сделай, чтобы всё работало, весь функционал твоего интерпретатора PHP работал от начала и до конца и был покрыт тестами, а потом будешь гнаться за скоростью. Ну вот zend переписывали, и что это дало??? Да, безусловно есть оптимизация с предыдущими тестами. Но не на много. А теперь они оптимизируют ядро на вызовах (вырезая их) пытаясь сразу сделать супер-пупер-быстро, вместо безошибочной реализации всего функционала, ты углубляешься в детали, которые на данном этапе малосущественны. Будешь как SOFT FOR YOU - море говнокода, понты "у меня самый быстрый в мире код", а на выходе - пшик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:04:23 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Bred eFeM это даже в TValue реализованону, и где там слово '4' ? 4 это Pointer, моя ошибка что не уточнил.. Извиняюсь ! Вот приме того что будет. defecatorНяшикпропущено... Ну вот zend переписывали, и что это дало??? Да, безусловно есть оптимизация с предыдущими тестами. Но не на много. А теперь они оптимизируют ядро на вызовах (вырезая их) пытаясь сразу сделать супер-пупер-быстро, вместо безошибочной реализации всего функционала, ты углубляешься в детали, которые на данном этапе малосущественны. Будешь как SOFT FOR YOU - море говнокода, понты "у меня самый быстрый в мире код", а на выходе - пшик. Функционал библиотечных функций я хочу реализовывать на самом SPHP, а потом возможно конвертировать в Delphi код и компилировать (Это позволить качественно дебажить код из самого SPHP и при желании собирать в бинарник полностью, без VM) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:10:19 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
defecator, Сам ты говнокод ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:21:17 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
4 это Pointerхорошо, значит у тебя TBoxArray это Pointer, который указывает на ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:22:13 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Bred eFeM4 это Pointerхорошо, значит у тебя TBoxArray это Pointer, который указывает на ? В общем вот, что получается.. Я как то на словах плохо объясняю, мне это не дано от слова совсем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:34:44 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Вы наверно будете смеяться,но это надо точно занести в топик как я ложанулся... Код: pascal 1. 2. 3. 4. Я думал что на структуры это не распространяется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2017, 00:20:25 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Няшик, будем: - а зачем там packed - наверное можно убрать - и для чего _type, если есть <T> - тоже убрать - а зачем то, что осталось - хз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2017, 00:47:46 |
|
||
|
int64 и перечисление в структуре
|
|||
|---|---|---|---|
|
#18+
Bred eFeMНяшик, будем: - а зачем там packed - наверное можно убрать - и для чего _type, если есть <T> - тоже убрать - а зачем то, что осталось - хз _type нужен для описания таких типов из PHP как resource, iterables, object, callable (Собственно их описания не уместишь <T>) А packed остался просто так (Вполне возможно не нужен. Но пока не буду убирать.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2017, 01:15:47 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39467238&tid=2042169]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
256ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 572ms |

| 0 / 0 |
