Здравствуйте, Codealot, Вы писали:
R>>Я тебе уже и причины объяснил, и переделал все уже нескольно раз — сишарп как сливал, так и продолжает сливать.
C>Повторенное дважды, а?
Так а я тебе о чем? Ты постоянно вынуждаешь меня повторяться, такое ощущение, что ты вообще не читаешь, ЧТО я тебе отвечаю.
Здравствуйте, rg45, Вы писали:
R>Я говорил про последнюю, которая идет с 2022-й студией.
6.0 — это именно она и есть. Последняя, а не 4.8, которая была выпущена 3 года назад. Если ты не в состоянии установить и использовать именно последнюю версию, то кто в это виноват, кроме тебя?
R>чтоб еще раз посмотреть, как шарп сольет, я не собираюсь, разумеется.
Ну а результаты, которые я наблюдаю прямо сейчас своими глазами — в твоей вселенной им очевидно не место.
Ад пуст, все бесы здесь.
Re[16]: [performance] чего-то я не понимаю в этой жизни
Здравствуйте, rg45, Вы писали:
R>На тот случай, если ты опять захочешь включить моя-твоя-не-понимать, расшифрую: один пример мой (можешь взять любой из...), а второй тот, который, по твоим словам, сливает сишарпному в пять раз.
Именно твой. Тот, который исполняется ~3.5 секунды против 1.2 для C#.
Ад пуст, все бесы здесь.
Re[10]: [performance] чего-то я не понимаю в этой жизни
Здравствуйте, rg45, Вы писали:
R>Что stoi? Вон, смотри, сколько примеров с stoi уже:
Уклоняешься. Изначально, ты пропустил этот нюанс мимо ушей. О чем и разговор, собственно.
R>Где ТВОЯ, или твои функции, в которых плюсы сливают шарпу? Предъяви уже это чудо, очень хочется посмотреть.
Код у тебя уже есть. Всё, что тебе нужно сделать — перестать пропускать всё мимо ушей и наконец запустить его в последней версии .NET, а не в некрофильской
Ад пуст, все бесы здесь.
Re[19]: [performance] чего-то я не понимаю в этой жизни
Здравствуйте, Codealot, Вы писали:
R>>Что stoi? Вон, смотри, сколько примеров с stoi уже:
C>Уклоняешься. Изначально, ты пропустил этот нюанс мимо ушей. О чем и разговор, собственно.
C>Код у тебя уже есть. Всё, что тебе нужно сделать — перестать пропускать всё мимо ушей и наконец запустить его в последней версии .NET, а не в некрофильской
Слышь, парниша, ты по существу ты, конечно, прав в данной ситуации. Я поставил .NET 6.0 и теперь уже увидел. Но за помелом следи немного. За "некрофилию" можно и в табло получить.
Здравствуйте, rg45, Вы писали:
R>Угу. Смог. Теперь вижу. А в стартовом сообщении нельзя было сразу все эти подробности написать? Ты же не на .NET форуме находишься, все-таки.
А я сам сначала не понял, почему у тебя так получилось.
Ад пуст, все бесы здесь.
Re[13]: [performance] чего-то я не понимаю в этой жизни
Здравствуйте, Codealot, Вы писали:
R>>Угу. Смог. Теперь вижу. А в стартовом сообщении нельзя было сразу все эти подробности написать? Ты же не на .NET форуме находишься, все-таки.
C>А я сам сначала не понял, почему у тебя так получилось.
Ну, что, скажу прямо, я удивлен. Нужно будет поиграться с плюсовым кодом, побробовать что-то вместо stoi. Насколько можно этот код ускорить.
Я в твой пример внес небольшие изменения: rand проинициализировал по таймеру, сложение заменил на xor и вывел результат в консоль. Но время не изменилось при этом. То есть, это реальное рабочее время, без всяких читерств оптимизатора.
--
Re[20]: [performance] чего-то я не понимаю в этой жизни
Здравствуйте, rg45, Вы писали:
R>Ну, что, скажу прямо, я удивлен. Нужно будет поиграться с плюсовым кодом, побробовать что-то вместо stoi. Насколько можно этот код ускорить.
Вот и я удивляюсь.
Ад пуст, все бесы здесь.
Re[10]: [performance] чего-то я не понимаю в этой жизни
Здравствуйте, σ, Вы писали:
σ> > In other cases, if any character requires more than 8-bits to represent it, all the characters are stored using two bytes for each — UTF-16 representation. σ> К концу десятилетия (следующего), возможно (правда, я сомневаюсь), догадаются, что можно хранить в байте те символы, которым этого хватает, даже если есть символы, которым байта не хватает. Последние можно хранить больше, чем в одном байте.
А ещё можно и сразу bzip-ом паковать и в блокчейн записывать. Правда вот просто хранить недостаточно, а ещё надо и с этим что-то делать, у String много методов есть, перформанс которых очень важен.
Здравствуйте, Codealot, Вы писали:
C> Как я уже писал — рандом всё еще кривой, но это уже не так важно. Если увеличить размер массива до 0x4000'000, то твой код исполняется около 3.5 секунд. А код на C# — 1.2 секунды.
Шарп нагибает сисиплюс, дельфя нагибает шарп :
C:\cs\bin\release\net6.0>cs.exe
Init: 4.0805097
TestPerformanceManaged: 0.7572313
C:\dd\Win64\Release>Project1.exe
Init: 1955 ms
Parse: 831 ms
C:\dd\Win32\Release>Project1.exe
Init: 1584 ms
Parse: 570 ms
program Project1;
{$APPTYPE CONSOLE}uses
System.SysUtils,
System.Diagnostics;
begin
var vals : TArray<string>;
SetLength(vals, $1_000_000); // циферку уменьшил (в шарпе тоже) т.к. на виртуалке памяти не жирноvar sw1 := TStopwatch.StartNew;
for var i := 0 to High(vals) do
vals[i] := Random(High(Int32)).ToString;
WriteLn('Init: ', sw1.ElapsedMilliseconds, ' ms');
var sw2 := TStopwatch.StartNew;
var res : Int64 := 0;
for var i := 0 to High(vals) do
Inc(res, vals[i].ToInteger);
WriteLn('Parse: ', sw2.ElapsedMilliseconds, ' ms');
end.
Здравствуйте, Codealot, Вы писали:
C>Ну значит приведи. Начни с изучения информации, которая уже есть.
Помогать интересно, когда видишь на другом конце провода умного человека, которому чуть-чуть не хватает предметных знаний для желаемого результата. Когда понимаешь, что сам он проблему решит за день, наступив на 5 грабель, а после 5 минут твоей помощи — за час, схватив на лету твою идею и доработав детали.
Я здесь этого не вижу. Я вижу типичного фрилансера с плохой самоорганизацией. Который за все берется без понимания как оно работает, а в итоге всегда аврал, всегда все горит, а виноват то компилятор, то гадина-заказчик, то авторы языка. Тут помогать бесполезно: вытащишь лапу — хвост завязнет. Вытащишь хвост — веки закроются. На каждый ответ будет 2 вопроса и святая уверенность, что неправы все вокруг.
Извини, но помочь себе можешь только ты сам, пересмотрев подход. Иначе так и будешь бегать наперегонки с паровозом, пока здоровье не кончится.
Re[10]: [performance] чего-то я не понимаю в этой жизни