digitalmars.D.learn - Is sizeof() available in D language?
- BoQsc (9/9) Sep 04 2023 I've seen everyone using **datatype**`.sizeof` property.
- user1234 (7/16) Sep 04 2023 In both case it's replaced at compile-time by an
- Olivier Pisano (7/16) Sep 04 2023 Technically speaking, in C, sizeof is not a function, it is an
- Jonathan M Davis (7/26) Sep 04 2023 Yeah. You can pretty much just think of C's sizeof and D's sizeof as bei...
I've seen everyone using **datatype**`.sizeof` property. https://dlang.org/spec/property.html#sizeof It's great, but I wonder if it differ in any way from the standard C function `sizeof()`. https://www.geeksforgeeks.org/sizeof-operator-c/ https://en.cppreference.com/w/cpp/language/sizeof I'm seeking for some speed/performance, so that's why the question. Overall I'm alright with continuing using it.
Sep 04 2023
On Monday, 4 September 2023 at 09:41:54 UTC, BoQsc wrote:I've seen everyone using **datatype**`.sizeof` property. https://dlang.org/spec/property.html#sizeof It's great, but I wonder if it differ in any way from the standard C function `sizeof()`. https://www.geeksforgeeks.org/sizeof-operator-c/ https://en.cppreference.com/w/cpp/language/sizeof I'm seeking for some speed/performance, so that's why the question. Overall I'm alright with continuing using it.In both case it's replaced at compile-time by an IntegerExpression (the ast node for an integer literal) I would not loose too much time comparing the "postfix" style (D) with the "intrinsic" style (C). Possibly there might a few micro ops difference... so only significant compile-time difference for 1 Billion `sizeof` ;)
Sep 04 2023
On Monday, 4 September 2023 at 09:41:54 UTC, BoQsc wrote:I've seen everyone using **datatype**`.sizeof` property. https://dlang.org/spec/property.html#sizeof It's great, but I wonder if it differ in any way from the standard C function `sizeof()`.Technically speaking, in C, sizeof is not a function, it is an operator. This is why it is not available in D (replaced by the .sizeof property).https://www.geeksforgeeks.org/sizeof-operator-c/ https://en.cppreference.com/w/cpp/language/sizeof I'm seeking for some speed/performance, so that's why the question. Overall I'm alright with continuing using it.There is absolutely no difference in terms of runtime performance. In both cases, the compiler replaces it by the size of the type at compile-time.
Sep 04 2023
On Monday, September 4, 2023 2:34:08 PM MDT Olivier Pisano via Digitalmars-d- learn wrote:On Monday, 4 September 2023 at 09:41:54 UTC, BoQsc wrote:Yeah. You can pretty much just think of C's sizeof and D's sizeof as being the same thing with different syntaxes. In both cases, it's a compile-time value that gives the size of a type in bytes. In neither case does how it is calculated have any impact on the performance of the program. - Jonathan M DavisI've seen everyone using **datatype**`.sizeof` property. https://dlang.org/spec/property.html#sizeof It's great, but I wonder if it differ in any way from the standard C function `sizeof()`.Technically speaking, in C, sizeof is not a function, it is an operator. This is why it is not available in D (replaced by the .sizeof property).https://www.geeksforgeeks.org/sizeof-operator-c/ https://en.cppreference.com/w/cpp/language/sizeof I'm seeking for some speed/performance, so that's why the question. Overall I'm alright with continuing using it.There is absolutely no difference in terms of runtime performance. In both cases, the compiler replaces it by the size of the type at compile-time.
Sep 04 2023