ладно... давай так...Чем является "указатель" в языке Си?
Цитата: Samovar от 01 Ноябрь 2016, 19:43:38ладно... давай так...Чем является "указатель" в языке Си?Указатель является числом (по-моему, шестнадцатеричной системы исчисления), указывающим на ячейку памяти, которую я занял, создав переменную.
Цитата: LanuHum от 01 Ноябрь 2016, 19:52:26Цитата: Samovar от 01 Ноябрь 2016, 19:43:38ладно... давай так...Чем является "указатель" в языке Си?Указатель является числом (по-моему, шестнадцатеричной системы исчисления), указывающим на ячейку памяти, которую я занял, создав переменную.почти попал указатель является адресом НАЧАЛЬНОЙ ячейки памяти в которой что-то хранится... но блин, непонятно чито тамо хранится, т.к. одна ячейка памяти - это один байт, но дальше идут другие байты... потому указывается тип ( размерность переменной... или сколько следующих байт используется)... ясно? ...там может хранится и адрес функции (подпрограммы)в памяти... да и пофиг что
ну и что ты думаешь делает компилятор Си, когда ты написал функцию и обозвал её?он просто пишет в машинном коде:Call [адрес функции в памяти]
Ну а дальше у проца есть регистры...Регистр IP (счётчик команд) указывает на адрес в памяти, где лежит команда к процессору... и ещё есть стэк тамо хранятсо все локальные переменные функций...
Python - интерпретатор , т.е. набор подпрограмм (читай лажа по скорости), он не сможет быстро работать никогда...
Цитата: Samovar от 01 Ноябрь 2016, 20:44:47 Python - интерпретатор , т.е. набор подпрограмм (читай лажа по скорости), он не сможет быстро работать никогда...Это тут каким боком? Блендер использует питон для создания файла сцены посредством скрипта экспорта, стало быть это факт, от которого нам не уйти никуда. Хотим мы или нет, но без питона, не влезая в код самого блендера, файл сцены мы не создадим ни для люкса, ни для яфы, ни для поврея, ни для кого, вообще. Но, если мы посмотрим правильно, то увидим, что время отнимает у нас ни столько питон, сколько сама запись в файл, как и вывод в консоль. Даже на С программа считает 100 миллисекунд, а, если захотим видеть результат в консоли, то уйдёт минута, три, пять...Другая сторона медали - парсер. Бесконечные сравнения, приведения... Одно дело объявить а = 10, другое дело перебрать сто условий в конце которых таки выяснится, что а = 10...
но если сможешь, то лучше читай напрямую из памяти- это наилучший вариант
Цитата: LanuHum от 01 Ноябрь 2016, 20:59:43Цитата: Samovar от 01 Ноябрь 2016, 20:44:47 Python - интерпретатор , т.е. набор подпрограмм (читай лажа по скорости), он не сможет быстро работать никогда...Это тут каким боком? Блендер использует питон для создания файла сцены посредством скрипта экспорта, стало быть это факт, от которого нам не уйти никуда. Хотим мы или нет, но без питона, не влезая в код самого блендера, файл сцены мы не создадим ни для люкса, ни для яфы, ни для поврея, ни для кого, вообще. Но, если мы посмотрим правильно, то увидим, что время отнимает у нас ни столько питон, сколько сама запись в файл, как и вывод в консоль. Даже на С программа считает 100 миллисекунд, а, если захотим видеть результат в консоли, то уйдёт минута, три, пять...Другая сторона медали - парсер. Бесконечные сравнения, приведения... Одно дело объявить а = 10, другое дело перебрать сто условий в конце которых таки выяснится, что а = 10...нахрена тебе экспортировать сцену куда-то, тратя на это время и память, если ты можешь читать blend-файл из памяти? да, это сложно... но это наиболее эффективно и быстро....
Или ты предлагаешь мне перенести из кода блендера все алгоритмы вычислений?
Т.е. ты тупо копируешь данные из памяти в память, а потом ещё и в свой рендерер, расходуя её в х3 больше Эффективней будет читать .blend напрямую из памяти, тогда расход уменьшится до х2, но это сложно...