IT в России и мире в реалиях мирового кризиса

1,404,260 8,484
 

Фильтр
Karnark
 
Слушатель
Карма: -0.85
Регистрация: 20.05.2016
Сообщений: 169
Читатели: 0

Аккаунт заблокирован
Цитата: ps_ от 19.12.2016 20:45:17Изначально дискуссия была о том, как внедрять Эльбрус для ОБЫЧНОГО пользователя.


Даже не так - о том что хвалить Эльбрус не внедряя его для ОБЫЧНОГО пользователя вредно, потому что у ОБЫЧНОГО пользователя понизится устойчивость к вражеским голосам, утверждающим что Эльбрус гуано, а его внедрение у НЕОБЫЧНЫХ пользователей просто распил народных денег. Мы же не хотим чтобы наши люди верили вражеским голосам?

То есть, или громко хвастаться Эльбрусом как процессором общего назначения - но тогда могут спросить почему если Эльбрус такой классный, я не могу его использовать для любимой 1С? Или можно хвастаться Эльбрусом как нишевым процессором, мега-DSP для радаров и шифрования который еще немножко может и в общие задачи - но тогда не получится хвастаться громко.
Отредактировано: Karnark - 20 дек 2016 02:10:16
  • +0.00 / 0
  • АУ
Valery
 
russia
St.Petersburg
55 лет
Слушатель
Карма: +2.32
Регистрация: 01.11.2008
Сообщений: 332
Читатели: 0
Цитата: DarkRaider от 20.12.2016 01:07:43Но тем не менее это так.
      Дело не в том, что "гоняют сотни потоков" - дело в том как они друг на друга влияют. Каждый поток при работе обновляет "минимальное и максимальное время на отсылку 1 записи"  (время отсылки post запроса с данными и получения подтверждения от api, что строка обработана).

Я в последнее время работал на системах NUMA (NonUnified Memory Achitecture). И вот там даже производитель техники Вам не скажет, что выгоднее - запустить одну многопоточную программу, или несколько "менеепоточных". А уж как с этим работает конкретная ОС - загадка полная. В документации это я пока не видел...
  • +0.00 / 0
  • АУ
Поверонов
 
Слушатель
Карма: +38.60
Регистрация: 05.06.2010
Сообщений: 19,894
Читатели: 8
В продолжение того как "органы" контролируют шифрованный траффик
How is NSA breaking so much crypto?

Цитата: ЦитатаFor instance, the Snowden documents show that NSA’s VPN decryption infrastructure involves intercepting encrypted connections and passing certain data to supercomputers, which return the key.


Подробности как NSA ломает  "эллиптику" смотрите в статье. Этого достаточно для прочтения vpn и tls так как момент обмена ключами в них задан протоколами.
  • +0.01 / 1
  • АУ
михайло потапыч
 
russia
санкт-петербург
56 лет
Слушатель
Карма: +0.24
Регистрация: 14.10.2015
Сообщений: 2,003
Читатели: 1
Цитата: DarkRaider от 20.12.2016 01:07:43Но тем не менее это так.
      Дело не в том, что "гоняют сотни потоков" - дело в том как они друг на друга влияют. Каждый поток при работе обновляет "минимальное и максимальное время на отсылку 1 записи"  (время отсылки post запроса с данными и получения подтверждения от api, что строка обработана).    На "десктопном" проце в районе 40-50 потоков время "max" начинает расти (среднее), хотя даже 200 потоков - исправно "работают".  На "серверных" камнях и системах этого практически не происходит.

   И дело тут как раз в специализации процессора (можно сказать, что в архитектуре) и операционной системы (алгоритмы управления процессами).
   Дома "десктопные"  AMD Phenom 1100T  6 ядер и обычный Win7-64
   В ЦОДе - server 2008 r2 х64 на "стоечном" железе интел (блейд система), гипервизор vmWare.   На "реальном" Xeon (их мало осталось 2х ядерных тоУлыбающийся )  -  было бы так же как на виртуальном - замечательно. В мастерской - 2хOpteron 2387.

Соединение с MySql у вас своё в каждом потоке?
Не пробовали ограничить кол-во коннектов в базу данных?
У меня в далёком 2001 году один несчастный HP/UX сервер с 4 GB памяти и 4 процессорами держал легко и непринуждённо 20 тысяч медленных синхронных пользовательских коннектов на upload/download файлов.
Если на клетке слона прочтёшь надпись "буйвол", не верь глазам своим.
  • +0.04 / 3
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.44
Регистрация: 27.02.2012
Сообщений: 2,645
Читатели: 0
Цитата: Karnark от 19.12.2016 23:08:30Даже не так - о том что хвалить Эльбрус не внедряя его для ОБЫЧНОГО пользователя вредно, потому что у ОБЫЧНОГО пользователя понизится устойчивость к вражеским голосам, утверждающим что Эльбрус гуано, а его внедрение у НЕОБЫЧНЫХ пользователей просто распил народных денег. Мы же не хотим чтобы наши люди верили вражеским голосам?

То есть, или громко хвастаться Эльбрусом как процессором общего назначения - но тогда могут спросить почему если Эльбрус такой классный, я не могу его использовать для любимой 1С? Или можно хвастаться Эльбрусом как нишевым процессором, мега-DSP для радаров и шифрования который еще немножко может и в общие задачи - но тогда не получится хвастаться громко.

***пожимая плечами***  Насчет кошерной 1С - есть такая платформа как Altlinux. Система официально сертифицирована 1С (там все нужные библиотеки для него есть в репозитории). Она проблема - система для коммерческого использования с версии 8.1 стала платной. Так что при желании - да без особых проблем и с минимальными танцами с бубнами можно задействовать Эльбрус - все разработчики российские - было бы желание.
Отредактировано: Superwad - 20 дек 2016 17:20:55
  • +0.00 / 0
  • АУ
Senya
 
russia
55 лет
Слушатель
Карма: +332.05
Регистрация: 20.11.2008
Сообщений: 27,683
Читатели: 54

Глобальный Модератор
Цитата: Поверонов от 20.12.2016 10:33:37В продолжение того как "органы" контролируют шифрованный траффик
How is NSA breaking so much crypto?



Подробности как NSA ломает  "эллиптику" смотрите в статье. Этого достаточно для прочтения vpn и tls так как момент обмена ключами в них задан протоколами.


Нету там никаких подробностейУлыбающийся Ни в статье, ни в pdf-ах по ссылкам. Просто потому, что авторы пишут о слабости классического DH в поле простых чисел и рекомендуют переход на эллиптические кривые. Хотя в каком-то плане статья - римейк статьи Винера 1993 года о том, что за 1 миллион долларов NSA может сделать машину, которая подберет ключ DES за несколько часов. Здесь говорится, что за несколько сот миллионов долларов (инфляция-с...) NSA может в течение года рассчитать базу предвычисленных значений для 1024-битного простого модуля, позволяющих быстро расшифровать любые зашифрованные в этом поле сообщения и ключи. Но главное отличие этой работы - она указывает на критический недостаток реализаций. Вместо того чтобы генерировать для каждого ключа своё простое, все пользуются одним единственным, встроенным в библиотеку, и его разработка позволяет прочитать половину трафика в мире.
Я понимаю, что ветка серьезная и дальше я должен написать какие-то умные слова вперемешку с английскими аббревиатурами и числами, но в голове крутится только бородатый анекдот про Зелёную Кофточку:

Жила была девочка. И была у девочки кофточка зелёного цвета. Стала девочка замечать, что кофточка её душит. Тогда девочка пожаловалась маме, мама выбросила кофточку на помойку, а девочке купила новую. Потому что нельзя же одну кофточку носить 14 лет.

Какие там нужны закладки и бэкдоры, если по всему миру программисты не в состоянии реализовать стандарты, принятые в 2001 году, а продолжают цепляться за старые. Но даже и их реализуют из рук вон плохо. Точнее никак не реализуют, потому что возможно не умеют, а только подключают чужие модули.
"Иван Грозный помещает на рабочий стол полученный от хана ярлык."(с) Не моё.
  • +0.09 / 8
  • АУ
