컴파일러 개선사항

Win64의 C++ 수학 관련 성능 향상

많은 수의 C++ 수학 함수가 새롭게 구현되었습니다. 수학 성능이 이전 버전에 비해 평균적으로 약 2배로 향상되었습니다.

 

C++ 코드 완성 개선

C++ Win32용 코드완성은 업데이트된 Clang 확장 컴파일러를 사용해 이전의 코드 완성보더 더 빠르고 저 좋은 결과를 제공합니다. 
코드 완성은 비동기로 진행됩니다. 코드 작성 중 중단없이 계속 입력할 수 있습니다.
LSP(Language Server Protocol)와 CQuery 기술이 사용됩니다.
 

C++ 오류 인사이트 지원

C++ 에서도 오류 인사이트(오류가 발생한 코드 아래 빨간색 밑줄이 표시되어 편집기 상에서 코드의 문제를 미리 볼 수 있는 기능)를 지원합니다.

(Win32용 Clang 컴파일러를 사용하는 경우 사용할 수 있습니다.)

 

C++ 디버깅 최적화 빌드

10.3 이전에는 디버그 정보를 활성화 하면 컴파일러 최적화가 비활성화 되었습니다. 업데이트된 Win32 컴파일러에서 이제 최적화된 빌드를 디버깅할 수 있게 되었습니다.

 

RTL 개선사항

데이터 컬렉션(Data Structure) 증가 정책 변경

여러가지 데이터 컬렉션(TStringList, TList, TList<T>, TQueue<T>, TSTack<T>)는 데이터가 가득차 확장이 필요하면 이전보다 2배의 크기로 크기를 증가했습니다. 이제 좀 더 유연하게 성장하도록 증가 정책이 변경되었습니다.

 

새로운 증가 정책은 공유 전역 함수(System.pas, GrowCollection)에 구현되며, SetGrowCollectionFunc 함수를 통해 사용자 정의 할 수 있습니다.

 

TStringBuilder 변경

성능 향상을 위해 일부 변경되었습니다. 메모리 증가 정책과 유사한 변경 및 중복 코드 제거 등의 전반적인 정리등을 진행했습니다.

TStringBuilder 열거형이 최적화 되었습니다.

 

JSON 개선

정확성과 성능을 위해 JSON  처리 및 분석 향상이 크게 진행됐습니다.

 

기타 RTL 변경

10.3 이전에는 디버그 정보를 활성화 하면 컴파일러 최적화가 비활성화 되었습니다. 업데이트된 Win32 컴파일러에서 이제 최적화된 빌드를 디버깅

 

앱 테더링 긴 문자열 전송

앱테더링에 사용되는 TTetheringAppProfile 클래스의 SendString / AsString 작업의 현재 1,400문자 길이에 제한되어 있었습니다. 10.3 에서는 다음 변경 사항 및 추가 기능을 통해 호환성을 유지하며 긴 문자열 처리가 가능하게 되었습니다.

  • 새로 추가된 TTetheringAppProfile의 SendLongString 메소드는 문자열과 스트림을 사용
  • TResourceValue.AsString은 받은 스트림에서 문자열을 반환합니다. 만약 없다면 반은 문자열 값을 반환합니다. 이는 일반 문자열과 긴 문자열에 대한 대응입니다.

문자열 길이가 1.3 KB보다 작은 경우 TTetheringAppProfile.SendString을 사용하고, 더 길다면 TTetheringAppProfile.SendLongString을 사용하기 바랍니다.

 

TMemIniFile 최적화

RAD 스튜디오 10.3 리오는 TMemIniFile 구현이 최적화 되었습니다. TMemIniFile 읽기와 생성(constructing)이 10~25배 빨라지고 메모리 사용량도 절반으로 감소했습니다. TMemIniFile 작업도 향상되어 이전 구현에 비해 50~100 고속화 되었습니다.

 

또한 10.3에서는 다음 두가지 오버로드 생성자가 추가되고 스트림에서 TMemIniFile을 가져올 수 있습니다.

  • TMemIniFile.Create(Stream)
  • TMemIniFile.Create(Stream, UseLocale)

데이터, REST, Cloud 개선사항

FireDAC 드라이버 업데이트

  • MySQL v 8.0 지원
  • MariaDB 10.3 지원
  • SQL Server 2017 지원
  • PostgreSQL v10 지원, 다음 포함
    • identify columns
    • Macaddr8
    • Password encryption
    • 새로운 연결 속성: GUIDEndian=Little|Big
  • Firebird v3.0 지원, 다음 포함
    • local connection protocol
    • FB$OUT package
    • isc_database_info() information items
    • Statistics feature in gbak output
    • statement length > 64kb 지원
    • 새로운 TFDFBOnlineValidate 컴포넌트
    • 새로운 연결 속성: GUIDEndian=Little|Big
  • MongoDB 개선
    • 새로운 연결 속성: TimeZone=Local|UTC
  • InterBase v 2017 지원, 다음 포함
    • TRUNCATE command
    • Change View에서 TRUNCATE 지원
    • Transaction wait time
    • 새로운 연결 속성: GUIDEndian=Little|Big
  • SQLite 3.23.1 지원, 다음 포함
    • 리눅스 플랫폼 지원 향상 - Encryption, Collation 지원
  • SQL Anywhere 개선
    • 새로운 TFDPhysASADriverLink.ToolHome 속성 
    • TFDEventAlerter 지원 추가

