- 1
https://journal.tinkoff.ru/diary-it-zhena-ekb/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
https://journal.tinkoff.ru/diary-it-zhena-ekb/
Хорошо устроилась
+1
https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/pidigits.html
1.0 C gcc #6 0.59 2,444 1090 2.37 100% 100% 100% 98%
1.1 C++ g++ #6 0.66 5,152 986 2.63 100% 100% 100% 100%
1.2 Rust #4 0.71 2,672 799 0.73 3% 0% 0% 100%
1.2 Free Pascal #3 0.73 2,268 530 0.73 0% 0% 100% 0%
1.4 F# .NET #6 0.82 34,428 905 0.83 1% 2% 96% 1%
1.4 Haskell GHC #5 0.83 6,056 928 0.84 0% 99% 1% 1%
1.5 Ada 2012 GNAT 0.88 4,704 1130 0.89 0% 0% 100% 1%
1.5 Rust #2 0.88 2,800 1306 0.89 0% 1% 100% 0%
1.5 C++ g++ #4 0.89 4,280 513 0.92 0% 2% 1% 100%
1.5 OCaml #7 0.89 5,968 593 0.90 0% 0% 1% 100%
1.5 Swift #2 0.89 9,256 600 0.91 3% 0% 0% 99%
1.5 PHP #5 0.91 13,196 399 0.96 2% 0% 3% 100%
1.5 C# .NET #5 0.92 35,404 977 0.96 98% 3% 2% 1%
1.6 Java #3 0.93 36,552 764 0.98 2% 3% 1% 99%
However, Java is one of the fastest and most energy-efficient object-oriented language. Interpreted languages like Perl, Python, and Ruby were among the least energy efficient
Using the Computer Benchmarks Game, the team of researchers tested these languages by compiling/executing such programs using the state-of-the-art compilers, virtual machines, interpreters, and libraries.
They then analyzed the performance of the different implementation considering three variables: execution time, memory consumption and energy consumption.
https://jaxenter.com/energy-efficient-programming-languages-137264.html
https://jaxenter.com/wp-content/uploads/2017/09/energy-efficient-languages-768x689.png
https://jaxenter.com/wp-content/uploads/2017/09/energy-efficient-languages-2-768x368.png
+1
// https://github.com/mailru/confetti/blob/63ed82c65a7fbcd2baf8a67f1b7410e044dfd1dd/h_dump.c#L44
static void
dumpParamDef(FILE *fh, char* name, ParamDef *def) {
dumpComment(fh, def, 1);
switch(def->paramType) {
case int32Type:
fprintf(fh, "\tint32_t\t%s;\n", def->name);
break;
case uint32Type:
fprintf(fh, "\tu_int32_t\t%s;\n", def->name);
break;
case int64Type:
fprintf(fh, "\tint64_t\t%s;\n", def->name);
break;
case uint64Type:
fprintf(fh, "\tu_int64_t\t%s;\n", def->name);
break;
case doubleType:
fprintf(fh, "\tdouble\t%s;\n", def->name);
break;
case stringType:
fprintf(fh, "\tchar*\t%s;\n", def->name);
break;
case boolType:
fprintf(fh, "\tconfetti_bool_t\t%s;\n", def->name);
break;
case commentType:
fprintf(stderr, "Unexpected comment");
break;
case structType:
fprintf(fh, "\t%s", name);
dumpStructName(fh, def->paramValue.structval, "_");
fprintf(fh, "*\t%s;\n", def->name);
break;
case arrayType:
fprintf(fh, "\t%s", name);
dumpStructName(fh, def->paramValue.arrayval->paramValue.structval, "_");
fprintf(fh, "**\t%s;\n", def->name);
break;
case builtinType:
break;
default:
fprintf(stderr,"Unknown paramType (%d)\n", def->paramType);
exit(1);
}
}
Какое же говно эта ваша сишка. А в крестоговне эта задача легко и элегантно решается, правда ведь?
+1
Тестовый Оффтоп #4
#1: https://govnokod.ru/26373 https://govnokod.xyz/_26373
#1: https://govnokod.ru/26611 https://govnokod.xyz/_26611
#1: https://govnokod.ru/26824 https://govnokod.xyz/_26824
#1: https://govnokod.ru/26850 https://govnokod.xyz/_26850
#2: https://govnokod.ru/27102 https://govnokod.xyz/_27102
#3: https://govnokod.ru/27523 https://govnokod.xyz/_27523
+1
Питушня #19
#1: https://govnokod.ru/26692 https://govnokod.xyz/_26692
#2: https://govnokod.ru/26891 https://govnokod.xyz/_26891
#3: https://govnokod.ru/26893 https://govnokod.xyz/_26893
#4: https://govnokod.ru/26935 https://govnokod.xyz/_26935
#5: (vanished) https://govnokod.xyz/_26954
#6: (vanished) https://govnokod.xyz/_26956
#7: https://govnokod.ru/26964 https://govnokod.xyz/_26964
#8: https://govnokod.ru/26966 https://govnokod.xyz/_26966
#9: https://govnokod.ru/27017 https://govnokod.xyz/_27017
#10: https://govnokod.ru/27045 https://govnokod.xyz/_27045
#11: https://govnokod.ru/27058 https://govnokod.xyz/_27058
#12: https://govnokod.ru/27182 https://govnokod.xyz/_27182
#13: https://govnokod.ru/27260 https://govnokod.xyz/_27260
#14: https://govnokod.ru/27343 https://govnokod.xyz/_27343
#15: https://govnokod.ru/27353 https://govnokod.xyz/_27353
#16: https://govnokod.ru/27384 https://govnokod.xyz/_27384
#17: https://govnokod.ru/27482 https://govnokod.xyz/_27482
#18: https://govnokod.ru/27514 https://govnokod.xyz/_27514
+1
function *foo()
{
yield 1;
yield 2;
yield 3;
}
function main()
{
for (const o of foo())
{
console.log (o);
}
}
main();
давайте посмотрим, как TS/JS имплементирует "елды". изначально код выглядит красиво. но заглянем под капот что генерит tsc для выполнение такого кода. мне придется разбить этот ужос
+1
struct file_id
{
uint64_t persistent;
uint64_t volatile_;
static const size_t RAW_LENGTH = 16;
operator std::string() const
{ return std::string(reinterpret_cast<const char*>(&persistent), RAW_LENGTH); }
// Операторы для использования file_id в качестве ключа map и
// unordered_map
struct hash
{
std::size_t operator()(const ntdec_smb2_file_id& file_id) const
{
std::string s_file_id = file_id;
std::hash<std::string> hasher;
return hasher(s_file_id);
}
};
bool operator == (const ntdec_smb2_file_id& other)
{
return std::string(*this) == std::string(other);
}
bool operator < (const ntdec_smb2_file_id& other)
{
return std::string(*this) < std::string(other);
}
bool operator > (const ntdec_smb2_file_id& other)
{
return std::string(*this) > std::string(other);
}
};
operator std::string тоже UB?
+1
type a = 1;
type i = a & a;
type j = a | a;
function main() {
let v1: i;
let v2: j;
assert(sizeof(i) != sizeof(j));
print("done.");
}
ну все я понял вам скучно... как насчет такого примера?
+1
fn main() {
println!("Hello World!");
}
rustc --version --verbose:
rustc 1.52.1 (9bc8c42bb 2021-05-09)
binary: rustc
commit-hash: 9bc8c42bb2f19e745a63f3445f1ac248fb015e53
commit-date: 2021-05-09
host: powerpc-unknown-linux-gnu
release: 1.52.1
LLVM version: 12.0.0
Error output
rustc ./hello.rs
Illegal instruction (core dumped)
https://github.com/rust-lang/rust/issues/85238
Open: clienthax opened this issue on May 12 · 6 comments
+1
C 5.2s gcc test.c
C++ 1m 25s g++ test.cpp
Zig 10.1s zig build-exe test.zig
Nim 45s nim c test.nim
Rust Stopped after 30 minutes rustc test.rs
Swift Stopped after 30 minutes swiftc test.swift
D Segfault after 6 minutes dmd test.d
Rust and Swift took too long to compile 400k lines, so I tried smaller numbers:
# lines Rust Swift D
2k 3.4s 0.8s
4k 9.0s 1.0s
8k 30.8s 2.3s
20k 3m 52s 11.8s 4.7s
100k - 5m 57s segfault
https://vlang.io/compilation_speed