slavae
 
russia
Москва
Слушатель
Карма: +193.86
Регистрация: 21.03.2013
Сообщений: 27,859
Читатели: 7
Отсюда

Ай-да новости: маркетинг vs. кибергопники + перезагрузка Лайнера Мечты.


Снова в эфире уже традиционная рубрика про хрупкость нашего всемирного цифрового дома. Интересных новостей про киберзловредство накопилось много! Да что там, поток таких новостей постепенно переходит из режима горного ручейка в масштаб полноценной Ниагары.
Как ветеран киберобороны скажу, что раньше катаклизмы планетарного масштаба обсуждались по полгода. А сейчас поток сообщений как лососи на нересте — толком и поговорить не о чем. «Слышал, хакнули Мегасуперкорпорацию, украли всё, и даже хомячка гендиректора самоуправляемый дрон унёс в неизвестном направлении?» — «Вчера ещё! А вот ты слышал…?»
Обычно в этой рубрике было в среднем по три новости зараз. Но приходится подстраиваться под обстоятельства, и сегодня будет горячая семёрка по-своему важных и интересных историй из мира цифровой опасности.


Скрытый текст
Империя - это мир, и этой идеологии достаточно. Мы живём в самой лучшей стране в мире и все нам завидуют.
Одушевлённое Одевают, Неодушевлённое Надевают.
  • +0.06 / 7
  • АУ
adolfus
 
Слушатель
Карма: +19.02
Регистрация: 12.02.2010
Сообщений: 12,016
Читатели: 2
Цитата: vx от 19.12.2016 20:27:26Вопрос чайницкий: чем оптимизирующий компилятор F77 отличается от оптимизирующего компилятора С?

Синтаксисом прежде всего. Фортран более приспособлен к программированию вычислительных алгоритмов, нежели си. Я бы сказал, ощутимо более приспособлен. Особенно там, где нужно прерывать итерации, в которых участвуют числа с плавающей запятой. Си никогда не заменит фортран просто потому, что он создавался под определенные дела, далекие от вычислений. 
Ну и фортран имеет кучу вкусностей, несовместимых со струкутрным маразмом Вирта, типа назначаемых переходов, множественности точек входа в процедуры и кучу бочек остального меда, который естественным образом ложится на архитектуру. Некоторые удобные моменты работы с массивами, изначально существовавшие в фортране, в си появились только в С99. Свидетели секты структурного програмирования даже не представляют, какие в языке удобные конструкции могут существовать. И всего то они требуют более внимательного отношения к работе, без чего программировать. как бы и невозможно. Я, например, не помню ни одного случая с использованием goto, который бы вызвал хоть какие-нибудь проблемы. То же самое касается процедур с несколькими точками входа. Их, кстати, очень нехватает в си и даже в крестах.
Фортран, кстати, имеет очень низкий уровень вхождения в язык.
  • +0.01 / 1
  • АУ
adolfus
 
Слушатель
Карма: +19.02
Регистрация: 12.02.2010
Сообщений: 12,016
Читатели: 2
Цитата: slavae от 21.12.2016 02:38:42Goto ни у кого не вызывает проблем. Правда, тот, кто умеет программировать, использует их с умом для изощрённости, а вот тот, кто не умеет, строит всю логику программы именно на этом. Думаю, Вирт приходил в ужас, видя программы на бейсике без операторов циклов и со всем прочим бредом неофитов.

Собственно, на уровне вычислительной архитектуры именно так и происходит.
  • +0.00 / 0
  • АУ
Podli
 
belarus
Минск
39 лет
Слушатель
Карма: +6.28
Регистрация: 19.03.2016
Сообщений: 1,389
Читатели: 0
Цитата: slavae от 20.12.2016 19:55:14Отсюда
...
Что будет, если неделями не перезагружать компьютер? Обычный ответ: он будет тупить.
...

[username@server_name ~]$ uptime

 06:53:00 up 307 days,  4:22,  1 user,  load average: 1,39, 1,40, 1,32

