Форум программистов, компьютерный форум CyberForum.ru

inline assembler VS чтение по указателю - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Внутренняя организация базы данных http://www.cyberforum.ru/cpp/thread578836.html
Нужно написать небольшую консольную бд на с++, хотел бы посмотреть реальные примеры. Подкиньте парочку посмотреть пожалуйста :) В инете конечно полно примеров БД на visual c++ (mfc например), но там ведь не очень честные бд - там львиная доля работы сделана библиотеками MS и там достаточно было лишь выбрать что мы хотим создать БД да слегка заполнить всё. Мне же нужен какой-то пример где есть...
C++ Как добавить смещение в программу в формате exe хотелось узнать возможно добавить смещение в программу, тоесть к примеру есть код в программе от 0х1 до 0х100 можно ли как нибудь создать адресс к примеру 0х125 и вписать туда какое то значение??? тем самим размер файла увеличится http://www.cyberforum.ru/cpp/thread578554.html
C++ Программа для скачивания файлов используя прокси
Здравствуйте! Пробую написать программу которая качает некие заданные файлы с интернета, но при этом использует соединение через прокси. Подскажите как "обьяснить" программе чтоб она качала через прокси. Спасибо. Добавлено через 17 часов 23 минуты решил, и очень просто, правда на C#. Кому может понадобится: try {
Что за книга ГОФ? C++
Посоветовали почитать "гофа", но поиск в рунете ни к чему разумному не привел.
C++ Возвращение ссылки на локальный объект http://www.cyberforum.ru/cpp/thread574859.html
Что за бред, приписывайте, пожалуйста, в конце, что это только Ваше мнение. Хоть и бредовое. int& foo() { int a; //: warning C4172: возвращение адреса локальной или временной переменной return a; }
C++ Почему работает и так, и так: arr[i] и i[arr]? //один и тот же результат cout<<arr; cout<<i;//почему нет ошибки да даже это, например работает и выводит одинаковый результат // arrh.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" подробнее

Показать сообщение отдельно
ignisdivine
4 / 4 / 0
Регистрация: 27.03.2011
Сообщений: 38
26.05.2012, 01:49  [ТС]     inline assembler VS чтение по указателю
Спасибо, все круто, все работает.
Но даже movsd не может полностью забить кэш, скорость перемещения такого ~750 МБ/c, т.е. работает кэш, а не память. Поэтому нужно какой-то вариант с бОльшим блоком для перемещения.

Добавлено через 8 часов 50 минут
На stackoverflow посоветовали использовать "movntdq for writing and movntdqa for reading".
Эти инструкции идут в обход иерархии кэшей.

http://www.damtp.cam.ac.uk/cosmos/pr...2_hh/vc194.htm

"Moves the double quadword in the source operand (second operand) to the destination operand (first operand) using a non-temporal hint to minimize cache pollution during the write to memory."

Попробовал понять, как использовать и ничего не получилось.

C++
1
2
3
4
5
6
7
8
9
void* c = (void*)malloc(16);
    double* pointer2 = new double[4];
    pointer2[0] = 0;
    pointer2[1] = 2;
    pointer2[3] = 0;
    pointer2[4] = 4;
    //__asm movntdq xmm0, 0
    __asm movups xmm0, pointer2
    __asm movntdq c, xmm0
 
Текущее время: 07:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru