, но он замедляет работу скрипта в целом, так что это нежелательно.
Замедляет каждый раз, когда количество отслеживаемых существующих объектов превышает 10 000 (можно переопределить при сборке, нельзя настроить через php.ini). Если после очистки буфер потенциальных целей переполнен, отслеживание новых объектов не производится.
Трекинг потенциальных целей выполняется независимо от состояния опции zend.enable_gc, замедление происходит только при вызове сборщика циклических ссылок. Заставить занимать значительную долю во времени выполнения скрипта можно, но довольно сложно. В целом замедление обычно не превышает 5-7%, при этом экономит солидные объемы памяти (что позволяет обслуживать большее количество клиентов параллельно).
Вы плохо следите за дискуссией. Сравнивать их хотел leorik, на что SychevIgor приравнял JVM к «одному конкретному языку» (видимо, Java). На что я ему и возразил, что топик был о CLR, коммент leorik — о JVM, и что они вполне сравнимы.
После этого пришли вы, и приписали мне желание их сравнивать, какового желания я не испытывал ни в малейшей степени.
Если развеивать миф, о котором я знаю, что это миф — то для меня подобная информация будет бессмысленна. Про мифическую сущность остальных мифов, мне, очевидно, неизвестно. Следовательно и указать я на них не могу.
Ergo вы поставили либо бессмысленную, либо невозможную задачу.
1- тут обсуждение идет Мифы про C#, а не C# против 1 конкретного языка.
С чего бы? Топик озаглавлен 'Мифы и заблуждения насчёт CLR и .NET'. Сравнивать CLR и JVM вполне корректно — и то, и то — виртуальные машины поддерживающие множество языков.
vm без jit = сплошной интерпретатор. время на компиляцию = 0.
vm c jit = очень продвинутый интерпретатор с компиляцией на лету. время на компиляцию != 0. В итоге время испольнения байт-кода приблизительно должно быть одинаково.
без JIT:
1. запускаем программу (1 сек)
2. крутим цикл стотыщмильёнов раз (каждая итерация 0.001 сек)
…
общий рантайм: 100 000 001 сек (~3.16 лет)
c JIT:
1. запускаем программу (1 сек)
2. компилируем цикл (1000 сек)
3. крутим цикл стотыщмильёнов раз (каждая итерация 0.000001 сек)
…
общий рантайм: 101 001 сек (~28 часов)
в итоге выигрыш от jit зависит от соотношения времени на компиляцию кода к времени на выполнение этого кода.
краткая версия коммента: некрофил детектед
длинная версия: Apache 1.3 не поддерживается Apache Foundation. Разрабатывать новые модули под него сейчас — все равно, что писать новые экстеншены под PHP3 или драйвера под DOS. Можете портировать сами или нанять человека, который это сделает за вас.
crackling — потрескивание. на amd-шных процах и встроенных звуковухах лечится отключением Cool & Quiet (но теряется возможность работать на пониженных частотах).
Так часто или редко?
Укажите в сопроводительном письме к резюме.
После этого пришли вы, и приписали мне желание их сравнивать, какового желания я не испытывал ни в малейшей степени.
Ergo вы поставили либо бессмысленную, либо невозможную задачу.
Через рекурсию, видимо.
С чего бы? Топик озаглавлен 'Мифы и заблуждения насчёт CLR и .NET'. Сравнивать CLR и JVM вполне корректно — и то, и то — виртуальные машины поддерживающие множество языков.
Из головы придумал, для иллюстрации принципа. Вы же не думаете, что я провел натурный экперимент длительностью в 3 года ради того комментария?
но думаю в данном при сборке в Release компилятор бы вообще убрал к чертовой матери цикл, по причине отсутсвия в нем необходимости.
А кто сказал, что цикл был пустым?
без JIT:
1. запускаем программу (1 сек)
2. крутим цикл стотыщмильёнов раз (каждая итерация 0.001 сек)
…
общий рантайм: 100 000 001 сек (~3.16 лет)
c JIT:
1. запускаем программу (1 сек)
2. компилируем цикл (1000 сек)
3. крутим цикл стотыщмильёнов раз (каждая итерация 0.000001 сек)
…
общий рантайм: 101 001 сек (~28 часов)
в итоге выигрыш от jit зависит от соотношения времени на компиляцию кода к времени на выполнение этого кода.
длинная версия: Apache 1.3 не поддерживается Apache Foundation. Разрабатывать новые модули под него сейчас — все равно, что писать новые экстеншены под PHP3 или драйвера под DOS. Можете портировать сами или нанять человека, который это сделает за вас.
например так: www.madehow.com/Volume-5/Suspension-Bridge.html (осторожно, много английских букв)
Но вообще может зависеть от броузера, поскольку использует activex/(DOMParser && XSLTProcessor).
что именно невозможно?