The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..., opennews (??), 23-Сен-15, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


21. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  +4 +/
Сообщение от Аноним (-), 23-Сен-15, 15:45 
а потом на ещё быстром C? ))
Ответить | Правка | Наверх | Cообщить модератору

22. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  +/
Сообщение от Аноним (-), 23-Сен-15, 15:53 
А почему думаете, что C перестанет быть быстрым?
Ответить | Правка | Наверх | Cообщить модератору

25. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  +/
Сообщение от Аноним (-), 23-Сен-15, 15:58 

я как раз и написал что после C++ возможно следующим щагом будет переписать на C (который быстрее), а потом уже конечно на асемблере! ;)

Ответить | Правка | Наверх | Cообщить модератору

38. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  –3 +/
Сообщение от Анонимоус (?), 23-Сен-15, 16:55 
Вас и спрашивают, почему вы думаете что на С или ассемблере будет работать ощутимо быстрее, чем на С++?
Ответить | Правка | Наверх | Cообщить модератору

62. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  +1 +/
Сообщение от pavlinux (ok), 23-Сен-15, 21:07 
Потому, что лишнего не делает, когда не просят.
---

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}


$ strace ./cpp.out 2>&1 | tee | wc -l
63


int main()
{
    write(1, "Hello, world!\n",14);
    return 0;
}

$ strace ./c.out 2>&1 | tee | wc -l
50

Мало? Ну лови дальше.

$ gcc test.c -s
$ cat test.s


        .file   "test.c"
        .section        .rodata
.LC0:
        .string "Hello, world!\n"
        .text
        .globl  main
        .type   main, @function
main:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movl    $14, %edx
        movl    $.LC0, %esi
        movl    $1, %edi
        movl    $0, %eax
        call    write
        movl    $0, %eax
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   main, .-main
        .ident  "GCC: (Debian 4.9.2-10) 4.9.2"
        .section        .note.GNU-stack,"",@progbits

А теперь куча говна на С++

$ g++ test.cpp -S
$ cat test.s


        .file   "test.cpp"
        .local  _ZStL8__ioinit
        .comm   _ZStL8__ioinit,1,1
        .section        .rodata
.LC0:
        .string "Hello, world!"
        .text
        .globl  main
        .type   main, @function
main:
.LFB1020:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movl    $.LC0, %esi
        movl    $_ZSt4cout, %edi
        call    _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
        movl    $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi
        movq    %rax, %rdi
        call    _ZNSolsEPFRSoS_E
        movl    $0, %eax
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1020:
        .size   main, .-main
        .type   _Z41__static_initialization_and_destruction_0ii, @function
_Z41__static_initialization_and_destruction_0ii:
.LFB1029:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        subq    $16, %rsp
        movl    %edi, -4(%rbp)
        movl    %esi, -8(%rbp)
        cmpl    $1, -4(%rbp)
        jne     .L3
        cmpl    $65535, -8(%rbp)
        jne     .L3
        movl    $_ZStL8__ioinit, %edi
        call    _ZNSt8ios_base4InitC1Ev
        movl    $__dso_handle, %edx
        movl    $_ZStL8__ioinit, %esi
        movl    $_ZNSt8ios_base4InitD1Ev, %edi
        call    __cxa_atexit
.L3:
        leave
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1029:
        .size   _Z41__static_initialization_and_destruction_0ii, .-_Z41__static_initialization_and_destruction_0ii
        .type   _GLOBAL__sub_I_main, @function
_GLOBAL__sub_I_main:
.LFB1030:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movl    $65535, %esi
        movl    $1, %edi
        call    _Z41__static_initialization_and_destruction_0ii
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1030:
        .size   _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main
        .section        .init_array,"aw"
        .align 8
        .quad   _GLOBAL__sub_I_main
        .hidden __dso_handle
        .ident  "GCC: (Debian 4.9.2-10) 4.9.2"
        .section        .note.GNU-stack,"",@progbits


Фкурил?

Ответить | Правка | Наверх | Cообщить модератору

86. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  +/
Сообщение от Классический анонимус (?), 24-Сен-15, 05:05 
Какая глупость мерять oneliner-ом. А на проекте из 500килострочек си может оказаться быстрее (а джава ещё быстрее).
Ответить | Правка | Наверх | Cообщить модератору

147. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  –1 +/
Сообщение от pavlinux (ok), 26-Сен-15, 23:25 
> Какая глупость мерять oneliner-ом. А на проекте из 500килострочек си может оказаться
> быстрее (а джава ещё быстрее).

Жаба по определению не может быть быстрее.

Ответить | Правка | Наверх | Cообщить модератору

116. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  –1 +/
Сообщение от guest (??), 24-Сен-15, 12:19 
> Потому, что лишнего не делает, когда не просят.

в с++ для корректной работы main() необходимо сделать предварительные танцы с бубном, вроде настройки переменных std::cout. так что это необходимое зло. вы бы еще включили полный rtti что бы браузер не вынес ноши :))))))

з.ы. есть такая удобная штука http::/pastebin.org

Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

145. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  +/
Сообщение от pavlinux (ok), 26-Сен-15, 23:16 
> вы бы еще

А если я С начну оптимизировать?


void main() { char A[] =
"\xeb\x2a\x5e\x89\x76\x08\xc6\x46\x07\x00\x0b\x00"
"\xc7\x46\x0c\x00\x00\x00\x00\xb8\x0b\x00\x0b\x00"
"\x00\x00\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80";
int *ret;ret = (int *)&ret+2; (*ret) = (int)A;}

Ответить | Правка | Наверх | Cообщить модератору

43. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  –2 +/
Сообщение от Anonim (??), 23-Сен-15, 17:39 
Не быстрее
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

115. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."  –1 +/
Сообщение от guest (??), 24-Сен-15, 12:14 
> а потом уже конечно на асемблере! ;)

конечно на ассемблере!!! как neon на армах и прочие simd + публикация исходников микрокода на vhdl всех железных оптимизаций!!!:)

похожий пример. я разрабатываю протокол, после отладки прототипа python + protobuf + kivy и запуска минимального функционала - будет нативный клиент на с++.
Высокоуровневые средства разработки и отладки, в частности пайтон с киви идеально подходят для прототипирования. nb protobuf - позволяет сохранять совместимость между языками программирования на сетевом уровне.

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

153. "Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."  +/
Сообщение от arisu (ok), 30-Сен-15, 22:34 
вместо чтобы сразу взять нормальный язык — D, например, — и не писать мусорных прототипов. впрочем, чего хорошего можно ожидать от гвидобейсиковцев…
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру