Re[4]: Про true-сишников
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 14.02.25 08:14
Оценка:
Здравствуйте, Нomunculus, Вы писали:

Н>Ну обозвал бы хоть FOR_LOOP. Потому что LOOP(i, j) вполне можем значить while(i<j)


Если это автор 2-3 программ в одном стиле и ничего больше, он о таком не думает. И это вполне естественно — каждый ограничен своим опытом, и пока не наступит на новую форму граблей, не задумывается, что она в принципе может где-то быть.
The God is real, unless declared integer.
Re[3]: Про true-сишников
От: Privalov  
Дата: 14.02.25 10:03
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Уже не смешно.


Я разве утверждал что-то иное?
Re[3]: Про true-сишников
От: student__  
Дата: 14.02.25 14:24
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Возьмите консольное приложение на C и на .Net. Запустите. Просто пустое консольное. Заметите тормоза при запуске невооруженным глазом.


Запускаю .NET хелло ворлд в виртуалочке, никаких тормозов вообще. Ноль.
Отредактировано 14.02.2025 14:25 student__ . Предыдущая версия .
Re[4]: Про true-сишников
От: ononim  
Дата: 14.02.25 14:47
Оценка:
S>>Возьмите консольное приложение на C и на .Net. Запустите. Просто пустое консольное. Заметите тормоза при запуске невооруженным глазом.
__>Запускаю .NET хелло ворлд в виртуалочке, никаких тормозов вообще. Ноль.
Ноль целых ноль десятых?
Как много веселых ребят, и все делают велосипед...
Замечали, ага. Это круто.
От: pkl  
Дата: 14.02.25 14:49
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот пример проекта: https://github.com/carlini/c-chat-gpt-2/blob/main/c_chat_gpt_2.c https://habr.com/ru/articles/879662/


S>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными? Но нужно уметь писать, не пытаться в ООП и пр. извраты.


S>Интересно же — существуют true-сишники, особый стиль жизни даже — которые гневно не одобряют всякие излишества в языках, приравнивая их к джинсам и жвачке времен СССР. При этом знают тонкости системы, железа на глубочайшем уровне и знают как сделать проще или вообще не делать. Наслышан о таких, но, к сожалению, познакомиться не довелось.


S>Встречали ли вы таких? Как относитесь?


Знаем веб-мессенджер целиком на C++ написанный, веб-часть частично на Си и скомпилена в WebAssembly.
Летает просто жесть.
Относимся к такому с ненавистью, потому что не можем сделать лучше на своих быдло-языках и люто завидуем.
https://nanochat.ru/main
Отредактировано 14.02.2025 15:02 pkl . Предыдущая версия .
Re[4]: Про true-сишников
От: Shmj Ниоткуда  
Дата: 14.02.25 16:47
Оценка:
Здравствуйте, student__, Вы писали:

__>Запускаю .NET хелло ворлд в виртуалочке, никаких тормозов вообще. Ноль.


Теперь сравни с прогой на C. Даже не увидишь как окно закрылось.
=сначала спроси у GPT=
Re: Про true-сишников
От: B0FEE664  
Дата: 14.02.25 16:51
Оценка: 4 (2) +1 :)
Здравствуйте, Shmj, Вы писали:

S>Вот пример проекта: https://github.com/carlini/c-chat-gpt-2/blob/main/c_chat_gpt_2.c https://habr.com/ru/articles/879662/


S>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными? Но нужно уметь писать, не пытаться в ООП и пр. извраты.

