Карталинский форум

Карталинское Веб Общение
Текущее время: 20 апр 2024, 09:21


Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 230 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 15:49 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Decon писал(а):
Тьфу, ну так тут просто все оказывается, разговаривать удобнее(быстрее) родным языком или через переводчика!


Ага :) казалось бы! Но удобней и быстрей разные вещи. Верно?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 15:53 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
SAA
Вот накидал цикл, проверяй ссылка


Ты бы исходники бы сюда бы положил, что бы "мухлеж" если что был бы заметен :)

Доберусь до Си только вечером, жди. :)


Вернуться к началу
 Профиль  
Ответить с цитатой  
Непрочитанное сообщениеДобавлено: 19 окт 2010, 16:00 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 4587
Откуда: http://www.bit2bit.ru
Благодарил (а): 136 раз.
Поблагодарили: 294 раз.
Пол: Муж
SAA писал(а):
Смысл темы был нужно или не нужно на Карталы.ру заводить такую ветку в которой обсуждались бы аспекты программирования от узкоспециализированных до универсальных :)

Так если смысл был заводить ветку(подфорум) то я только ЗА, а если смысл был обсудить это то тут, как я и написал, что логически не правильно!

_________________
Настройка и сопровождение Teamcenter, Mikrotik, Eltex, Asterisk, VoIP телефонии, голосовые и интерактивные меню.
Люди выучили умные слова, и стало сложнее определять идиотов.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 16:03 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 4587
Откуда: http://www.bit2bit.ru
Благодарил (а): 136 раз.
Поблагодарили: 294 раз.
Пол: Муж
SAA писал(а):
Decon писал(а):
Тьфу, ну так тут просто все оказывается, разговаривать удобнее(быстрее) родным языком или через переводчика!


Ага :) казалось бы! Но удобней и быстрей разные вещи. Верно?

Когда сопоставляем:
программа(нативный код, или список команд) <-> процессор, исключая облако "Человек" то тут для машины эти вещи как "удобней и быстрей" будут рядом.

_________________
Настройка и сопровождение Teamcenter, Mikrotik, Eltex, Asterisk, VoIP телефонии, голосовые и интерактивные меню.
Люди выучили умные слова, и стало сложнее определять идиотов.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 16:06 
Не в сети
Пользователь
Пользователь
Аватара пользователя

Сообщения: 1264
Откуда: Карталы
Благодарил (а): 9 раз.
Поблагодарили: 70 раз.
Пол: Муж
SAA
Ну вот код, если веришь :)
Цитата:
$z=0
$Gui = GUICreate("Типа ...", 350, 120)
$ele=GUICtrlCreateButton('Старт', 10, 10, 70, 25)
$Label=GUICtrlCreateLabel('Сюда результат', 10, 40, 190, 114)
GUICtrlCreateLabel('количество циклов', 90, 12, 100, 114)
$input=GUICtrlCreateInput('1000', 190, 10, 70, 20)
GUISetState ()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $ele
$input0=GUICtrlRead($input)
$timer = TimerInit()
For $i = 1 to $input0
$z+=1
GUICtrlSetData($Label, $z)
Next
GUICtrlSetData($Label, $z&' раз за '&Round(TimerDiff($timer)/1000, 2)&' сек')
$z=0
Case $msg = -3
Exit
EndSelect
WEnd

_________________
предлагаю услуги по настройке компьютера, подробнее


Последний раз редактировалось Amigo 19 окт 2010, 16:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 16:12 
Не в сети
Пользователь
Пользователь
Аватара пользователя

Сообщения: 1264
Откуда: Карталы
Благодарил (а): 9 раз.
Поблагодарили: 70 раз.
Пол: Муж
Decon
А что есть правильно? Тупо следовать чему то? Ну это кому как. Я Вам обсуждать мешаю нужна ли ветка? А кто в ней будет интересно общаться? Для себя я решил, я мог в ветке по программам открыть, а если тема заслужит отдельной ветки, то не трудно перекинуть в будущем. У меня даже сомнения что одна ветка жить будет, не то что подфорум.

_________________
предлагаю услуги по настройке компьютера, подробнее


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 19:03 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
SAA
Вызов DLL заранее оговаривается программистом перед использованием. Иначе вылетит с ошибкой. И как не крути имя команды придётся указывать текстом ну или кодом но длинна этого кода ни как не укоротится.

Зачем в цикл совать арифметический рассчёт? давай просто обновление переменной, ну или зациклить вывод в гуи, чтоб видно было ход процесса. А то выведу просто результат и доказывай потом что это был цикл :)



Пардон не заметил я этого сообщения. Ну так как функция в DLL для линковки является литеральным выражением в качестве имени, то в стартап коде будет что то вроде этого
loadDLL("other.dll");
func = &GetProcedureAddress("othername");

Дальше вызов осуществляется с использованием указателя func. Стартап код не укоротится, а вот вызов будет короче.


result = func(par1....);

Арифметика нужна что бы понять чем VM плоха. В качестве арифметики в VM применяется арифметический стек, если когда в руках держал советский программируемый калькулятор на вроде МК61 то знаешь как он осуществляет арифметические действия над числами (метод ПОЛИЗ). Вот тут то вся засада и происходит. А обновление переменной оптимизатор С++ просто не заметит вставит туда пустышку. Нужно что бы код делал какие то действия с данными иначе по мнению оптимизатора такой код не имеет смысла компилировать, так как он нечем не занят. Пожалуй я не подумавши предложил делать факториал до 1000 с шагом в 0.01, так как конечный результат вываливается за разрядную сетку числа long double (это 64-битный floating point) и в итоге получается 0.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 19:22 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
SAA
Ну вот код, если веришь :)


