|
|
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Меня заинтересовало, а на сколько быстрее Delphi массивы по сравнению с PHP массивами. Я долго думать не стал, и запилил тест... Оказывается, Delphi не быстрее , он медленнее в плане массивов... Я поставил простые задачи(С права на снимке), и решил их с помощью стандартных средств Delphi и с помощью PHP. Исходник проекта (Есть скомпилированный BUILD. VS 2017 redistributable) https://cloud.mail.ru/public/4Bgr/GtGHhBuZ5 Исходник PHP 7.4.5 (52 мб) (Для компиляции НЕ нужна VS) (Портативный компилятор VS в комплекте) https://cloud.mail.ru/public/31FY/4BWG5PjUs Важные файлы там по пути \7.4.5\src\mytest\(EnigneFunction.c\EnigneFunction.h) Подключение на стороне Delphi файлик PHPRunner\Engine.pas Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. Код теста Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. Я выбрал TDictionary так как он подходит как аналог - лучше всего. Можно менять как тип ключа, так и значения. Что аналогично PHP Примеры очень простые, тут даже нету realloca (Я думаю результаты будут ещё хуже у Delphi. Но можно проверить если будет интересно, убрав выделения 1000000) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:30 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Массивы и TDictionary... Какая связь? Никакой. Ну как всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:37 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, А тут идёт тестирование хэш таблиц, которые могут принимать в качестве ключа ещё и строковой тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:37 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, И причем тут массивы? Правильно - не при чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:40 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, Когда я вижу реализацию Arr[i] = i; & Arr[i] = Arr[i] * Arr[i]; через TDictionary меня пробивает на ржач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:44 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, Это всего лишь тест. Как бы для тебя он смешным не был, но извлечение из TDictionary тебе не избежать И как раз, мы извлекаем значение, изменяем его, и шлём назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:46 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, Ничего что реально через реальные массивы все будет работать раз в n-дцать быстрей? Ну протестируй еще умножение двух чисел через передачу их в виде файлов на фтп и тоже обзови тестом массивов. Это же просто тест. (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:49 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, Но тест ведь объективный ? По сравнению с PHP. Разве нет? Извлечение по индексу идёт функцией Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. В PHP же Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. И это всё равно быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:54 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, Ну реальные массивы к сожалению не поддерживают Arr[STRING] = STRING по этому, реальные массивы не будут работать быстрее уже. Потому что тебе придётся использовать TDictionary ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:55 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Хочешь сравнить работу конкретных реализаций словарей - на здоровье. Но не надо сравнивать теплое с мягким. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 02:58 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, Массивы для всех разные. К примеру для тебя массивы это классический array для кого - то TDictionary Это ведь массив в любом случае, хоть коллекционный https://swiftbook.ru/content/languageguide/collection-types/ swiftbookSwift обеспечивает три основных типа коллекций - это Массивы, Множества и Словари для хранения коллекций значений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 03:00 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 0.929075 0.004351 Но ты можешь продолжать работать через словари. На здоровье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 03:06 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, Скачал твоё поделие, попробовал.. Эм... А разница в чём? У меня не в чём ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 03:11 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Ты бы "мою" функцию ради приличий хотя бы вызвал, что-ли. ;) И работай через .items - так еще на порядок скорость поднимешь ибо не будет проперти дергать зазря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 03:14 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, Да, извини... Видно я откат нажал, и не заметил.. А всё равно в качестве ключа нельзя использовать string Код: pascal 1. Тогда это ничем не отличается от (кроме некоторых плюшек маловажных) Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 03:22 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, Убрал Я инициализацию количество элементов, включая и в твоём примере Всё таки можно удивится! На сколько быстрыми сделали хэш таблицы в PHP Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. rgreat 0.180867 против 0.199431 от php Чистая индексация даёт о себе знать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 03:39 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Надо учесть тот факт, что добавление идёт через такую функцию Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. И возможно, на чистом c\c++ было бы быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 03:52 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный rgreat 0.180867 против 0.199431 от php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 04:21 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat, Я его не испортил. Я его привёл в рабочий вид. Именно так его и будут использовать - если будут. :D Я же говорю, в твоём коде нет смысла, когда есть Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 04:40 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный TDictionary это не массив ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 09:43 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, авторНо тест ведь объективный ? По сравнению с PHP. Разве нет? Когда вы говорите такое чувство что вы бредите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 11:58 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
makhaon Когда вы говорите такое чувство что вы бредите Нет, это увы - вы бредете. 1) Устанавливаем значение в индекс 2) Изымаем (Просто для примера Понимаете? Вам не избежать изъятия по индексу) 2) Просто для примера умножаем и кладёт обратно. И это проворачиваем на zend array и delphi. По этому он объективный. X11, Да вот тут ссылку скидывали https://habr.com/ru/post/282902/ MrShoorИтак мы подготовили массив из скажем 10 bucket-ов. Ой.. Везде там коллекция упоминается как массив. Каак же так)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 15:35 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
rgreat Массивы и TDictionary... Какая связь? Словарь - это частный случай ассоциативного массива. з.ы. Не спорь с Няшиком. Чувак берет сишную библиотеку с реализацией ассоциативного массива и на серьёзных щщах говорит, что это PHP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 15:44 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Няшик, а почему ты в функцию P(), ожидающую последовательность байт в UTF-8, передаешь последовательность в UTF-16? Подозреваю, что такие последовательности будут интерпретированы, как однобайтовые ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 16:02 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey щщах говорит, что это PHP. ВсеРазумный php zend array ВсеРазумный zend array В любом случае это PHP массивы которые используются в интерпретаторе. Но я нигде не говорил что это чисты PHP интерпретатор. ВсеРазумный Разумеется с чистым общением ZendAPI без интерпретатора. Дабы знать на сколько поссосанная система в Delphi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 16:02 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Няшик, а почему ты в функцию P(), ожидающую последовательность байт в UTF-8, передаешь последовательность в UTF-16? Подозреваю, что такие последовательности будут интерпретированы, как однобайтовые Не Няшик. Всё верно понимаете, именно так и работает правильно. Так как строки там все array of byte в сях, костыль такой Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Ещё по этому, работает только так. Конвертация PAnsiChar в UTF8String что бы юникод отображался верно. Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 16:04 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Всё верно понимаете, именно так и работает правильно. Так как строки там все array of byte в сях, костыль такой Тогда давай результаты с преобразованием, а то у тебя все ключи получились односимвольными. Либо, если нет преобразований, делай тест контролирующий правильность заполнения массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 16:09 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Вот она заветная. Все строки - линейный массив. Именно так и получаем, и отдаём. Иначе будут кракозябры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 16:13 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey делай тест контролирующий правильность заполнения массива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 16:14 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Код: pascal 1. Код: pascal 1. Отправляем на выполнение строку с юникодом, и говорим что бы он вывел в буфер через echo И буфер пишется в memo снизу под кодом выполнения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 16:19 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Няшик, ты тень на плетень не наводи. Давай тест контролирующий корректность заполнения массива строковыми значениями по строковым ключам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 17:27 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Он приведён. Если бы было некорректно заполнено, код не выполнился. Демонстрирую 3 вариант как это выглядит с другими типами - пример некорректного типа Вызываемая функция имеет char* Код: plaintext 1. Из чего мы можем предположить, что нужен PAnsiChar Ой, мимо. Кракозябры. Возможные варианты вызова (Первый самый правильный) Ну раз не PAnsiChar то возможно PWideChar ? Опять мимо! Заработал но опять же выдал syntax error Код: pascal 1. Ну и третий вариант объявить UTF8String и не парится. Всё работает 100% правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 17:45 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Просто офигенный пример корректной работы и правильного типа Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 17:51 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумныйпример корректной работы Вообще-то это называется "дуракам везёт", что у UTF8String совпадают адреса класса и внутреннего буфера. А ведь в приведении UTF8String к PUTF8Char могло быть и чуть-чуть больше compiler magic... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 17:56 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Там копирование идёт, что ты думал, ZendAPI даёт управлять память кому попало? Тыы смеешШшшНООоой)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 18:00 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov к PUTF8Char могло быть и чуть-чуть больше compiler magic... Код: pascal 1. ГенеААльно. Вообще даёт компилировать просто без приведений, но класс всё равно не находит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 18:01 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, Няшик, твои пляски с EvalCode мимо кассы. EvalСode у тебя принимает параметры конкретного типа - Utf8String. Когда ты туда отдаёшь строку, дельфя её конвертирует и сишная dll получает сырой указатель на правильную последовательность. В случае с вызовом P() всё совсем по-другому - указатели отдаются на последовательность UTF-16 (а dll думает, что ей дают UTF-8), поэтому такая последовательность будет восприниматься, как односимвольная. В результате, в твоём массиве всего одна пара ключ-значение. Поэтому говорю ещё раз: делай тест корректности заполнения массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 18:09 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Всё корректно работает. Код: pascal 1. Тот же самый UTF8String void *RegPHPClass(const char *ClassName) Эта та же самая хэш таблица zend array она не даст соврать Если сделать PUTF8Char как сказал мудрец Dimitry Sibiryakov Fatal error: Uncaught Error: Class 'Test✔ClassНаРусском' not found in Test Runner:2 Stack trace: #0 {main} thrown in Test Runner on line 2 Обрати внимания, что он даже линию показал правильно. Что свидетельствует о верной передачи текста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 18:25 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
В принципе все исходники в шапке. Никому не проблема скачать и всё перепробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 18:27 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Не Няшик Я. Всё что НЕ UTF8String Не работает. Вы понимаете ??? Корректно - ничего. Не имеет смысла что - то менять и искать, если корректно работает UTF8String ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 18:42 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Ну вот, строки UTF8 а значит UTF8String это верное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 18:49 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Не Няшик Я Нам-то не гони! (с). ВсеРазумный Всё что НЕ UTF8String Не работает. Вы понимаете ??? Корректно - ничего. Не имеет смысла что - то менять и искать, если корректно работает UTF8String Ты вообще не понимаешь о чём я написал уже несколько раз? У тебя нет преобразований строк в UTF-8 при вызове P(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 18:59 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Си функции в принципе не могут принимать дельфиские строки. Никакие. Любая работа, выглядящая корректно - не более чем результат удачного совпадения и тщательно разложенные грабли на будущее. Только указатели: PAnsiChar, PUtf8Char, PWideChar. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:00 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, В dll и отдаётся указатель на первый символ строки т.ч. с этим тут проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:06 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey У тебя нет преобразований строк в UTF-8 при вызове P(). Это и так было понятно КЭЭП по этому и используется UTF8String что бы строки изначально были UTF8String и автоматически string конвертировался в UTF8String без ручного процесса Если присвоить string к UTF8String то произойдёт вызов _LStrFromPWCharLen автоматической конвертации. Ты думал это дубой Си???? Где ты руками все типы манипулируешь. Ага.. Щасз Dimitry Sibiryakov Си функции в принципе не могут принимать дельфиские строки. Никакие. Любая работа, выглядящая корректно - не более чем результат удачного совпадения и тщательно разложенные грабли на будущее. Только указатели: PAnsiChar, PUtf8Char, PWideChar. Могут, ещё как. А как по твоему работают модельные библиотеки php_* ? Их писать можно на любом языке. Просто zend Api забирает себе строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:20 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Ой как неожиданно и приятно))) DELPHI сам с конвертировал строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:22 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Так что не имеет никакого смысла в ручную что - то вызывать, если Код: pascal 1. Он автоматически конвертирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:23 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Отвлечемся от PXxx ... PHP массивы двухрежимные, как я понял из короткого взгляда на C текст. Это смесь и TDictionary и TList. Неплохая идея, но видать со своими подводными камнями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:27 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Это и так было понятно КЭЭП по этому и используется UTF8String что бы строки изначально были UTF8String и автоматически string конвертировался в UTF8String без ручного процесса Покажи мне, где в этом коде делается преобразование строк в UTF-8: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:36 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev, Да, вы очень правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:37 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Ну Я был пьян, и не увидел. Правда это всё равно не на что не влияет особо, так как строки в Delphi на моменте компиляции такие хлюпаются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:38 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
А PNext не так работает, а вот так Код: pascal 1. Код не мой, я только разбираюсь в нём ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 19:40 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev Отвлечемся от PXxx ... PHP массивы двухрежимные, как я понял из короткого взгляда на C текст. Это смесь и TDictionary и TList. Неплохая идея, но видать со своими подводными камнями. так и есть, по сути мап с сохранением порядка реализация зависит от версии пыха ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 20:00 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, то есть, чтобы название темы соответствовало её содержанию, следовало бы назвать как-то типа: "контейнер, реализующий массив PHP в движке Zend vs контейнеры в Delphi". Вот, кстати о массивах PHP: https://www.zend.com/php-arrays ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 20:25 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
s62 "контейнер, реализующий массив PHP в движке Zend vs контейнеры в Delphi" + тестирование в состоянии изменённого сознания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 20:45 |
|
||
|
PHP Array VS Delphi Array
|
|||
|---|---|---|---|
|
#18+
s62 "контейнер, реализующий массив PHP в движке Zend vs контейнеры в Delphi". Что там bucket то там bucket. Просто реализация этих bucket разные. PHP не стыдится коллекцию такую называть - массивами, потому что это и есть ассоциативный массив Ну и в Delphi простыми словами не просто контейнер, а - ассоциативный массив ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2020, 21:07 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038339]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
192ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
90ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 571ms |

| 0 / 0 |
