Jump to content

Fr0sT.Brutal

Members
  • Content Count

    2268
  • Joined

  • Last visited

  • Days Won

    46

Posts posted by Fr0sT.Brutal


  1. 2 hours ago, limelect said:

    After more than 30 years I do not remember ALL that I have done.

    My way of thinking is far more complex than just finding DPR.

    It is about analyzing a project and deducing its use.

    Or coming close to the above by knowing what the components may be?

    Maybe some of the names I am using will give a clue?

    Looks like you have an idea for your N+1-th project. Use AI, ML and neuronets there 🙂


  2. 14 minutes ago, luebbe said:

    Wasn't there also a series of aprintf which allocates the memory before doing the printf stuff? 😉

    IDK and I don't dare to go further into that cave of madness %-) there be monsters!


  3. OTOH, some old-school C functions are another edge of insanity. itoa? strstr?? And the absolute winner - printf, fprintf, sprintf, snprintf, printf_s, fprintf_s, sprintf_s, snprintf_s, _sprintf_l, swprintf, _swprintf_l, __swprintf_l, sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l, _sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l, vsprintf, _vsprintf_l, vswprintf, _vswprintf_l, __vswprintf_l, vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l, _vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l, vsnprintf, _vsnprintf, _vsnprintf_l, _vsnwprintf, _vsnwprintf_l, vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l, WTFPRINTF!!!

    • Haha 2

  4. 17 hours ago, Dave Novo said:

    @Fr0sT.Brutal The compiler is not 64 bit. The compiler is a 32 bit application that generates 64 bit code. In my initial post I described the problem with the EXE.

    Thanks, I didn't know that.

    15 hours ago, jbg said:

    But IDEFixPack doesn't exist for Delphi 10.4. So this is no option if you are using the newest Delphi version.

    It was opensourced so anyone could try to build it for newest versions


  5. 1 minute ago, Dave Novo said:

    @Fr0sT.Brutal - our project is 2.5M LOC approx. The 32 bit compiler gets up to 3GB but does usually complete without running out of memory. But the 64 bit compiler consistently ran out of memory. What you have described is exactly what we have done. to make it work. But we do not need all the EXE from the subprojects.

    That's weird BTW - IDE seems to run compiler as standalone EXE so it should not eat memory itself. And compiler is 64-bit so it must be able to allocate as much memory as possible including swap.

    3 minutes ago, Dave Novo said:

    But we do not need all the EXE from the subprojects.

    Just don't use them if you don't need


  6. 17 hours ago, Dany Marmur said:

    Definitely no barbies. None whatsoever.

    You have just insulted all otaku's down to the deep of the heart xD kawaii manga girls have nothing common with that synthetic model of a human xD


  7. 9 hours ago, Dave Novo said:

    Recently we had to switch to using Project Groups because the delphi compiler ran out of memory, particularly on 64 bit.

    Very interesting. How large your project is?

     

    Regarding the subject, you could also split your bucket of units into several projects and build them one after all. Anyway, if it's possible, I'd recommend considering extracting some units into separate subprojects that will be built independently; main project would use their DCU's without rebuilding.


  8. Trying to build latest "ICS V8.67 - Part 2" for Debian. Besides several "stream.Seek"'s that I fixed the most serious issue is that "kqueue" is used for message loop which is only available at *BSD. This topic recommends using epoll instead or some 3rd-party lib.


  9. 2 hours ago, aehimself said:

    But since I took a deep breath and started to get rid of this - I don't want to experiment to try to patch-the-patch to make it look better. This time I want to do it right 🙂

    Doing things right is always a better option. But when it's too hard, only some ugly methods could help - but one has to understand what they're doing.


  10. 1 hour ago, aehimself said:

    All was fine until only one code like this ran. In the moment two tried to connect simultaneously (not mentioning a couple of occasional deadlocks) connections took 5-10 times more than they normally would, if they connect by themselves. Also, UI was responsive, but sluggish.

    Well, it's not the App.PM's fault, it's the misuse. You just run a continuous loop which could iterate millions times per second if there's no messages in the queue. Surely it eats up CPU time and other operations get slower. What happens if you uncomment that Sleep?

    BTW, each additional connect you run adds one more nested loop with App.PM=>Button.OnClick=>Connect thus the call stack grows.


  11. 16 hours ago, Hafedh TRIMECHE said:

    But it's at a higher risk: Result content would be lost when setting length to 0.

    You already set length to 0 on decode error.

    BTW, there's a catch in dynamic Result regarding performance. They have their previous state when entering a function so the array could be allocated already. When you call SetLength, and if FastMM decides the array must be reallocated (as it reserves some space after the end), it copies full contents of an old array to a new one. Which is useless anyway. OTOH, disposing the old array by setting length to 0 could also slow thing down because then allocation will happen at every call.

    Depending on how intensive the function call is, you might want to re-use the array without truncating its length and just return how much decoded data it contains.


  12. 1 hour ago, Vincent Parrett said:

    That might be so, but you probably have a bunch of covid in the community too.. I'll stay down under where it's under control at the moment 😉

    IDK, that's a mystery that evil KGB hides from public but most of restrictions were removed long ago, just requirement of wearing masks and gloves in public transport remain.


  13. 3 hours ago, balabuev said:

    Not fully agree. You still has to rely on OS text rendering features. Which are themselfs depend on ICU. So, your own ICU can be not well consistent with OS's one, which is used for rendering.

    Not all applications need rendering, don't forget non-visual text processing tasks. I guess these ones are more critical to support bleeding edge standards (imagine someone would strongly urgently perform full-text search among many posts written in Quenya  :))

×