javascript изнутри
Добрый день.
А задавался ли кто вопросом, как устроены классы в js, например Object, Data. Знаю, что гугловый движок v8 opensource, копался ли кто в нем? Интересно же :) |
Ну классов в js, как таковых то и нет, а что именно тебя интересует? Просто это довольно обширный вопрос и ответить на него ты сможешь покопавшись самому в тех же исходниках или же спрашивая поконкретнее, думаю ответ найдётся у кого-нибудь.
|
Зато есть эмуляция классов.
Пишем var obj = new Object(), тем самым создавая экземпляр "класса" Object. Или я не прав? Меня интересуют исходники функций-конструкторов, таких как тот же Object, например. |
Цитата:
Цитата:
|
Ты же не думаешь что нативные функции напсианы на javascript??
|
Цитата:
вопрос профессионалам: вам самим неинтересно, что там внутри и как это работает? или вам хватает чтения спецификаций? при создании темы подумал, что может кто-нибудь проводил небольшое исследование по этому вопросу и написал статью |
Цитата:
я туда лазил для выяснения таких тонкостей, которые не описаны в спецификациях. читать код трудно и незачем, если его описание находится в спецификации - русский перевод ECMA у нас есть, некуда удобнее. другое дело, чтобы узнать, какими алгоритмами они руководствуются (кстати, в css3 анимациях уже процессе анимирования используется линейный поиск значений (кейфреймов) для свойств (это медленно и там даже коммент есть, что этот поиск нужно заменить на бинарный, так то :))) Цитата:
я облазил несколько "обзорщиков" исходного кода, но остановился на двух самых удобных, коих рекомендую ниже. чромиум http://code.google.com/p/chromium/source/search файрфокс http://dxr.mozilla.org/ остальные какие-то дикарские - в этих хотя бы поиск нормальный есть, и даже можно нажать на тип/переменную/инклуд, чтобы переместиться к её определению\файлу. |
Если бы я писал движок я бы посмотрел но то как устроенны другие движки, а так мне не очень хочется тратить на это время, а любопытство есть куда направить.
п.с. профессионал. спецификацию не читал, доламерствовал до своего уровня мелкими шажками. |
и вообще, разве понмиание того как реализован яваскрипт улучшит понимания яваскрипта или ВООБЩЕ ХОТЬ КАК-ТО СВЯЗАННО С САМИМ ЯВАСКРПТОМ??? я логики не пойму)) этот вопрос на сайте по С++ задавать надо было бы.
|
Цитата:
|
по-моему, улучшит
спасибо всем высказавшимся, тему можно закрывать |
Цитата:
Цитата:
Цитата:
Пример: когда то рекомендовали делать так for( var i = 0, len = arr.length; i < len; i++ ) { сейчас уже не актуально. Еще мысль: любые оптимизации на уровне языка не сравняться с оптимизациями на уровне реализации/интерпретации этого языка. Более того, оптимизации на уровне языка могут загубить оптимизации на уровне реализации/интерпретации этого языка. Когда пишешь на языке высокого уровня нет нужды об этом задумываться. Путь об этом думают разработчики языка. При этом здравый смысл никто не отменял. p.s.: Возможно, в терминологии я немного не так выразился, но мысль, думаю, ясна. |
[ANTI]CheateR, [offtopic]Жуть как режет взгляд ваш ник — привычки говорят должно быть так: ANTI["CheateR"] :-)[/offtopic]
|
Цитата:
Цитата:
короче замечаю что мелкий нубло уже раз в 10 за последний месяц, то про линукс тупанет, то про еще что-то.. я разочарован... |
Цитата:
|
godofjavascript,
ладно максимус я тебя узнал, во всяком случае из логики следует, что ты максимус Цитата:
|
Цитата:
Нубло - нуб - новичок. Если эти слова воспринимаются человеком как грубость, то это только его проблемы, и если он меня попросит хорошо, то я, факт о том что он судя по всему новичок в яваскрипте, буду преподносить ему в переформулированной форме, чтобы не расстраивать. |
Цитата:
то, что один и тот же код с разной скоростью работает в FF и CH тому пример - далеко на jsperf ходить не надо. поэтому нужно знать, как будет выглядеть твой код "с той стороны". вспомни кеширование длины массива при его обходе. Цитата:
Цитата:
Цитата:
Цитата:
и я не понимаю, с чего ты взял, что я нуб. поржал. так что поясняй "с радостью". ты знаешь, кто такой новичок, вообще? неудивительно, что тебя с такой критикой постоянно банят. |
Цитата:
А вообще приведи-ка пример знания того как реализация яваскрипта влияет на упор на производительность. А то пока только диванное кукаркекание слышу. что мыл " в теории в теории" если доказательства,? Есть примеры? Нет - кнопочка выход - вверху. Есть чем подтвердить свои слова, добро пожаловать в дискуссию. Цитата:
Цитата:
ядумаю что обломы на этом не закончятся так что если что тупанешь то сразу буду носом тыкать со словами " я вот об этом говорил" |
Цитата:
Цитата:
http://v8-io12.appspot.com/#1 |
godofjavascript, если вы такой умный то что вам мешает выучить С++ и разобраться как все работает?
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
godofjavascript, может хватит из себя умного строить?
если вы бы ли умнее остальных на этом форуме то не задавали бы тупых вопросов и научились бы пользоваться гуглом http://habrahabr.ru/post/72474/ |
короче все, я с тобой диалог не веду, ты неадекват, давай в черный.
|
melky,
не актуально, можно РЕАЛЬНЫЙ ПРИМЕР (ау мы в 2012 году живем, и не в теориях, а в практиках) |
godofjavascript, харош бузить уже, ага? Будь добрее :)
|
оки оки) у меня просто разз со мной не согласны значит на меня нападают, - ядолжен защищаться)
ну так я реал не понмиаю зачем учить то как кто то реализовывает движки яваскрипта)? обьясните мне)? как этот вопрос вообще яваскриптом связан? это же разные уровни абстракции)) совершенно. Если бы движок яваскрипта писался на яваскрипте вот тогда бы этот вопрос имел вообще отношение про яваскрипт)) а так этот вопрос надо на форуме по С++ задавать, типа я вот пишу игру, а я вот яваскрипт машину, как лучше сделать пасоны? |
Цитата:
разве когда ты на Жуквери пишешь, ты не представляешь, что там происходит, внутри неё? |
Цитата:
разве когда ты на Жуквери пишешь, ты не представляешь, что там происходит, внутри неё? -------- вот в жуквери представляю а тут не представляю, давай говорить не метафорами и сравнениями а конкретными вещами, приведи пример то. для оптимизации, приведи пример для оптимизации? - раньше длинна массива не кэшировалась. - ок ок, вот значит раньше и надо было знать как работает машина, а щас не обязательно. Или приведи пример зачем учить как устроен движек ЩАС? ну правда, в упор не вижу. п.с. Когда пишу на жуквери хочу у знать как она устроенна для оптимизации, если сможешь спроецировать это на нашу тему то попробуй, только пожалуйста омжно конкретный пример. что я и прошу. потому что очевидно что знать как устроенны нижние уровни абстаркции важно для оптимизации на верхних, это и так понятно но мы конкретный случай рассматрвиаем) не жуквери не мутулс, а именно машину яваскрипта и яваскрипт. |
Цитата:
http://javascript.ru/forum/events/16...remennojj.html <-- загадка от меня. V8 constructors <-- установленный прототип со значениями по-умолчанию быстрее, чем отсутствие прототипа. Обьяснение этому находится в презентации\статье с хабра, которую я недавно кидал. |
Это муравьиная оптимизация или нет? Я просто не знаю. (п.с. спс)
|
Цитата:
в моем примере разница 8% ... и это только из-за одной локальной переменной! (больше не тестил. сейчас времени вообще нет) |
Ясно спасибо, это во всех движках работает?
|
Часовой пояс GMT +3, время: 18:23. |