LINUX.ORG.RU

Избранные сообщения pacify

Сколько ГГц можно выжать из z80 на современном техпроцессе 14нм?

Форум — Talks

Известно, что до бесконечности увеличивать тактовую частоту ЦП нельзя. Проводники в волноводы превращаются, нагрев возрастает и т.д. Потолок - примерно 5 ГГц, если не охлаждать жидким азотом. Но это современные монструозные ЦП. А если мы возьмём архитектуру Z80? Она ж простая как 3 копейки. Сможем мы её разогнать до 7-8 ГГц на современном техпроцессе? И с воздушным охлаждением? Или же ограничения в физике, а не в сложности архитектуры? А как же тогда транзисторы под сотни ГГц? Ведь они существуют.

 ,

tiinn
()

Производительность C++

Форум — Development

Как насчёт производительности у C++ по сравнению с C? Мои предположения на текущий момент:

1) Код, не использующий возможности C++ (то есть по сути plain C), скомпилированный C++ компилятором будет иметь абсолютно ту же производительность, что и код на С.

2) Исключения и dynamic_cast медленные. Если нам важна производительность, лучше их не использовать.

3) Класс без виртуальных методов, должен быть по производительности эквивалентен сишной структуре и функциям, обрабатывающим её. Не считая копирования. Нужно везде, где можно использовать передачу по указателю или ссылке (собственно, если в Си делать memmove при передаче структуры в качестве аргумента, то это вызовет примерно такой же оверхед, как дефолтный конструктор копирования С++. Верно?).

4) Класс с виртуальными методами полностью аналогичен пункту 3, но при вызове виртуальных методов добавляется небольшой оверхед. Сишный эквивалент obj->vtable->func(obj, ...). Если сравнивать с plain C кодом, реализующим ООП в той же манере (каждая структура-объект имеет поле, указывающее на структуру, содержащую адреса функций работы с ней), то оверхеда по сравнению с plain C не должно быть.

5) При использовании атрибута класса final (если компилятор поддерживает соответствующий стандарт) даже при наличии виртуальных методов в нём, их вызов будет превращаться в прямые вызовы функций вместо обращения к vtable, если переменная имеет соответствующий тип, а не указатель/ссылка на его предка (который не final).

6) Шаблоны могут привести к разбуханию кода. Впрочем, #define-ы и inline-функции в C++ могут устроить то же самое. Вопрос: будет ли использование шаблона с одинаковыми параметрами создавать 2 копии реализации или же всё-таки компилятор догадается сделать её лишь один раз. А если шаблон используется с одинаковыми параметрами в нескольких объектных файлах? Будет ли реализация расшариваться между ними или у каждого своя?

7) Что насчёт inline-методов класса? (те, которые описываются прямо в момент определения самого класса, внутри блока class). Может ли их реализация расшариваться между модулями или в каждом будет своя копия (допустим, метод слишком длинный, чтобы инлайнится в момент вызова)?

Я не претендую на правоту, какие-то утверждения могут быть ложными. Хотел бы узнать, как обстоят дела на самом деле. А также какие подводные камни я ещё не знаю. Разумеется, речь идёт о последних версиях gcc/clang с включённой оптимизацией не ниже -O2.

 ,

KivApple
()

Турбовинтовые стратегические бомбардировщики. В чём суть?

Форум — Talks

Сабж. Разве винт имеет преимущества перед рекативным двигателем?

 

next_time
()

Оборонщики получат полностью российский суперкомпьютер

Форум — Talks

Комплектующие и микроэлетроника для российского суперкомпьютера будут производиться на территории Юго-Восточной Азии.

http://lenta.ru/news/2014/04/09/super/

хе-хе

fish_ka
()

[GCC][MinGW] Кроссплатформенность и wchar_t

Форум — Development

Здраствуйте! Существует проблема. Нужно сделать так чтобы код скомпиленный под разными компиляторами (GCC и MinGW) работал одинаково. Это возможно? PS: Буду оч признателен за советы

Есть код:

// uni.c
#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main(void)
{
	setlocale(LC_ALL, "ru_RU.UTF-8");
	printf("Size of wchar_t = %d\n", sizeof(wchar_t));
	FILE* f = fopen("/home/maxim/uni.txt", "r");
	if (!f)
		return;
	printf("Read = 0x%04X\n", fgetwc(f));
	printf("Read = 0x%04X\n", fgetwc(f));
	return 0;
}

Есть файл uni.txt записанный в кодировке UTF-8:

$ cat uni.txt
Яблоко

Если скомпилировать программу под gcc и выполнить то получим:

$ gcc -o uni uni.c && ./uniSize of wchar_t = 4
Read = 0x042F
Read = 0x0431

Если скомпилировать программу под mingw и выполнить то получим:

$ i486-mingw32-gcc -o uni.exe uni.c && wine ./uni.exe
Size of wchar_t = 2
Read = 0xFFD0
Read = 0xFFAF

Если запустить нативно программу под виндой то там будет такое:

>uni.exe
Size of wchar_t = 2
Read = 0x00D0
Read = 0x00AF

 ,

anterior
()

каталогизация фото и видео файлов. exiftool

Форум — Development

Добрый день, накатал скрипт на bash для каталогизации файлов, в основном для фото\видео, но можно вообще для любых файлов. принцип: exiftool берет данные из метатегов, создает каталоги по принципу ГОД ГОД.МЕСЯЦ и ложит туда файлы.

хотелось бы адекватной критики и дополнений

http://www.odmins-it.ru/forum/index.php?action=dlattach;topic=591.0;attach=1750 или http://sourceforge.net/projects/wita/files/

 , , ,

addmaster
()

Есть ли сигнал, уведомляющий о разорванном соединении?

Форум — Development

Здравствуйте.

Есть один одна прокси-програмка (из fcgi в tcp). Сначала она слушает fcgi-сокет, устанавливает на нем соединение, подключается по TCP к другому сокету и читает из него в блокирующем режиме.

Но вот беда, браузеры не любят долгих соединений и через пару минут fcgi-соединение обрывается. Но узнать я об этом не могу, т.к. занят чтением из TCP.

Можно ли поймать сигнал о разрыве fcgi-соединения или еще как-то решить проблему, не прибегая к таймаутам и epoll'ам?

 , ,

makoven
()

Редактор диаграмм под Linux

Форум — Desktop

Хочется рисовать MindMaps. Что нового, свежего и красивого появилось за последние 3-4 года?

 , ,

pacify
()

Непонятки с вызовом метода __init__, определённого для предка

Форум — Development
<ipython-input-28-9a235b20b67c> in __init__(self, path, bound)
     29     def __init__ (self, path, bound):
     30         self.bound = bound
---> 31         super(Rule, self).__init__( path)
     32 

TypeError: must be type, not classobj

Код такой:


class Rule:

    def __init__(self, path):
        self.path = path

class sideRule(Rule):

    def __init__ (self, path, bound):
        self.bound = bound
        super(Rule, self).__init__( path)

Python 2.7.6, IPython 2.0.0

 ,

ados
()

Google Chrome repository: main/binary-i386/Packages

Форум — Linux-install

Записал в /etc/apt/sources.list.d/jessie.list:

# Google Chrome
deb http://dl.google.com/linux/chrome/deb/ stable main

Но apt-get update ругается:

W: Не удалось получить http://dl.google.com/linux/chrome/deb/dists/stable/Release  Невозможно найти ожидаемый элемент «main/binary-i386/Packages» в файле Release (некорректная запись в sources.list или файл)