И это сильно нагруженный сервер, обслуживающий тысячи клиентов в реальном времени. Боинг на винде чтоли летает?
  • +0.04 / 3
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.44
Регистрация: 27.02.2012
Сообщений: 2,645
Читатели: 0
Цитата: Podli от 21.12.2016 09:12:37[username@server_name ~]$ uptime

 06:53:00 up 307 days,  4:22,  1 user,  load average: 1,39, 1,40, 1,32

И это сильно нагруженный сервер, обслуживающий тысячи клиентов в реальном времени. Боинг на винде чтоли летает?

Все банально просто! В норме на 7 млн. нормальных операций процессором приходится одна ошибочная (сбойная). Есть алгоритмы, которые купируют и отслеживают. Есть сбои и при работе оперативной памяти. В обычном компе используют память без всякой перепроверки состояния, в серверах и критических системах - с контролем. Но даже это не спасает! И повреждения в загруженном исполняемом коде из-за ошибок в физических системах накапливается и абсолютно исправный код начинает сбоить - работать неправильно. Решение - загрузить весь код заново (перезагрузка) - вот и все. Банально.
  • +0.01 / 1
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.44
Регистрация: 27.02.2012
Сообщений: 2,645
Читатели: 0
Цитата: slavae от 21.12.2016 02:38:42Goto ни у кого не вызывает проблем. Правда, тот, кто умеет программировать, использует их с умом для изощрённости, а вот тот, кто не умеет, строит всю логику программы именно на этом. Думаю, Вирт приходил в ужас, видя программы на бейсике без операторов циклов и со всем прочим бредом неофитов.

Честно говоря, можно и без Goto программировать с сохранением логики и без попадания в ловушки (хотя в циклические ловушки можно попасть и без Goto. Пишу на FPC (Lazarus) - пересмотрел свой подход и сейчас стараюсь Goto использовать как последний аргумент, ге без него не обойтись (как последняя пуля), но это крайне редкий случай.
По большей части достаточно условий и цикла, а внутри из цикла и процедур достаточно для выхода Break, Continue и Exit.
Это и логично и законноУлыбающийся
Была у меня одна из реализаций Паскаля без Goto. Ничего, писал программы и на нем, хотя вначале было тяжеловато, но освоил и работало все без проблем.
Отредактировано: Superwad - 21 дек 2016 16:11:26
  • +0.02 / 4
  • АУ
Podli
 
belarus
Минск
39 лет
Слушатель
Карма: +6.28
Регистрация: 19.03.2016
Сообщений: 1,389
Читатели: 0
Цитата: Superwad от 21.12.2016 13:02:28Все банально просто! В норме на 7 млн. нормальных операций процессором приходится одна ошибочная (сбойная). Есть алгоритмы, которые купируют и отслеживают. Есть сбои и при работе оперативной памяти. В обычном компе используют память без всякой перепроверки состояния, в серверах и критических системах - с контролем. Но даже это не спасает! И повреждения в загруженном исполняемом коде из-за ошибок в физических системах накапливается и абсолютно исправный код начинает сбоить - работать неправильно. Решение - загрузить весь код заново (перезагрузка) - вот и все. Банально.

По памяти.
ECC практически всегда ничего не делает. На практике было очень и очень немного случаев (парк серверов огромен - тысячи машин), когда ECC начинала что-то корректировать (это видно в логах ядра). В таких случаях поступали всегда одинаково - меняли планку памяти. Если на гарантии - добивали sysbasher-ом и все равно меняли.
Ну а информация про одну сбойную операцию на 7 миллионов для процессора не выдерживает никакой критики. Современные процы выдают единицы гигафлопс на ядро. Т.е. при полной загрузке мы получаем тысячи ошибок в секунду. При таком громадном количестве ошибок любой код развалится в пыль мгновенно. И да, единственный рабочий способ предотвратить такие ошибки - проводить параллельные вычисления по всем операциям и сравнивать результаты. При несовпадении - пересчитывать.
Истинная причина постоянных перезагрузок проста и банальна. И называется она - утечки памяти. Крупные конечно же находятся и чинятся. А вот поиск мелких утечек попросту намного более трудоёмок. И вместо ловли блох просто периодически приложение перезапускают. Такая же политика партии и на сервере, uptime которого я привел. Периодически (раз в пару недель) приложение там рестартует. Но рестартует приложение, а не сама ось. Благо, качество линуксового кода на порядок лучше "продукта" от мелкомягких.
  • +0.01 / 1
  • АУ
adolfus
 
Слушатель
Карма: +19.02
Регистрация: 12.02.2010
Сообщений: 12,016
Читатели: 2
Цитата: slavae от 20.12.2016 19:55:14Что будет, если неделями не перезагружать компьютер? Обычный ответ: он будет тупить.

Вот мой десктоп на работе.
$ uptime
16:42:42 up 37 days,  1:12,  3 users,  load average: 0,95, 0,79, 0,77

Перезагружаю только тогда, когда ядро апгрейдится. И так семь с половиной лет. Ниже SMART статистика по жесткому диску.



Насчет утечек памяти. Самое поганое на этот счет приложение -- это файрфокс. Обязательно нужно за ним следить в htop и килять как только захватит полоперативки или даже раньше, если стал выгружаться на диск. Иначе все равно придется килять, но уже с другого компа -- иксы встанут так, что не добраться до терминала на локалхосте.
Отредактировано: adolfus - 21 дек 2016 19:12:05
  • +0.03 / 2
  • АУ
adolfus
 
Слушатель
Карма: +19.02
Регистрация: 12.02.2010
Сообщений: 12,016
Читатели: 2
Цитата: Podli от 21.12.2016 16:15:27С утра на работе, постоянно бегаю в браузере. 100500 вкладок, постоянно плодятся и умирают в процессе. Что я делаю не так?
Ну и да, swap - зло. Отключен везде.

Оставьте машинку на недельку -- две, потом отпишетесь сколько своих окон и вкладок файрфокс на третьи сутки сможет обслужить.
Кстати, виртуалбокс с семеркой, которой выделена половина памяти и половина ядер, нормально через какое-то время неактивности выгружается и совершенно не мешает. А вот файрфокс висит в памяти круглосуточно и хрен его оттуда чем выкуришь. Полагаю что-то эта кодопомойка постоянно что-нибудь самостоятельно отсылает или принимает.
Отредактировано: adolfus - 21 дек 2016 21:18:00
  • +0.00 / 0
  • АУ
Valery
 
russia
St.Petersburg
55 лет
Слушатель
Карма: +2.32
Регистрация: 01.11.2008
Сообщений: 332
Читатели: 0
Цитата: DarkRaider от 21.12.2016 23:14:351) Это не так, чтобы понять необходимо предметно разобраться в принципах аппаратной работы с памятью, что нереально сделать в формате форумной ленты. Оперативка с чсЕСС на "серверном" железе, на регистровой памяти (так же на интегрированной - допустим рейд-контроллерах) работает хорошо, просто не всегда явно видно КАК она работает. Если грубо и на пальцах - это аппаратно реализованный механизм  правильности чтения, в случае обнаружения сбойной операции он корректирует и выдает правильный результат. Ни в какие логи аппаратные реализации не попадают, работают автоматически и незаметно....

Это не так. В свое время модули памяти с дополнительными разрядами (код Хемминга) применяли еще покойной ныне Digital Equipment Corporation на VAX-11/780. В листингах OpenVMS до сих пор "уши" торчат. Сбойные страницы исключались из пула памяти. В логах все было записано. Модули памяти можно было заменять на основании логов ОС. И все это было "честно" содрано даже на советской копии CM-1700. Как и много чего...
Через некоторое время это похерили.
Назовите мне железку, которая ныне использует память с коррекцией ошибок!
В линейках HP я такое не вижу. Заглядываю в свой домашний AlphaServer DS-10 - там тоже только контроль четности, и все.
AlphaServer 2100, 4011, GS-80, GS-1280, Integrity 7640, 8640, и даже дисковый массив HP EVA - нет коррекции, только контроль четности.
На любых серверах x86/x64 я коррекции ошибок тоже не встречал. Возможно, сервера маленькие были. Буду рад ликбезу.
Отредактировано: Valery - 22 дек 2016 03:37:06
  • +0.03 / 2
  • АУ
