#1 Re: mORMot 2 » High-Performance Frameworks » 2024-04-10 03:43:41

Hello,

I've been wondering how close mORMot itself is in the TFB compared to Dev version.

Is it synced all the time or feature by feature. Or is some functionality and changes developed over there and merged back etc...

-Tee-

#2 Re: mORMot 2 » High-Performance Frameworks » 2024-01-15 05:54:49

ab wrote:

@pavel Hope you are not too bad. We think daily about you, your family and your country.

True, hope everything is as OK as it just can be...

#3 Re: mORMot 2 » mORMot2 Regression Tests fails » 2024-01-06 07:10:17

ab wrote:

A Delphi 12 hotfix seems on its way

Time just crawls for the one who waits for the Delphi HotFix.
- Possibly Albert Einstein


-Tee-

#4 Re: mORMot 2 » mORMot2 Regression Tests fails » 2024-01-05 11:21:21

ab wrote:

@TPrami
Sad to hear, but interesting.
Do you have any references about those D12 bugs?
Are they about the IDE (instability, incompatibility), or the compiler itself?

All over. Worst are the compiler problems.

new div optimization does not always work and maybe there was something in Mod also (Can't remember). IDE has broken features.

I think I saw following, could not reproduce after changed the code.
  function Foo: Ingeger; overload;
  function Foo(const AValue: Integer): Integer; overload;

Then I called Foo;, It was kind of Foo, but wirth 1 as default parameter. Then Called witrh Foo(0); and at least debugger went to the Foo; (without parameter). Made simple app but did not behave same way.

Collected few highly voted tickets.

https://quality.embarcadero.com/browse/RSP-43580
https://quality.embarcadero.com/browse/RSP-43424
https://quality.embarcadero.com/browse/RSP-43540
https://quality.embarcadero.com/browse/RSP-43485
https://quality.embarcadero.com/browse/RSP-43586
https://quality.embarcadero.com/browse/RSP-43445
https://quality.embarcadero.com/browse/RSP-43418
https://quality.embarcadero.com/browse/RSP-42692
https://quality.embarcadero.com/browse/RSP-43274

-Tee-

#5 Re: mORMot 2 » mORMot2 Regression Tests fails » 2024-01-05 04:40:11

tech wrote:

Hi all,

I've tested the mormot v2.2 under Delphi12 and windows 10 and I got some failing regression tests :

D12 has some nasty bugs, so there might be quite random stuff happening when running any code compiled with it.

Eagerly waiting for the update to it. Hope they really take their time tough, and squish all bugs they just can.

-Tee-

#6 Re: Low level and performance » IntrToStr algorithm (Interesting read) » 2023-12-08 08:47:43

ab wrote:

I am dubious this article is very accurate.
Speaking of 'integer division' for a division per a constant on a recent compiler, in the context of performance is wrong.
Any good compiler (gcc, clang, FPC but not Delphi) is able to replace a " x / 10 " with a multiplication with the 32-bit or 64-bit reciprocal.

I do not see how its implementation may be faster than our StrUInt32() or StrUInt64() asm for i386 or x86_64.
In the context of pascal, the real bottleneck of IntToStr() is not the text computation, it is the string allocation.

True.

Don't know how that algorithm would perform, I would say just by reading the article and looking at Delphi implementation.

My gut feeling is that the speed up promises of that article are way too large. Donät understand C/C++ enough that I could port that code to Delphi/Object Pascal.

-Tee-

#8 Re: mORMot 2 » Great performance framework » 2023-11-29 08:28:14

ab wrote:

There are continuous 24/7 rounds, but only one "official" round each year.

Roger that...

-Tee-

#9 Re: mORMot 2 » Great performance framework » 2023-11-28 18:16:09

ab wrote:

I suspect next official round 23 will be next Summer...

I thought that it'll run like couple times a week or something.

But in any case. Follow mORMot progress in this eagerly.

-Tee-

#10 Re: mORMot 2 » Great performance framework » 2023-11-28 15:19:35

ab wrote:

We made a lot of tuning after participating to the TFB challenge.
https://www.techempower.com/benchmarks/ … =composite
We finished #12 so it is pretty good.

OT but...

Is TFB challenge is over or mORMot is not participating anymore?

-Tee-

#11 Delphi » Couple of nasty bugs in D12 compiler » 2023-11-27 04:48:32

TPrami
Replies: 0

Couple of nasty bugs in D12 compiler. Please vote:

https://quality.embarcadero.com/browse/RSP-43274
https://quality.embarcadero.com/browse/RSP-43418

(if previously discussed in here, don't read the message ? )

-Tee-

#13 Low level and performance » An interesting read on implementing some data structures » 2023-10-03 06:17:01

TPrami
Replies: 0

Yellow,

Never pondered what happen when memory gets fragmented. Bit hard to test maybe. But if there would be easy way, could give good info of performance when environment is in challenging state.

https://johnnysswlab.com/faster-hash-ma … ification/

-Tee-

#14 Re: mORMot 1 » ZSTD support » 2023-09-13 06:05:58

Also found this:

https://github.com/DenisAnisimov/ZSTD.pas

There is also LZ4 implementation.

Have no idea of the quality tough.

Both are interesting compression algorithms for sure.

#16 Re: mORMot 1 » High-performance frameworks » 2023-01-03 08:02:57

ab wrote:

$215/month * 2 it is a lot of money just for testing wink

Let me check my Lottery ticket.... Wait a sec...

Nope, can't sponsor right now...

-Tee-

#17 Re: mORMot 1 » High-performance frameworks » 2023-01-02 08:52:04

Depending on how that cloud works, that would be quite cheap way to get tested on high end machine.

IOPS one has pretty impressive stats.
i1-180    180 GB    32    50 GB SSD    4 x 1.9 TB    8 Gbps guaranteed    4 Gbps max.    $1.96 /hour

If could remotely start, update things, and run, get results and show down the machine.

Beast would be if there could be pre paid credit, put like 200€ and if the server would stop working after it is used, then it would be safe, if some mishap.

Bet there is some cloud operator who has some testing frendly plan. Which would prevent ridiculously expensive mishaps if something keeps on running there, even one things it is shut down.

-Tee-

#18 Re: mORMot 1 » High-performance frameworks » 2022-08-30 04:05:17

ab wrote:

And from my tests, libdeflate at level 1 (what we use for HTTP) is faster than brotli.
I will include the latest libdeflate 1.13 statics in the next days, which made level 1 even faster than before.

This AWS blog article is not very accurate.
They just missed the fastest zlib library around, which is libdeflate. Much faster than cloudflare fork, because it is a full rewrite.

Slightly off topic but made qp fro delphi for the ZLib implementation, if someone cares, please vote and give more info: https://quality.embarcadero.com/browse/RSP-38978

-Tee-

#19 Re: mORMot 1 » High-performance frameworks » 2022-08-23 04:48:37

IF ZLib is used, happened to stumble upon this:

https://aws.amazon.com/blogs/opensource … lib-forks/

Quite a bit faster forks of ZLIb, some not API compatible, and some only for in memory operations, but anyhow. check those out.

-Tee-

#20 Re: PDF Engine » htm2pdf free tool release » 2022-05-27 05:48:38

Is code/tool still available somewhere?

All links seem to point something obsolete.

-tee-

#21 Re: mORMot 1 » "chunked/stream" compression with SynLZCompress1() (etc) » 2022-02-19 18:11:13

OK,

I could do somethiong like that.

if code is something like that

whilke Data do
  Compress(GetFewBytesOfData);

make the Compress() keep cache internally which is flushed at end and when buffer gets full.

I take a look at the file compression routine.

Thanks man.

-Tee-

#22 mORMot 1 » "chunked/stream" compression with SynLZCompress1() (etc) » 2022-02-18 14:29:43

TPrami
Replies: 2

Yo!

Did not find with quick search (or did not understand what I saw).

So would it possible to use SynLZCompress1() to compress data in lets say 10kb chunks instead of whole data at once.

I have use case where I would like to avoid to have single large piece of the data in  memory all at once (op there is possibility of that).

To be clear I mean that I would like to get same result with chunks than as I would if I had all the data in one large buffer. So the data would be fed in same pipeline but not in one go. (So not just small individual pieces of compressed data, but same binary data as if I would compress in one go, hope someone will understand this smile )

-Tee-

#24 Re: mORMot 1 » [Slightly Offtopic] Preliminary query of company to implement server » 2020-11-18 09:10:28

Basically I do not care who takes the project when/if it comes alive smile

I just posted here if some company would reach back to me for it. Would be very pleased if it based off of mORMot.

Just offering (preminilary) business opportunity, to mORMot community.

Hope this makes it bit more clear.

Also trying to point out if this project goes live, I would try to influence that as much of it as possible is released as Open Source so community can benefit, if something along those lines is developed.

-Tee-

#25 mORMot 1 » [Slightly Offtopic] Preliminary query of company to implement server » 2020-11-18 06:13:20

TPrami
Replies: 4

Hello,

First of all, Sorry that I can't give much details on this.

One Finnish nonprofit organization is starting project that would need an server. As far as I can tell (so far), server would be pretty trivial. It'll would be for Android and iOS client.  Would be Windows or linux server, not sure yet.

If everything goes as I would like it to, if needed to develop libraries or mORMot, all paid work, would be released as open source, but not the final product.

I would need some very rough price per some unit (which your company uses).

And even better if you can make single source Android and iOS app even better, only difficult on these apps is that it should be able to take photos and have some ML/AI thingy that tries to detect object. (Objects are similar, but might be different shape or color, should give some probability of detection ) smile

Feel free to ask, not sure can I give specific answer tough sad

Sorry for quick and dirty post.

-Tee-

#26 Delphi » Test your product with UTF-8 beta setting » 2020-03-19 06:10:21

TPrami
Replies: 0

Problem very poorly explained at : https://quality.embarcadero.com/browse/RSP-21814

Please vote for it.



Now we have seen many cases of this that customers have bought new computer and this setting has been on as default. And then at least our software stops working.



Hope that you'll test this in on your own environments and products. and report your findings on that Ticket. I'll try to get on this also day, and report more exact findings.



-Tee-

#27 Re: mORMot 1 » Revision 2.x of the framework » 2020-03-12 11:28:11

ab wrote:

I am preparing the new repository, and start naming things and folders.
Check https://github.com/synopse/mORMot2

We propose to switch to dotted named units, e.g. mormot.core.json.pas

WOOOHOO!!!!

#28 Re: mORMot 1 » Revision 2.x of the framework » 2020-03-12 09:42:58

mpv wrote:

Nice!
BTW size of SynCommons is not a problem for Lazarus, only for Delphi.

Size of problem for Programmers mainy, easy to start new project, couple of units in uses and that's it. But pain to go through, be SyCommons have lot of stuff most of users have not even seen smile

I would prefer unit scopes/namespaces but that would mean dropping quite many delphi versions (dotted filenames) mORMot.JSON.Utils /mORMot.UF8.Utils ... (or similar)

For older delphi versions  there would always be 1.18, so not the worst thing to drop all but pretty much patest delphi versions.

-Tee-

#30 Low level and performance » What or are benefits of using Daniel Lemire's method for Dicti » 2020-02-17 12:51:12

TPrami
Replies: 2

Has it been measured yet? Memory usage/Speed etc? Is there clear measurable menefit?

-Tee-

#31 Re: Delphi » With haters unite » 2020-02-06 11:16:59

Sorry, posted wrong link like 4 times sad

-tee-

#32 Delphi » With haters unite » 2020-02-06 07:43:14

TPrami
Replies: 1

With haters unite, please vote for this :

https://quality.embarcadero.com/browse/RSP-18953

Compiler (etc) assisted with removal Refactoring tool would be super cool.

Sometimes so error prone to remove by hand, especially nested withs.

(oops wrong link at start)

#33 Re: Language » Does anyone know how to update value of Interface property with RTTI » 2020-01-16 08:22:40

That was the case, which is kind of bummer.

Went with invoking the Setter-method to update the value. Need to add

  {$RTTI EXPLICIT
    METHODS([vcPublic, vcPublished, vcProtected])
    PROPERTIES([vcPublic, vcPublished, vcProtected])
  }

and use this code to kick Setter:

class procedure TInterfaceMethodInvoker.InvokeMethod<T>(const AIntf: IInterface; const AMathodName: string; const AValue: T);
var
  LObj: TObject;
  LRttiContext: TRttiContext;
  LRttiType: TRttiType;
  LRttiMethod: TRttiMethod;
  LValue: TValue;
begin
  LObj := AIntf as TObject;
  LRttiContext := TRttiContext.Create;
  try
    LRttiType := LRttiContext.GetType(LObj.ClassInfo);
    LRttiMethod := LRttiType.GetMethod(AMathodName);
    LValue := TValue.From<T>(AValue);
    LRttiMethod.Invoke(LObj, [LValue])
  finally
    LRttiContext.Free;
  end;
end;

#34 Language » Does anyone know how to update value of Interface property with RTTI » 2020-01-10 05:59:53

TPrami
Replies: 2

I've got few interfaces I need to update, they are not inherited from common ancestor (Would have been too easy). They have properties with same name, and datatype.

So to save tons of repeating code I could use RTTI to update the properties by name. Sadly did not find any good example on RTTI and Interface properties.

If someone has code to donate or point me into the right direction, I would be very happy camper...

-Tee-

#35 Re: mORMot 1 » Anyone up to doing some mORMot tutoring (for me)? » 2019-06-06 05:38:32

macfly wrote:

But... Which programmer likes to talk, interact socially?

- I'm just joking, guys smile

I agree with your idea of creating a repository where everyone can test, learn, and teach.

I was thinking the same, for a couple of months, then I thought there is bound to be one that is exception to the rule.

-Tee-

#36 Re: mORMot 1 » Anyone up to doing some mORMot tutoring (for me)? » 2019-06-05 06:35:08

At this stage it would be too much of an question, I could open up the repository, maybe, and then someone could check it out.

But it would not be interactive way I would I'd liked it to be. Also I think it would be fun to chat with fellow programmer from somewhere else anyways.

-Tee-

#37 mORMot 1 » Anyone up to doing some mORMot tutoring (for me)? » 2019-06-04 07:07:34

TPrami
Replies: 4

Yellow,

I'd like to do something completely different at home and I made an start with mORMot some time back, but did abandon that hobby project. Then I basically took that and started new one, but like the first time have serious doubts are my design choices OK. and mainly are they sane in perspective of mORMot.

If someone is willing to sacrifice some of their free time to chat with fellow coder and check my mORMot doodles out, would be more than happy.

I understand that most of you would not like to do it free, payments would most likely be bigger hassle than the money I could spare, for most. Not saying there would not be any kind of compensation but not as default, at least now.

Please don't bash me about this message, I've been thinking of sending this message like month or two now, so it is not easy to ask for help either big_smile

-Tee-

#38 Re: Source Code repository » Couple tweks to two unists » 2016-04-24 15:36:14

Huh, Long time no see...

But I am back.

Even the very latest will hit to that same problem. It might depend upon Delphi settings (Maybe you can get around that in Delphi side), but at least in my configuration it always fails to compile that.

With default settings latest Delphi versions does not like few of the Units without the UnitScope. Winapi.Windows is required and some other also, can't remember which ones

-Tee-

#39 mORMot 1 » Good tutorial how to make Client app with VCL or Firemonkey » 2016-01-28 07:08:21

TPrami
Replies: 0

I've mainly seen web-stuff and very trivial samples that are not too smart, like Edit1.text := LPerson.Name;. That could be done, works for sure, but seems quite labor intensive way. Totally automating would be most likely out of the question because not all Forms would show TPerson (for example) same way...

I could possibly use LiveBinding or similar...

What would be smartest ways to make GUI app (with either Delphi GUI library).

mORMot has been around some time now, there must be some solutions for it. I've just seen blog posts and so mainly on server side code and so, but not the client code that would be kind of production ready. Many cool looking web-client demos have seen tough... Tried to search document of GUI but found only couple very short paragraphs with couple images.

Asking mainly that I do not know enough of mORMot and my solution would be inferior or plain stupid. Or there would already be solutions for all I would ever need smile Found couple hints of VCL stuff some base form classes and edit and Grid... (Just did quick search on the code last night)

If there is no common library/helpers for VLC and/or FireMonkey GUI development, then we could start to design one.

-Tee-

#40 Source Code repository » Couple tweks to two unists » 2015-10-19 16:19:22

TPrami
Replies: 3

Hello,

had to add couple tweaks for D10Seattle

Synopse.inc

    {$if CompilerVersion >= 23.0}
      // Delphi XE2 has some cross-platform features
      // e.g. {$ifdef ISDELPHIXE2}VCL.Graphics{$else}Graphics{$endif}
      {$define ISDELPHIXE2}
      {$define HASVARUSTRARG}
      {$define HASUNITSCOPE} // <- XE2 should be first that has UnitScope-feature
    {$ifend}


SynLZO.pas

implementation
...
{$ifdef MSWINDOWS}
uses
  {$IFDEF HASUNITSCOPE}Winapi.Windows, {$ELSE}Winsows,{$ENDIF} SysUtils;
{$endif}

-Tee-

#41 Re: mORMot 1 » BaaS with mORMot » 2015-09-01 04:27:14

Yeah, thanks.

I've heard that you can get hosted Linux (And even Windows) for very cheap from some places. I am not sure which vendors to look for and what the price would be.

If anyone has good choices for mORMot users for server hosting, let the rest of us know. #SharingIsCaring wink

-Tee-

#42 mORMot 1 » BaaS with mORMot » 2015-08-31 10:47:16

TPrami
Replies: 3

Hello,

I was thinking that it would be kind of cool to have BaaS-support for the mORMot. To have central data storage when you can't have server of your own, and hosted dedicated or not virtual servers are Overkill or too pricey?

If there already is the way to achieve this, I am all ears smile

-Tee-

#43 Re: mORMot 1 » mORMotDebuggerVisualizer (The start) » 2015-06-16 10:30:41

Thanks...

It could be easily Extended to cover more types of the mORMot uses. But even this was very helpful

-Tee-

#44 mORMot 1 » mORMotDebuggerVisualizer (The start) » 2015-06-16 08:10:58

TPrami
Replies: 3

https://www.dropbox.com/s/w3cw04t48473g … er.7z?dl=0

Feel free to use and/or append to Lib and extend if needed.

It'll visualize
  - TTimeLog
  - TModTime
  - TCreateTime

C++ support is nto there (Just code structure to write the Support later)

Helped me to track some bugs in my project

-Tee-

#45 Re: mORMot 1 » Slides introducing mORMot's architecture and design principles » 2015-06-03 04:38:02

Not a Free one... Here at work they use Citrix, which have subscription  based model.

Here is some reviews : http://www.elegantthemes.com/blog/resou … nd-the-web

Sadly many you have to pay something like $80 month subscription, don't know if they have some other price for single use.

IndieGoGo (etc) and have those webinars when people pay, I am willing to pay for sure. Who is with me wink

-Tee-

#46 Re: mORMot 1 » Slides introducing mORMot's architecture and design principles » 2015-06-02 04:57:37

This Video/Webinar is very important because of the Process.

Making small program and preferably enhance it in series of webinars. To further see the process.

It is like going into Paris and into the Louvre, look all the paintings, but it would be much more interesting to see how Leonardo Da Vinci actually painted the Mona Lisa.

It could be similar to FishFacts, and add some features to show off all the Good features of mORMot. And to actually show whole process from DataBase to the component on the screen.

Like I told in my post, because of mORMot flexibility and set of features, you can also easily make App that has worst possible structure smile

-Tee-

#47 Re: mORMot 1 » Slides introducing mORMot's architecture and design principles » 2015-06-01 09:59:00

(and I know it is not trivial task to make such video or keep webinar of it, but I know it would open the mORMot up for many people way better than few static demos)

#48 Re: mORMot 1 » Slides introducing mORMot's architecture and design principles » 2015-06-01 09:50:58

Hello,

I've been pondering that would be very helpful that someone would make "full" mORMot app on Youtube. Like Fisfacts with couple more features to show how app should be build from scratch.

IF you look at plain Demo it pnly shows the result but not the process. And YouTube-video could also tell what and why.

Or it could be series of videos how to add feature X.

But anyhow it would  far superior to just to have demo app and the result code.

Later could have WEB interface or Mobile etc.

I think best would be feature by feature Work in progress type of Webinar/Video to see best practices and would also see what kind of work it would be from day to day.

I started one hobby project and did some code for it, but then it hit me that I am not sure at all am I doing this in best possible mORMot way.

Video to go something like

1. Define some basics and units and so
2. Add some basic structure/Tables
3. Add some Data validity stuff Foreign keys
4. Add authentication
5. Add Feature X
6. Add feature Y

Hope this random rambling gives the idea what I would love to see. It could more than less show all bells and whistles of mORMot in one (set of) video(s). Maybe not all, but on app that would have Clitn, server an DB and authentication could be later.

-Tee-

#49 Re: Delphi » Firebird API project » 2015-03-18 10:28:08

Thanks for the info.

I think I go for SQLite then...

Any good DB-admin tool (free for non commercial) for SQLite? (Windows)

-Tee-

#50 Re: Delphi » Firebird API project » 2015-03-18 05:50:45

OK,

I've am just familiar with FireBird and been using it, I like it in a way. I know it is not the fastest out there, but it is very simple to install and start using. FB3.x should be faster, but how much, time will tell. I see FireBird important also because of lot of Delphi code base have been using FB and InterBase for long time and changing the DB server is quite big decision.

For my this particular (hobby) project I am working on any OpenSource and Free DB Server is OK.

Which OpenSource database servers are supported without external libraries?

Main reason not to use Zeos for me that I try to limit the amount of external libraries to bare minimum.

-Tee-

Board footer

Powered by FluxBB