E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
Неужели адрес репозитория изменился? Ключ добавил:
# wget -O - --no-check-certificate https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
--2016-04-03 16:37:25--  https://dl-ssl.google.com/linux/linux_signing_key.pub
Распознаётся dl-ssl.google.com (dl-ssl.google.com)… 173.194.71.91, 173.194.71.136, 173.194.71.93, ...
Подключение к dl-ssl.google.com (dl-ssl.google.com)|173.194.71.91|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 1745 (1,7K) [text/plain]
Сохранение в: «STDOUT»
/2016-04-03 16:37:25 (28,3 MB/s) - записан в stdout [1745/1745]

OK

 , ,

pacify
()

Какие книги по С(89) нужно прочесть после K&R?

Форум — Development

Изучил си по книге K&R(2-ое издание), писал мелкие программки. Понравилось. Какую литературу/статьи по C читать дальше?

P.S. Нужен ли C-шнику C++?

 ,

Deleted
()

Fedora Workstation 23

Галерея — Скриншоты

Привет, ЛОР.

Моя неубиваемая машина Aspire M3910 с Fedora Workstation 23 на борту. Ноль расширений, ну разве только User Themes. В общем Fedora радует.

  • иконки numix* и numix-folders под цвет погоды link.
  • gtk/shell adapta (rev.55) link.
  • lollypop в 2'x режимах раз и два
  • гномоплеер-mpv link.
  • nautilus link.
  • shell link.

 , ,

region51
()

Вышел первый том книги А. В. Столярова «Программирование: введение в профессию»

Новости — Документация
Группа Документация

На официальном сайте А. В. Столярова объявлено о выходе первого тома книги «Программирование: введение в профессию». Первый том, озаглавленный «Азы программирования», включает две части: «Введение» и «Язык Паскаль и начала программирования». Обе части, как и вся книга в целом, ориентированы на использование ОС Unix (в основном Linux); в предисловии автор, обращаясь к «коллегам-преподавателям», заявляет, что книга вряд ли будет им полезна, если командная строка ОС Unix не станет их основным инструментом для повседневной работы с компьютером.

Электронная версия первого тома (PDF) доступна на сайте в открытом доступе.

Книга «Программирование: введение в профессию» примечательна тем, что средства на её написание и издание были собраны через краудфандинговую кампанию. По словам автора, это был единственный вариант, позволяющий написать книгу и предоставить открытый доступ к её электронной версии. Приём пожертвований на сайте А. В. Столярова продолжается, поскольку средств для издания последующих томов к настоящему моменту недостаточно.

Как сообщалось ранее в новостной ленте сайта, второй том книги, который выйдет под заголовком «Низкоуровневое программирование», уже практически готов к печати. В него войдут часть о программировании на языке ассемблера NASM для ОС Unix, а также часть, посвящённая языку Си. Пока неясно, войдёт ли в этот же том часть, рассказывающая о принципах построения операционных систем и о возможностях, доступных на уровне системных вызовов ОС Unix, или же эта часть будет оформлена как отдельный том. Сроки издания второго тома также пока неизвестны, поскольку зависят от дальнейшего хода краудфандинговой кампании.

>>> Подробности

 , ,

Croco
()

Сортировка строк с числами в python

Форум — Development

Нет ли в стандартной библиотеке python решения для сортировки строк, содержащих числа таким образом:

aa1
aa2
aa10

?

Стандартные sort и sorted сортируют так: «aa1 aa10 aa2», то есть чисто по алфавиту.

Гугл предлагает писать самому. Это не трудно, там пара строчек. Но как-то странно для такого языка, что такой элементарной фичи нет.

 

te111011010
()

Лидеры свободного программного обеспечения отвечают MS

Новости — Open Source
Группа Open Source

Столлман, Эрик Реймонд, Линус, Мигель де Иказа (Gnome), Ларри Уолл (автор Perl), Гвидо ван Россум (автор Python), Тим O'Орейлли (O'Reily) и многие другие столпы Свободного Мира сочинили по инициативе Брюса Перенса обращение к Microsoft в ответ на нападки Mundie.

>>> Подробности

sevast
()

Философия. Какое хранилище мне нужно?

Форум — Development

Есть несколько сервисов, которые довольно интенсивно используют немножко общих данных. Конечно, желательно, чтобы у каждого сервиса данные всегда были самыми свежими. Для этого, как я понимаю, сервисы не должны хранить эти данные в себе: каждое чтение/запись должно вестись прямо в БД, которая, видимо, должна находиться в оперативке.

Но так-же хочется, чтобы эта находящаяся в оперативке БД сама взяла на себя заботу о периодическом сохранении данных на диск. Причем в этой БД есть как часто меняющиеся данные, не требующие хранения, так и данные которые надо сохранить на диск. Чтобы в конфиге можно было указать какие надо, какие нет.

Подскажите название хранилища моей мечты?

 , ,

makoven
()

Даарийский Круголѣтъ Числобога для андроида

Форум — Talks

В моём списке необычных сайтов прибыло.

Встречайте,

http://школабуквицы.рф/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B

© Все права защищены, и переданы в Народ. Сайт является Народным Достоянием.

Список

 буквица, данилица,

pacify
()

Посоветуйте какой МФУ выбрать

Форум — Talks

Понадобился МФУ с Wi-Fi и СНПЧ. Пока выбираю из этих двух: Brother DCP-T500W и Epson L355

Фотографии печатаю редко, но часто приходится печатать на плотной бумаге А4 грамоты, дипломы, благодарственные письма и т.д. Что посоветуете?

 ,

foxy_ant
()

Скрипт на python + vk api + conky

Форум — Development

И так. Всем доброго времени суток. Есть идея выводить последний пост с группы вк в conky, но получаются проблемы. Код для python 2.7

#!/usr/bin/env python
#coding=utf-8

from urllib2 import urlopen
import json

address = 'https://api.vk.com/method/wall.get?user_id=ID_Группы_или_пользователя%20&v=5.45&access_token=Ваш_TOKEN'
data = urlopen(address)
decoded_response = data.read().decode('utf-8')
final_data = json.loads(decoded_response)
post = final_data['response']
print post

В итоге я получаю JOSN ответ как я понял, но приходит какая то хрень за место того что должно бы.

[{u'post_source': {u'platform': u'android', u'type': u'api'}, u'copy_history': [{u'post_source': {u'type': u'vk'}, u'text': u'\u0420\u0435\u0448\u0438\u043b\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0444\u0438\u043b\u044c\u043c\u0435\u0446 \u043e\u0434\u0438\u043d. \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u043e\u043c \u043c\u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0447\u043b\u0435\u043d. \u042f \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c. \u0414\u0430\u043b\u0435\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0433\u0443\u0431\u044b. \u041f\u043e\u0442\u043e\u043c \u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u0441\u0435\u043a\u0440\u0435\u0442 \u043f\u043e\u0445\u0443\u0434\u0435\u043d\u0438\u044f \u0410\u043b\u043b\u044b \u041f\u0443\u0433\u0430\u0447\u0435\u0432\u043e\u0439. \u041d\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0439\u0442\u0438 4838477 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u0443\u0437\u043d\u0430\u0442\u044c. \u041f\u043e\u0442\u043e\u043c \u043c\u043d\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u043d\u043e\u0432\u043e\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u043e\u0439 \u0438\u0433\u0440\u0435. \u041d\u043e \u0447\u0442\u043e\u0431\u044b 

Прошу помощи. На Python.su послали в саппорт вк.

 , ,

funk2256
()

Распарсить аргумент командной строки в 3 переменные

Форум — Development

Т.е. есть аргумент вида год.месяц.число (2015.10.12, например). Нужно соответственно присвоить переменным y1, m1, d1 значения 2015 (год), 10 (месяц) и 12 (день).
А ещё было бы неплохо приложить ссылку на годную документацию по этому всему (желательно на русском).
Заранее спасибо (.

 

sudopacman
()