Author

Topic: language of choice for a secure orderbook ? (Read 1963 times)

hero member
Activity: 686
Merit: 504
always the student, never the master.
February 05, 2014, 06:00:02 AM
#14
Language won't make much difference. The bottle neck will be at the database.  Depending if your models are just DTOs, or you add business logic in there or get SQL to aggregate on the fly or persisting aggregated values in SQL.

As your grow, you can improve performance by horizontal partitions, or using OLAP cubes to pre aggregate.  Use a cloud provider and just scale when required.  Hosting is cheap, developers are not.

The online retailer i worked for where doing about 4million rows a month in the order items table, without too much pain.

hmm interesting perspective, and i agree the bottle neck will always be the db, though i certainly don't have the experience to be making to many statements in this thread.

for the record, i'm using php compiled with hhvm executed from a shell script. pretty damn fast. takes a second to bitbash the trade table, then about 3 seconds to query all the wallets and check for new deposits.
hero member
Activity: 765
Merit: 503
February 05, 2014, 05:54:04 AM
#13
Language won't make much difference. The bottle neck will be at the database.  Depending if your models are just DTOs, or you add business logic in there or get SQL to aggregate on the fly or persisting aggregated values in SQL.

As your grow, you can improve performance by horizontal partitions, or using OLAP cubes to pre aggregate.  Use a cloud provider and just scale when required.  Hosting is cheap, developers are not.

The online retailer i worked for where doing about 4million rows a month in the order items table, without too much pain.
hero member
Activity: 518
Merit: 500
February 04, 2014, 11:51:32 PM
#12
This is so very much the wrong way to ask the question. Figure out what your orderbook design will be, and how you will make it consistent at scale. Your strategy for that will determine what databases or locking frameworks you intend to use, and then look at which languages integrate best with that infrastructure.

This is the engineer's answer.

Yeah, Gox have still got a dead slow trading engine, and they gone the full business cycle from roaring success to near collapse. Well done Gox!!
sr. member
Activity: 378
Merit: 255
February 04, 2014, 11:42:20 PM
#11
This is so very much the wrong way to ask the question. Figure out what your orderbook design will be, and how you will make it consistent at scale. Your strategy for that will determine what databases or locking frameworks you intend to use, and then look at which languages integrate best with that infrastructure.

This is the engineer's answer.
legendary
Activity: 905
Merit: 1011
February 03, 2014, 03:19:32 AM
#10
This is so very much the wrong way to ask the question. Figure out what your orderbook design will be, and how you will make it consistent at scale. Your strategy for that will determine what databases or locking frameworks you intend to use, and then look at which languages integrate best with that infrastructure.
hero member
Activity: 518
Merit: 500
February 02, 2014, 11:26:37 PM
#9
I also prefer java for some reason. The only reason, I would consider C++, would be operator overloading (I know: dangerous). But those BigDecimal statements just look ugly. Maybe Scala or some jvm language as a compromise?


What's dangerous about operator overloading???
legendary
Activity: 965
Merit: 1000
February 02, 2014, 11:43:56 AM
#8
I also prefer java for some reason. The only reason, I would consider C++, would be operator overloading (I know: dangerous). But those BigDecimal statements just look ugly. Maybe Scala or some jvm language as a compromise?
hero member
Activity: 518
Merit: 500
February 01, 2014, 11:34:00 PM
#7
Why not assembler? - that's well faster than even the best C++ compiler if properly written. It would just take 10 years to write  Cheesy
member
Activity: 70
Merit: 10
February 01, 2014, 11:48:31 AM
#6
I hear good things about Plankalkül these days. Its a bit old, but it has excellent support for electric vacuum tubes.

More serious answer: if you can't answer that question its a long road ahead. Essentially there are only 8-10 languages which cover 99% of the market. and for ultra high performance there are 4-5 choices: C, C++, Erlang, Skala, golang + maybe Java, C#.
newbie
Activity: 2
Merit: 0
February 01, 2014, 05:59:09 AM
#5
If you are talking security, the language is relatively unimportant. Its whether you understand the security risks and guard against them. You can achieve this in several languages. For a speedy trading engine, certainly C.

Best bet is to get some implementation. Most services fail due to lack of traction, not failure to scale.

I concur.. C would be my choice as well..  Wink
sr. member
Activity: 378
Merit: 255
January 31, 2014, 11:54:17 PM
#4
If you are talking security, the language is relatively unimportant. Its whether you understand the security risks and guard against them. You can achieve this in several languages. For a speedy trading engine, certainly C.

Best bet is to get some implementation. Most services fail due to lack of traction, not failure to scale.
hero member
Activity: 518
Merit: 500
January 31, 2014, 11:15:46 PM
#3
If you are talking security, the language is relatively unimportant. Its whether you understand the security risks and guard against them. You can achieve this in several languages. For a speedy trading engine, certainly C.
legendary
Activity: 2058
Merit: 1431
January 31, 2014, 11:05:47 PM
#2
PHP compiled for the front-end
python would be a better choice.
newbie
Activity: 14
Merit: 0
January 31, 2014, 10:26:27 PM
#1
what would be the language of choice to create a secure and relatively high volume orderbook used on an exchange ?
thanks !
Jump to: