LINUX.ORG.RU

Подводные камни clang

 , ,


0

6

О себе

1. Я пользователь Linux

2. Лицензофобиями не страдаю (GPL vs BSD vs ...). Предпочитаю окрытые и свободные лицензии проприетарным. Могу еще перебирать лицензиями когда речь идет о библиотеке

3. Хочу писать свои Hello Worldы на С++ 11. У меня LTS версия Ubuntu с древневонючим GCC. Не хочу его менять, пусть будет как есть. Там еще ключ c++0x до сих пор, не знаю во что это мне выльется.

Для поддержки С++11 поставил Clang. Очень нравятся сообщения о ошибках и возможность настроить сильный completion.

Есть какие-то минусы у сабжа? Буду использовать для разработки всяких игрушечных серваков и СУБД чтобы качать мышцу мозга.

★★★★★

Последнее исправление: vertexua (всего исправлений: 2)

Ответ на: комментарий от iZEN

аналогично:

$ ld -v
GNU ld 2.17.50 [FreeBSD] 2007-07-03
но код-то генерируется компилятором...

да, хочу у тебя спросить:
1) что значит «%»? много где встречал, но всё как-то не обращал внимание
2) есть у тебя какие-то контакты? мыло? хотел спросить о некоторых вещах (отдельную тему создавать бессмысленно, а ЛС на ЛОР-е нет)

reprimand ★★★★★
()
Последнее исправление: reprimand (всего исправлений: 1)
Ответ на: комментарий от anonymous

Я порты FreeBSD сравнивал. А по ссылке сервер сборки, скорее всего, ещё модульные тесты запускает.

iZEN ★★★★★
()
Ответ на: комментарий от reprimand

1)

% cat /root/.cshrc 
# $FreeBSD: stable/10/etc/root/dot.cshrc 243893 2012-12-05 13:56:39Z eadler $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
# more examples available at /usr/share/examples/csh/
#

alias h		history 25
alias j		jobs -l
alias la	ls -aF
alias lf	ls -FA
alias ll	ls -lAF
alias ls        ls -F -all -h -rt
alias du	du -H -h
alias df	df -H -h
alias diff	colordiff

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)

setenv	EDITOR	ee
setenv	PAGER	more
setenv	BLOCKSIZE	M

if ($?prompt) then
	# An interactive shell -- set some stuff up
        set prompt = "[%m][%/]\n% "
	set filec
	set history = 1000
	set savehist = (1000 merge)
	set autolist = ambiguous
	# Use history to aid expansion
	set autoexpand
	set autorehash
	set mail = (/var/mail/$USER)
	if ( $?tcsh ) then
		bindkey "^W" backward-delete-word
		bindkey -k up history-search-backward
		bindkey -k down history-search-forward
	endif

endif

2) Да ну нафик.

iZEN ★★★★★
()
Ответ на: комментарий от tailgunner

Нихрена себе... ты правда не понимаешь таких простых вещей?

нет. Объясни, пожалуйста, почему компилятор C++ порождает такой большой объём кода, но его производительность не увеличивается от размещения исходников/результирующих бинарников на гораздо более быстром носителе. В противоположность ему JIT-компилятор работает гораздо быстрее, если доступно много RAM.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

1) ясно. значит, не зря не обращал внимания
2) :( почему?

reprimand ★★★★★
()
Ответ на: комментарий от iZEN

почему компилятор C++ порождает такой большой объём кода, но его производительность не увеличивается от размещения исходников/результирующих бинарников на гораздо более быстром носителе

Потому что ОС кэширует данные. Unified Page Cache - слышал? RAM-диск не дает заметного выигрыша по сравнению с ним.

ему JIT-компилятор работает гораздо быстрее, если доступно много RAM

JIT-компилятор всегда работает с одной и той же скоростью. «Java вообще» работает быстрее, если у нее есть много памяти потому, что сборка мусора запускается реже (а в случае короткоживущих программ вроде компилятора не запускается вообще).

tailgunner ★★★★★
()
Ответ на: комментарий от iZEN

Знаю я про увеличение памяти для нетбинс. Версия явы - любая. (при этом от оракла ява меньше тормозила, чем OpenJKD, может сейчас ситуацию поправили, не знаю, уже месяцев 10 не пользуюсь ни одной Java программой).

peregrine ★★★★★
()
Ответ на: комментарий от tailgunner

Он больше про версии после 10 говорит, они да, несколько глючные. А если у него 10-ая тормозит, то пора пентиум 1 на помойку выкидывать.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Он больше про версии после 10 говорит, они да, несколько глючные

anonymous> 11ая еще более или менее

Да ты вообще читаешь, что тебе пишут? %)

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Так бред же анонимус пишет, после 10 версии у него студия гавно, а 11 - более-менее. ИМХО он запутался. Но подождём его самого, может прояснит своё сообщение.

peregrine ★★★★★
()
Ответ на: комментарий от iZEN

Не нужно сравнивать, то что не знаешь.

Это обычная сборка Eclipse Platform из git без запуска тестов.

anonymous
()
Ответ на: комментарий от peregrine

я про то, что в 9 студии вполне можно было комфортно работать с проектами (например в которых 30 мегов исходников). НО с 10 версии (а 10 это самый!! глючный трэш) всё покатилось к чёрту и работать стало невозможно. в 11 студии они немногим улучшили ситуёвину, но всё рано оно адски тормозит, например при переходе на описание символа (даже, если этот символ описан в текущем файле).

пентиум на помойку

https://dl.dropboxusercontent.com/u/22107199/mach.png

anonymous
()
Ответ на: комментарий от ck114

Все объекты пользовательского типа выделяются в куче, объект в стеке выделить нельзя

Тут важнее даже не это, а то что в Java нельзя последовательно расположить объекты в памяти (хоть в куче, хоть в стеке), а при современной колоссальной разнице в доступе к памяти последовательно и случайно это ИМХО решающий фактор.

redbaron ★★
()
Ответ на: комментарий от redbaron

Оно может потом их само расставить подряд. Такая оптимизация часто упоминается. Не факто что будет в каждом конкретном случае.

Думаю тут проблема в основном если нужно для передачи напиример в виде буфера в OpenCL нужно все расположить подряд в нужных местах. На практике это делается специальными либами аля JNA

vertexua ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Да, конечно. Даже 13 студия на XP со всеми обновлениями накатывается без проблем. Чего там в 8.1 сделали, не знаю, а в Windows7 не тормозит.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Да, конечно. Даже 13 студия на XP со всеми обновлениями накатывается без проблем.

эм. ты пробовал (установить MSVS 11.0 или выше на ОС Шиндоуз XP SP3)?

Stil ★★★★★
()
Ответ на: комментарий от Stil

10 точно ставил (она и сейчас стоит), а 13 видел мельком, но может там и семёрка была кастоматизованная под XP, притом в старом стиле, под 95 оффтопик, точно не могу утверждать.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

10 - лютый тормоз (сравниваю с 8, которая была норм). Дальше не пробовал. И да, у меня Xeon sandy bridge @ 3.6 GHz - пентиум 1, да?

Pavval ★★★★★
()
Ответ на: комментарий от anonymous

Пакет eclipse-3.7.1_4 из порта java/eclipse на FreeBSD собирается за 15 минут.

Дистфайлы:

% cd /usr/ports/java/eclipse/ && make checksum
===>  Found saved configuration for eclipse-3.7.1_4
===>   eclipse-3.7.1_4 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by eclipse-3.7.1_4 for building
=> SHA256 Checksum OK for eclipse/eclipse-build-914dc6de2bfc5ee5819a229cf4877f7043040a92.tar.xz.
=> SHA256 Checksum OK for eclipse/eclipse-3.7.1-src.tar.bz2.
=> SHA256 Checksum OK for eclipse/apache-ant-1.8.2-bin.tar.bz2.
=> SHA256 Checksum OK for eclipse/junit3.8.2.zip.
=> SHA256 Checksum OK for eclipse/junit-4.8.2.jar.
=> SHA256 Checksum OK for eclipse/apache-tomcat-7.0.25.tar.gz.
=> SHA256 Checksum OK for eclipse/tomcat-juli.jar.
=> SHA256 Checksum OK for eclipse/com.ibm.icu_4.4.2.v20110208.jar.
=> SHA256 Checksum OK for eclipse/com.jcraft.jsch_0.1.41.v201101211617.jar.
=> SHA256 Checksum OK for eclipse/org.apache.commons.codec_1.3.0.v201101211617.jar.
=> SHA256 Checksum OK for eclipse/org.apache.commons.el_1.0.0.v201101211617.jar.
=> SHA256 Checksum OK for eclipse/org.apache.commons.httpclient_3.1.0.v201012070820.jar.
=> SHA256 Checksum OK for eclipse/org.apache.commons.logging_1.0.4.v201101211617.jar.
=> SHA256 Checksum OK for eclipse/org.apache.lucene.core_2.9.1.v201101211721.jar.
=> SHA256 Checksum OK for eclipse/org.apache.lucene.analysis_2.9.1.v201101211721.jar.
=> SHA256 Checksum OK for eclipse/org.hamcrest.core_1.1.0.v20090501071000.jar.
=> SHA256 Checksum OK for eclipse/org.mortbay.jetty.util_6.1.23.v201012071420.jar.
=> SHA256 Checksum OK for eclipse/org.mortbay.jetty.server_6.1.23.v201012071420.jar.
=> SHA256 Checksum OK for eclipse/org.objectweb.asm_3.3.1.v201105211655.jar.
=> SHA256 Checksum OK for eclipse/org.sat4j.core_2.3.0.v20110329.jar.
=> SHA256 Checksum OK for eclipse/org.sat4j.pb_2.3.0.v20110329.jar.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от Lincor

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

vertexua ★★★★★
() автор топика
Ответ на: комментарий от htower_

... но его мир - деструктивен. И вот тут мы переходим на корень зла - бсдосрач.

Pavval ★★★★★
()
Ответ на: комментарий от vertexua

Для каждой задачи должен быть свой инструмент. Разве нет? А Fortran как раз и создавался для сложных числовых расчетов, плюс на нем море математических библиотек есть до сих пор.

Куда тут вперся С++?

LongLiveUbuntu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.