Амиго ну код абсолютно жуткий, мало того ты его еще и в ГУИ завернул, накой спрашивается? Делай в консоль.

Код:
#include <cstdlib>
#include <iostream>
#include "windows.h"

using namespace std;

int main(int argc, char *argv[])
{
    DWORD t1, t2;
   
    t1 = GetTickCount();
    double i=1.00, result=1.00;
    while(i <= 10000.00)
    {
     result += i;
     i += 0.01;             
    }
    t2 = GetTickCount();
    printf("Sum = %f, time elapsed %d ms ",result,t2-t1);
    system("PAUSE");
    return EXIT_SUCCESS;
}


Вот предлагаю в качестве эксперимента, а то на факториале жуткие цифры получаются на достаточно малом количестве шагов. Скирншот прилагаю. Файлик обзову расширением txt но это exe. Запускал под Wine под Linux-ом, но поскольку WinE это Windows not emulator то просадки по скорости не должно быть по сравнению с Windows. Жду твой идентичный код. Время исполнения 17 мс.


Вложения:
main.cpp [849 байт]
Скачиваний: 190
sum_exe.txt [464.4 КБ]
Скачиваний: 184
sum.png
sum.png [ 9.33 КБ | Просмотров: 2020 ]
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 19:29 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Decon писал(а):
исключая облако "Человек" то тут для машины эти вещи как "удобней и быстрей" будут рядом.


Тут такая штука предположим Вы знаете русский и у Вас есть друг который в совершенстве знает английский и не плохо понимает Вас на русском. Вы приезжаете в Лондон и общаетесь там на английском без переводчика и на английском с переводчиком, как Вам будет быстрей а как удобней? Виртуальная машина выступает "толмачем" переводящим с того языка на котором Вы общаетесь в совершенстве в тот язык который Вы знаете посредственно. Допустим что Ваш друг так же хорошо знает французкий и испанский. Ощущаете на сколько Вам становится легче и удобней кататься с таким другом чем одному?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 19:39 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
Основное торможение на вывод в гуи при каждом шаге. Без него скорость - 1000000 шагов за 0.23 сек


Т.е. 0,23 с = 230 мс против 0.017 с = 17 мс у меня, причем в моем цикле что то происходило а твой цикл был по факту пустой?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 21:16 
Не в сети
Пользователь
Пользователь
Аватара пользователя

Сообщения: 1264
Откуда: Карталы
Благодарил (а): 9 раз.
Поблагодарили: 70 раз.
Пол: Муж
Сейчас "Гаражи" досмотрю и продолжим.
И что там происходило?

_________________
предлагаю услуги по настройке компьютера, подробнее


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 21:46 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
Сейчас "Гаражи" досмотрю и продолжим.
И что там происходило?


:) Где в "гаражах"? :)


В цикле идет накопление в переменной result

result = result + i;
i = i + 0.01;


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 21:49 
Не в сети
Пользователь
Пользователь
Аватара пользователя

Сообщения: 1264
Откуда: Карталы
Благодарил (а): 9 раз.
Поблагодарили: 70 раз.
Пол: Муж
SAA
У меня твой exe выдал 0.
Лучше сделай гуи и вставь туда типа Sleep($set), а в гуи инпут с вводом задержки, чтоб было видно что цикл совершает итерации.

_________________
предлагаю услуги по настройке компьютера, подробнее


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 22:03 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
SAA
У меня твой exe выдал 0.
Лучше сделай гуи и вставь туда типа Sleep($set), а в гуи инпут с вводом задержки, чтоб было видно что цикл совершает итерации.


Амиго не доверяешь что он крутится? :) Ну ты это зря.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 22:12 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
SAA
У меня твой exe выдал 0.


под VirtualBox тот же результат что и на скриншоте, длиннющее число. Придется перегружаться в WindowsXP что бы проверить еще и под ней.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 22:22 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
SAA
У меня твой exe выдал 0.


Перегрузился в WindowsXP запуск абсолютно с тем же результатом!


Вложения:

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 22:26 
Не в сети
Пользователь
Пользователь
Аватара пользователя

Сообщения: 1264
Откуда: Карталы
Благодарил (а): 9 раз.
Поблагодарили: 70 раз.
Пол: Муж
SAA
Результат выдаёт, но время равно 0
Посмотри мой с задержкой и отключением вывода - ссылка

Вот скрин с твоего sum.exe
Изображение

_________________
предлагаю услуги по настройке компьютера, подробнее


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 22:43 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
SAA
Результат выдаёт, но время равно 0
Вот скрин с твоего sum.exe
Изображение


Ну либо твой процессор просто супер-мен, либо у тебя версия WinXP со странным счетчиком системного времени.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 22:45 
Не в сети
Модератор
Модератор
Аватара пользователя

Сообщения: 376
Благодарил (а): 0 раз.
Поблагодарили: 8 раз.
Amigo писал(а):
SAA
Посмотри мой с задержкой и отключением вывода - ссылка


Посмотрел - результат 0.2 с, это как минимум в десять раз хуже чем тоже на Си.

И кстати а где же вывод твоего результата?


Последний раз редактировалось SAA 19 окт 2010, 22:45, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Програмирование.
Непрочитанное сообщениеДобавлено: 19 окт 2010, 22:45 
Не в сети
Пользователь
Пользователь
Аватара пользователя

Сообщения: 1264
Откуда: Карталы
Благодарил (а): 9 раз.
Поблагодарили: 70 раз.
Пол: Муж
SAA
Посмотри какую я себе рисовалку гуи сделал ссылка

_________________
предлагаю услуги по настройке компьютера, подробнее


Последний раз редактировалось Amigo 19 окт 2010, 23:18, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 230 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 12  След.   | Активные темы |  


Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © phpBB Group
ѥ골񦲳񲯢 ԰᪗eb