기타 FireDAC 변경

  • TFDBatchMoveJSONWriter 추가
  • TFDBatchMove와 관련 컴포넌트 최적화

 

데이터베이스 개선사항

  • 새로운 TClientDataSet.IncludeBlobsInDelta 속성

 

DataSnap 개선사항

  • 새로운 TDSRestConnection.SecureProtocols 속성
  • DataSnap REST에서 이제 명시적으로 "Content-Type=application/json" 지정 가능

 

REST 개선사항

  • MIME 타입 판별 향상
  • Indy가 THTTPClient로 대체
  • 윈도우 플랫폼의 THTTPClient 최적화
  • 다수의 추가, 개선된 속성 및 이벤트

Cloud 개선사항

  • Azure 저장소 에뮬레이터 지원 향상
  • 최근 추가된 AWS S3 지역(Region) 지원
  • Clund 지원의 일반 성능 향상
  • TAmazonConnectionInfo.Region 속성 추가됨
  • 대부분의 버킷/오브젝트 관련된 TAmazonStorageService 메소드에 "BucketRegion: TAmazonRegion = amzrNotSpecified" 파라메터 추가됨

 

 

 

 

 

10.3 리오의 업데이트 버전들

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 14390
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13023
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 15532
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 21064
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 22297
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 17933
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 38228
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 173741
1322 [DelphiCon 요약] 델파이 코드 빠르게 작성하기 (Code Faster in Delphi) 관리자 2020.12.22 607
1321 [업데이트 서브스크립션 무료 솔루션] TWINECOMPILE – C++ 컴파일 속도를 현격하게 줄여줍니다! [1] 관리자 2020.12.18 482
1320 델파이 윈도우 앱 샘플 – BLOB 스트림을 내/외부에서 쉽게 사용하기 관리자 2020.12.15 359
1319 델파이 웹 개발: TMS WEB CORE VS. UNIGUI VS. INTRAWEB 관리자 2020.12.10 1029
1318 1PASSWORD: 델파이로 개발된 BEST 패스워드 관리 프로그램 관리자 2020.12.07 849
1317 [UX Summit 요약] 감지와 응답: 지속적 파악을 통한 실제 결과를 더 좋게 하기 (Sense & Respond: Continuously Learning Our Way to Better Outcomes) 관리자 2020.12.02 421
1316 개발. 공유. 영감. – 엠바카데로 총괄 매니저가 전하는 메세지 (2020.11) 관리자 2020.12.01 334
1315 [10.4.1 패치] 애플(APPLE) 플랫폼 지원 관리자 2020.11.30 453
1314 [델파이 게임 개발] 겟잇(GETIT)에서 ALIEN INVASION 다운로드 받기 관리자 2020.11.30 394
1313 이 달의 기술자료 - 2020년 12월 험프리 2020.11.26 361
1312 RAD스튜디오 2020 로드맵 – 자세한 내용을 확인해보세요! (PM들의 코멘터리) 관리자 2020.11.19 521
1311 [DelphiFeeds.com 리뉴얼] 새롭게, 델파이 개발자들에게 매우 유용한 뉴스 피드를 모아서 제공합니다. 관리자 2020.11.19 335
1310 RAD스튜디오 로드맵 (2020.11) 관리자 2020.11.18 388
1309 델파이 개발자용 웹 개발 기술들 비교 및 평가 (Evaluating Web Development Frameworks for Delph) file 관리자 2020.11.17 497
1308 [UX Summit 요약] 애플리케이션을 개발할 때 데스크톱부터 개발해야 하는 이유 (Why Desktop First to Develop an Application) 관리자 2020.11.17 336
1307 [10.4.1 패치] 델파이 컴파일러와 LSP 업데이트 관리자 2020.11.11 722
1306 [UX Summit 요약] 터치스크린 POS 화면 디자인 하기 (Point of Sale Screen Concept) 관리자 2020.11.11 366
1305 [UX Summit 요약] 멀티플랫폼 앱에 가장 효과적인 UX 디자인 (Effective UX Design for Multiplatform Apps) 관리자 2020.11.10 312
1304 단 한 줄의 코드로 완성하는 C++ CUSTOMER/SALES 애플리케이션 관리자 2020.11.09 398