Выразительными?
Что, по вашему, выражает автор этого кода следующими строчками?
int tmp,zz;
...
int main(int tmp, char** argv) {
  tmp = argv[1][5] + 3*argv[1][7] + 3 & 3;


S>Встречали ли вы таких?

ага

S>Как относитесь?

Как к чукче, который не читатель.
И каждый день — без права на ошибку...
Re[5]: Про true-сишников
От: student__  
Дата: 14.02.25 17:38
Оценка:
Здравствуйте, Shmj, Вы писали:


S>Теперь сравни с прогой на C. Даже не увидишь как окно закрылось.


А зачем мне окно? Я предпочитаю консольку.
Re[2]: Про true-сишников
От: ononim  
Дата: 14.02.25 18:03
Оценка: 1 (1)
S>>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными? Но нужно уметь писать, не пытаться в ООП и пр. извраты.
BFE>Выразительными?
BFE>Что, по вашему, выражает автор этого кода следующими строчками?
BFE>
BFE>int tmp,zz;
BFE>...
BFE>int main(int tmp, char** argv) {
BFE>  tmp = argv[1][5] + 3*argv[1][7] + 3 & 3;
BFE>

сюрреализм какой то, там такой комент:

// argv[1] stores the name of the model we're loading
// tmp will map 124M -> 0, 355M -> 1, 775M -> 2, 1558M -> 3
// Note that if you change the name of the file then this will break.

файлы у него зовутся так:
gpt2-124M.ckpt -- tmp = ('1' + 3 * '4' + 3) & 3 = (49 + 3 * 52 + 3) & 3 = 208 & 3 = 0
gpt2-355M.ckpt -- tmp = ('3' + 3 * '5' + 3) & 3 = (51 + 3 * 53 + 3) & 3 = 213 & 3 = 1
gpt2-774M.ckpt -- tmp = ('7' + 3 * '4' + 3) & 3 = (55 + 3 * 52 + 3) & 3 = 214 & 3 = 2
gpt2-1558M.ckpt -- tmp = ('1' + 3 * '5' + 3) & 3 = (49 + 3 * 53 + 3) & 3 = 211 & 3 = 3
и далее вишенкой на торте: NHEAD = 12 + 4*tmp + (tmp>2);
кмк это писал не человек
человек даже, срезая углы (ради количества строк, смысл экономить такты в парсинге комстроки) сделал бы так:
if (strstr(argv[1], "gpt2-124M.ckpt"))  NHEAD = 12;
else if (strstr(argv[1], "gpt2-355M.ckpt"))  NHEAD = 16;
else if (strstr(argv[1], "gpt2-774M.ckpt"))  NHEAD = 20;
else if (strstr(argv[1], "gpt2-1558M.ckpt")) NHEAD = 25;
else abort();

еще и короче получилось по строчкам, ибо код так сказать самодокументирующийся
Как много веселых ребят, и все делают велосипед...
Отредактировано 14.02.2025 18:31 ononim . Предыдущая версия . Еще …
Отредактировано 14.02.2025 18:04 ononim . Предыдущая версия .
Re[6]: Про true-сишников
От: Shmj Ниоткуда  
Дата: 14.02.25 19:08
Оценка:
Здравствуйте, student__, Вы писали:

__>А зачем мне окно? Я предпочитаю консольку.


Попробуй двойным кликом запустить .Net консольное приложение в Windows а потом консольное приложение на .Net. Разница в скорости видна невооруженным глазом. И при увеличении приложения разница все более заметна.
=сначала спроси у GPT=
Re[7]: Про true-сишников
От: wl. Россия  
Дата: 14.02.25 19:29
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, student__, Вы писали:


__>>А зачем мне окно? Я предпочитаю консольку.


S>Попробуй двойным кликом запустить .Net консольное приложение в Windows а потом консольное приложение на .Net. Разница в скорости видна невооруженным глазом. И при увеличении приложения разница все более заметна.


вранье. я видел 2 проекта, которые делали одно и тоже — эмуляция игровой консоли Nintendo Switch — Yuzu (C++) и Ryujinx (C#).
До того, как их нинтендо забанило, я их сравнивал, и по производительности C++ сосал

(дополню — и там и там была эмуляция ARM64 кода, в нативный x64 и MSIL соответственно)
Отредактировано 14.02.2025 19:33 wl. . Предыдущая версия .
Re[3]: Про true-сишников
От: Sinclair Россия https://github.com/evilguest/
Дата: 16.02.25 02:45
Оценка:
Здравствуйте, ononim, Вы писали:

S>>>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными? Но нужно уметь писать, не пытаться в ООП и пр. извраты.

BFE>>Выразительными?
BFE>>Что, по вашему, выражает автор этого кода следующими строчками?
BFE>>
BFE>>int tmp,zz;
BFE>>...
BFE>>int main(int tmp, char** argv) {
BFE>>  tmp = argv[1][5] + 3*argv[1][7] + 3 & 3;
BFE>>

O>сюрреализм какой то, там такой комент:
Это не сюрреализм, а т.н. minimal perfect hashing.
Вопрос, конечно, как он эту функцию построил
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Про true-сишников
От: __kot2  
Дата: 16.02.25 06:49
Оценка:
Здравствуйте, Нomunculus, Вы писали:

Н>Здравствуйте, Shmj, Вы писали:


Н>Ох уж эти оптимизаторы писанины хреновы. Любители макросов обдолбанные

Я тоже не понимаю что прямо хорошего в этом коде. Мое бы ревью он не прошел
Re[2]: Про true-сишников
От: Артём Австралия жж
Дата: 16.02.25 22:55
Оценка: :)
Здравствуйте, Нomunculus, Вы писали:

Н>Ох уж эти оптимизаторы писанины хреновы. Любители макросов обдолбанные


Н>Вот сложно да, каждый раз «for” писать???


C++ шаблонами и переопределением операторов вывел способность запутать на новый уровень. Собственно, шаблоны — это и есть типизированные макросы.
Re: Про true-сишников
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 17.02.25 09:06
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными?

Нет, не замечали.
Sic luceat lux!
Re[3]: Про true-сишников
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 17.02.25 09:23
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>C++ шаблонами и переопределением операторов вывел способность запутать на новый уровень. Собственно, шаблоны — это и есть типизированные макросы.


Ладно бы ты в 2003 году такое написал...
Re[3]: Про true-сишников
От: Философ Ад http://vk.com/id10256428
Дата: 18.02.25 01:33
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Возьмите консольное приложение на C и на .Net. Запустите. Просто пустое консольное. Заметите тормоза при запуске невооруженным глазом.


А давай вооружонным!? Зачем "на глаз", если можно измерить время и даже посмотреть что именно происходит — на что уходит время.
Предоставишь проги?
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: Про true-сишников
От: amironov79  
Дата: 18.02.25 07:17
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, student__, Вы писали:


__>>Запускаю .NET хелло ворлд в виртуалочке, никаких тормозов вообще. Ноль.


S>Теперь сравни с прогой на C. Даже не увидишь как окно закрылось.


$ time ./hello-sharp.exe 
Hello

real    0m0.140s
user    0m0.015s
sys     0m0.062s

$ time ./hello-c.exe
Hello

real    0m0.116s
user    0m0.000s
sys     0m0.047s


Какие выводы нужно сделать?
Re[6]: Про true-сишников
От: Shmj Ниоткуда  
Дата: 18.02.25 20:44
Оценка:
Здравствуйте, amironov79, Вы писали:

A>
A>$ time ./hello-sharp.exe 
A>Hello

A>real    0m0.140s
A>user    0m0.015s
A>sys     0m0.062s

A>$ time ./hello-c.exe
A>Hello

A>real    0m0.116s
A>user    0m0.000s
A>sys     0m0.047s

A>


A>Какие выводы нужно сделать?


Сорри, ранее были другие результаты. Сейчас, похоже ускорили.
=сначала спроси у GPT=
Re[7]: Про true-сишников
От: amironov79  
Дата: 19.02.25 03:04
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Сорри, ранее были другие результаты. Сейчас, похоже ускорили.


В dotnet в последние годы многое сделано в плане производительности, и надо всё заново проверять
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.