vx
 
Слушатель
Карма: +2.07
Регистрация: 12.07.2010
Сообщений: 203
Читатели: 1
Цитата: ЦитатаВопрос чайницкий: чем оптимизирующий компилятор F77 отличается от оптимизирующего компилятора С?


Цитата: adolfus от 21.12.2016 01:12:16Синтаксисом прежде всего.

Компилятор синтаксисом отличается? Или сам язык? Настолько, что генерация сравнимо эффективного объектного кода из эквивалентной записи алгоритма на C сложнее, чем из записи на Фортране? На Эльбрусе, кстати, фортран сначала транслируется в C.


Цитата: ЦитатаФортран более приспособлен к программированию вычислительных алгоритмов, нежели си. Я бы сказал, ощутимо более приспособлен. Особенно там, где нужно прерывать итерации, в которых участвуют числа с плавающей запятой.

А можно конкретный пример?

Цитата: ЦитатаСи никогда не заменит фортран просто потому, что он создавался под определенные дела, далекие от вычислений.

Это давно не так. Например, из ~5*10^6 строк прикладного кода, с которым мне приходится иметь дело, на фортране написано несколько тысяч строк, остальное мигрировано/написано с нуля на C++.

Цитата: ЦитатаНу и фортран имеет кучу вкусностей  типа назначаемых переходов, множественности точек входа в процедуры и кучу бочек остального меда, который естественным образом ложится на архитектуру.  Некоторые удобные моменты работы с массивами, изначально существовавшие в фортране, в си появились только в С99.

Что из этого не делается средствами препроцессора C?

Цитата: ЦитатаЯ, например, не помню ни одного случая с использованием goto, который бы вызвал хоть какие-нибудь проблемы.

Какие с ним проблемы?

Цитата: ЦитатаТо же самое касается процедур с несколькими точками входа. Их, кстати, очень нехватает в си и даже в крестах.

Передавайте точку входа как параметр, и будет хватать.

Цитата: ЦитатаФортран, кстати, имеет очень низкий уровень вхождения в язык.

Это не значит, что на этом уровне надо оставаться.
Отредактировано: vx - 22 дек 2016 18:56:50
  • +0.09 / 7
  • АУ
adolfus
 
Слушатель
Карма: +19.02
Регистрация: 12.02.2010
Сообщений: 12,016
Читатели: 2
Цитата: Podli от 21.12.2016 15:14:40А) Истинная причина постоянных перезагрузок проста и банальна. И называется она - утечки памяти.
Б) Крупные конечно же находятся и чинятся. А вот поиск мелких утечек попросту намного более трудоёмок.

А) Совершенно верно. Причин несколько:
1) cамая распространненная и практически неустранимая в ближайшей и даже среднесрочной перспективе -- низкая квалификация программистов, обусловленная низким уровнем вхождения в профессию. Мало кто знает, что там под его любимым языком программирования и как этот все проецируется на конкретную архитектуру. 80% программистов, использующих MS Visual Studio, не только не имеют представления, как это работает и что там под ней происходит, но даже не могут найти, где распоалгаются фазы компилятора, линковщика и прочий микрософтовский шмурдяк, который запускается под этой студией. Из тех, кто использует cmake, только 20% знают, как скомпилировать и собрать программу без студии, используя только msbuild. Остальные поднимают проект в студию.
2) следующая по распространенности -- лень заниматься приборкой и чисткой. При этом прикрываются тоезисом, что за то время, которое будет ими потрачено на поиск утечек памяти и других совместно используемых ресурсов, конкурент займет их долю рынка. Хуже всего то, что именно так думает менеджмент в успешных конторах.
3) ну и последняя -- незнание инструментов, которые поиск утечек берут всецело на себя, оставляя программисту функции редактирования дырявых исходников.

Б) Поиск мелких утечек ничем не отличается от поиска крупных и наоборот. Конечно, если Вы не используете самописных аллокаторов/субаллокаторов. Утечки из-под системных аллокаторов легко обнаруживаются, мало того при нормальном завершении процесса все неосвобожденное явно процессом, будет возвращено в общую кучу как только процесс завершится и его дескриптор освободится. Иногда зависает часть памяти у форкнутых потомков, на котороых инструмент поиска утечек простот вешается вместе с ними. Но это имет отношение только к никсам, но не к виндам -- там вообще нет потомков, в смысле наследования ресурсов.
Потерять память можно только в сервисах и программах, которые живут очень долго, и только если написать свой "сверхэффективный для своего сервиса" аллокатор.

На самом деле все очень просто решается:
1) изучаем как система в лице malloc() или winAllocMem(или что там сегодня у них вместо нее) этой памятью рулит
2) не выдумываем велосипедов и используем только системные аллокаторы (malloc(), new), какими бы "неэффектвными" они не казались, решая вопросы эффективности алгоритмическими средствами.
3) все независимые компоненты, внутри которых есть запросы на выделение памяти, обвязываем тестами и прогоняем под валгриндом или что там у них в виндах.
4) собранный вами проект, даже если это проект размером в офис или еще какой ворд, гоняем под валгриндом.
Кстати, сделать пункт 4 с ванильным либрофисом рекомендуется всем, кто бурчит насчет утечек. Просто запускаете готовый ванильный бинарник под валгринд и колупаетесь в нем полчаса. Потом выходите и любуетесь логами.
  • +0.02 / 1
  • АУ
vx
 
Слушатель
Карма: +2.07
Регистрация: 12.07.2010
Сообщений: 203
Читатели: 1
Цитата: adolfus от 22.12.2016 22:24:19Кстати, сделать пункт 4 с ванильным либрофисом рекомендуется всем, кто бурчит насчет утечек. Просто запускаете готовый ванильный бинарник под валгринд и колупаетесь в нем полчаса. Потом выходите и любуетесь логами.

А вот еще чайницкий вопрос: как  valgrind поможет от фрагментации кучи?
  • +0.04 / 2
  • АУ
adolfus
 
Слушатель
Карма: +19.02
Регистрация: 12.02.2010
Сообщений: 12,016
Читатели: 2
Цитата: vx от 22.12.2016 15:55:01Компилятор синтаксисом отличается? Или сам язык? Настолько, что генерация сравнимо эффективного объектного кода из эквивалентной записи алгоритма на C сложнее, чем из записи на Фортране?

Именно компилятор и отличается. Синтаксическим анализатором. Именно генерация и отличается. Потому что промежуточный код совершенно разный и по разному оптимизируется. Фортрановский оптимизируется лучше. Интеловцы говорят про гарантированные 20% на своей архитектуре, айбиэм про 40-60 на своей. За счет того, что расчет практически не выползает из блока арифметики с плавающей точкой. Можно, конечно, на си писать с ассемблерными вставками и добиться того же, но народ предпочитает использовать фортран и не учить ассемблеры.
> Эльбрус ... из фортрана в си.
Есть такая програма f2c. Написана для тех и по просьбе тех, кто не освоил линковки объектных модулей, полученных из разных исходных языков. Так вот, она не все фортрановские программы обрабатывает. Забегая вперед, скажу, что как раз те, в которых разный фортрановский мед, типа ветвлений, множественных точек входа и управления передачей параметров в процедуры. Это не значит, что нельзя из программы на фортране получить эквимвалентную ей программу на си, можно. Я даже скажу как такая программа должна работать. Это должна быть программа на си, которая будет генерировать машинный код, эквивалентный тому, который будет генерировать фортрановская связка из компайлера, оптимизаторов и генератора кода. Потом она этот код оформит в виде ассемблерных вставок. f2c к счастью такой фигней не страдает, а сразу выходит с сообщением "не могу ...". Такой  подход прокатывает в том же самом смысле, в котором мы запускаем винворд или ексель в виртуальной машине с виндами -- как-то ездят. Но вот солидворкс или катя уже не прокатывают. Таки фортран -- не все можно прогнать через f2c.
  • +0.02 / 1
  • АУ
Сейчас на ветке: 7, Модераторов: 0, Пользователей: 0, Гостей: 2, Ботов: 5